مزایا و محدودیت های مدل های زبان بزرگ

تاریخ انتشار: 13 ژانویه 2024

این اولین مورد از یک سری سه قسمتی در LLM ها و ربات های چت است. قسمت 2 ساخت ربات چت با WebLLM و قسمت 3 در مورد استفاده از Prompt API در حال حاضر فعال هستند.

مدل‌های زبان بزرگ (LLM) در حال تبدیل شدن به یک بلوک ساختمانی مهم در توسعه نرم‌افزار هستند: LLM‌ها برای تولید و پردازش متن زبان طبیعی، باز کردن موارد استفاده مانند استخراج داده‌ها، خلاصه‌سازی یا تسهیل گفتگو با داده‌های کاربر مناسب هستند.

در این مجموعه، مزایا و معایب LLM های روی دستگاه را مورد بحث قرار می دهم و شما را از طریق افزودن قابلیت های چت بات به یک برنامه موجود با استفاده از دو رویکرد محلی و آفلاین، WebLLM زمان اجرا LLM مبتنی بر وب و Prompt API آزمایشی Chrome راهنمایی می کنم .

موارد استفاده بالقوه

برنامه قبل از اضافه شدن ربات چت.
برنامه لیست کارهای ما

ما یک ربات چت در بالای یک برنامه کلاسیک لیست کارها می سازیم. کد منبع برای هر مرحله در GitHub موجود است. کاربران می‌توانند کارهای جدید اضافه کنند، آن‌ها را به‌عنوان انجام شده علامت‌گذاری کنند و آن‌ها را حذف کنند.

ممکن است بخواهید یک ویژگی برای کاربران اضافه کنید تا در مورد داده های لیست کارها بیشتر بیاموزند یا عملکردهای اضافی را انجام دهند. یک ویژگی چت بات می تواند به کاربران اجازه دهد:

  • تعداد کارهای باز را جویا شوید.
  • کارهای تکراری یا بسیار مشابه را شناسایی کنید.
  • کارهایی که باید انجام دهید را به گروه‌هایی دسته‌بندی کنید.
  • توصیه هایی برای کارهای جدید بر اساس کارهای انجام شده دریافت کنید.
  • کارها را به زبان های مختلف ترجمه کنید.
  • فهرست کارها را در قالب XML صادر کنید.

اینها تنها چند نمونه از وظایفی است که LLM ها می توانند انجام دهند.

مدل های زبان بزرگ چیست؟

LLM ها شبکه های عصبی مصنوعی هستند که متن زبان طبیعی را پردازش و تولید می کنند. اکثر LLM های فعلی بر اساس معماری Transformer هستند که در Google توسعه یافته است. به عنوان مثال می توان به مدل های Gemini و Gemma گوگل، سری مدل های GPT OpenAI و مدل های منبع باز مانند LLaMa توسط Meta AI و Mistral توسط Mistral AI اشاره کرد.

LLMها به لطف آموزش آنها در مورد حجم وسیعی از داده ها، دارای طیف قابل توجهی از قابلیت ها هستند. آنها زبان های متعددی را می فهمند، دانش کمی دارند، می توانند بین زبان ها ترجمه کنند یا کد برنامه نویسی تولید کنند. میزان این قابلیت ها می تواند به طور قابل توجهی بر اساس اندازه مدل متفاوت باشد، همانطور که در Understand LLM Sizes بحث شده است.

LLM منجر به تغییر پارادایم در معماری نرم افزار می شود، زیرا زبان طبیعی اکنون به یک ویژگی اصلی در مهندسی نرم افزار تبدیل شده است. به جای فراخوانی API ها با استفاده از واسط های کاملاً تعریف شده، بیان هدف به زبان طبیعی و به اصطلاح prompt کافی است.

محدودیت های LLM

LLM ها همچنین با محدودیت های خاصی همراه هستند:

  • رفتار غیر قطعی : LLMها می‌توانند پاسخ‌های متفاوت و حتی گاهی متناقض به همان اعلان ایجاد کنند، زیرا خروجی‌های آنها به مدل‌های احتمالی بستگی دارد تا قوانین ثابت.
  • توهمات : این مدل‌ها گاهی اوقات ممکن است اطلاعات نادرست یا بی‌معنی تولید کنند و به جای دقت واقعی، بر الگوهای آموخته‌شده تکیه کنند.
  • تزریق سریع : LLM ها می توانند مستعد حملات تزریق سریع باشند، جایی که کاربران اعلان های ورودی را ایجاد می کنند که مدل را به انحراف از عملکرد مورد نظر خود یا ایجاد نتایج نامطلوب دستکاری می کند.

بنابراین، کاربران باید نتایج ایجاد شده توسط LLM ها را قبل از انجام هر گونه اقدام بعدی تأیید کنند.

هنگام برخورد با LLM های روی دستگاه، اندازه آنها باید در نظر گرفته شود. اندازه فایل آنها چندین گیگابایت است و باید قبل از اولین استفاده در دستگاه کاربر بارگیری شود. مدل‌های کوچک‌تر تمایل دارند به پاسخ‌های با کیفیت پایین‌تری دست یابند، به‌ویژه زمانی که با مدل‌های مبتنی بر ابر مقایسه می‌شوند.

راه حل های محلی را انتخاب کنید

اولین غریزه شما برای ادغام یک LLM در برنامه وب خود ممکن است استفاده از یک ارائه دهنده ابری باشد. ارائه دهندگان متعددی LLM های با کیفیت بالا را ارائه می دهند که برخی از آنها منحصر به ارائه دهندگان خاص هستند. LLM های مبتنی بر ابر سرعت استنتاج سریع را با هزینه معقول ارائه می کنند که معمولاً به ازای هر توکن پردازش شده محاسبه می شود.

در مقابل، راه حل های محلی مزایای قانع کننده ای دارند. با کارکرد مستقیم روی دستگاه کاربر، LLM های میزبانی محلی زمان پاسخگویی مطمئن تری را ارائه می دهند، حتی زمانی که کاربر آفلاین است در دسترس باقی می مانند، و توسعه دهندگان را ملزم به پرداخت هزینه اشتراک یا سایر هزینه های جاری نمی کند. قابل ذکر است، آنها می توانند ایمنی کاربر را به طور قابل توجهی افزایش دهند. با نگه داشتن تمام فعالیت ها در دستگاه، می توانید از انتقال اطلاعات شناسایی شخصی (PII) به ارائه دهندگان یا مناطق خارجی جلوگیری کنید.

دموها

قبل از اینکه یاد بگیرید چگونه خودتان آن را بسازید، می‌توانید به نسخه‌های نمایشی تمام‌شده با قابلیت‌های chatbot نگاهی بیندازید.

در مرحله بعد، از WebLLM برای افزودن یک ربات چت به برنامه فهرست کارها استفاده خواهید کرد.