تصویر توسط نویسنده
فکر میکنم میتوان گفت که سال ۲۰۲۳ سال مدلهای زبان بزرگ (LLM) است. از پذیرش گسترده ChatGPT، که بر اساس خانواده GPT-3 از LLMها ساخته شده است، تا انتشار GPT-4 با قابلیت های استدلالی پیشرفته، یک سال نقطه عطف در هوش مصنوعی مولد بوده است. و ما هر روز با انتشار برنامههای جدید در فضای NLP بیدار میشویم که از قابلیتهای ChatGPT برای رسیدگی به مشکلات جدید استفاده میکنند.
در این مقاله با این موضوع آشنا خواهیم شد بایز، یک مدل چت منبع باز به تازگی منتشر شده است.
Baize یک مدل چت منبع باز است. سرد. اما چرا مدل چت دیگری؟
خوب، در یک جلسه معمولی با یک ربات چت، شما حتی یک سوال ندارید که به دنبال پاسخ آن باشید. در عوض، شما یک سری سوالات خواهید پرسید که ربات به آنها پاسخ می دهد. این زنجیره گفتگو ادامه می یابد – تا زمانی که پاسخ های خود یا راه حل قابل قبولی برای مشکل خود دریافت کنید – در این چت چند نوبتی.
بنابراین اگر می خواهید شروع به ساخت مدل های چت خود کنید، مانند مجموعه چت چند نوبتی خیلی رایج نیست. هدف Baize تسهیل تولید چنین پیکرهای با استفاده از ChatGPT است و از آن برای تنظیم دقیق مدل LLaMA استفاده میکند. این به شما کمک می کند تا چت بات های بهتری را با کاهش زمان آموزش بسازید.
پروژه Baize توسط آزمایشگاه McAuley در UC San Diego تأمین مالی می شود و نتیجه همکاری بین محققان UC San Diego، دانشگاه Sun Yat-Sen و Microsoft Research، آسیا است.
Baize از نام موجود افسانه ای چینی Baize گرفته شده است که می تواند زبان انسان را بفهمد [1]. و درک زبان های انسانی چیزی است که همه ما دوست داریم مدل های چت داشته باشند، بله؟ مقاله تحقیقاتی Baize برای اولین بار در 3 آوریل 2023 در arxiv بارگذاری شد. وزن ها و کدهای مدل همگی صرفاً برای اهداف تحقیقاتی در GitHub در دسترس هستند. بنابراین اکنون زمان بسیار خوبی برای کشف این مدل چت منبع باز جدید است.
و، بله، بیایید بیشتر در مورد Baize بیاموزیم.
کار Baize را می توان (تقریبا) در دو نکته کلیدی خلاصه کرد:
- با استفاده از ChatGPT، مجموعه بزرگی از داده های چت چند نوبتی ایجاد کنید
- از پیکره تولید شده برای تنظیم دقیق LLaMA استفاده کنید
خط لوله برای آموزش بایز | منبع تصویر
جمع آوری داده ها با ChatGPT خود چت
ما اشاره کردیم که Baize از ChatGPT برای ساخت بدنه چت استفاده می کند. این کار را با استفاده از فرآیندی به نام انجام می دهد خود چت کردن که در آن ChatGPT با خودش مکالمه دارد.
یک جلسه چت معمولی به یک انسان و یک هوش مصنوعی نیاز دارد. این خود چت کردن فرآیند در خط لوله جمعآوری دادهها به گونهای طراحی شده است که ChatGPT با خود مکالمه داشته باشد – برای تامین هر دو طرف مکالمه. برای فرآیند خود چت، یک الگو به همراه الزامات ارائه شده است.
کیفیت مکالمات ایجاد شده توسط ChatGPT بسیار بالا است (ما این را بیشتر در فیدهای رسانه های اجتماعی خود دیده ایم تا در جلسات ChatGPT خودمان). بنابراین ما یک مجموعه گفتگو با کیفیت بالا دریافت می کنیم.
بیایید نگاهی به داده های استفاده شده توسط Baize بیندازیم:
- وجود دارد دانه که موضوع را تعیین می کند برای جلسه چت این می تواند یک سوال یا عبارتی باشد که ایده اصلی مکالمه را ارائه می دهد. در آموزش Baize از سوالات StackOverflow و Quora به عنوان seed استفاده شد.
- در آموزش Baize از مدل ChatGPT (gpt-turbo-3.5) در خط لوله جمع آوری داده های خود چت استفاده شده است. پیکره تولید شده حدود 115 هزار دیالوگ ها – با تقریباً 55 هزار دیالوگ از هر یک از منابع بالا.
- علاوه بر این، از داده های استانفورد آلپاکا نیز استفاده شد.
- در حال حاضر سه نسخه از این مدل: Baize-7B، Baize-13B و Baize-30B منتشر شده است. (در Baize-XB، XB نشان دهنده X میلیارد پارامتر است.)
- دانه را می توان از یک دامنه خاص نیز نمونه برداری کرد. به این معنی که میتوانیم فرآیند جمعآوری دادهها را برای ایجاد یک مجموعه چت مخصوص دامنه اجرا کنیم. در این راستا، مدل Baize-Healthcare در دسترس است که بر روی مجموعه دادههای MedQuAD در دسترس عموم برای ایجاد مجموعهای از حدود 47 هزار دیالوگ آموزش دیده است.
تنظیم دقیق در تنظیمات کم منبع
بخش بعدی تنظیم دقیق مدل LLaMA بر روی پیکره تولید شده است. تنظیم دقیق مدل معمولاً یک کار نیازمند منابع است. از آنجایی که تنظیم تمام پارامترهای یک مدل زبان بزرگ تحت محدودیت منابع غیرممکن است، Baize از سازگاری با رتبه پایین (LoRA) برای تنظیم دقیق مدل LLaMA استفاده می کند.
علاوه بر این، در زمان استنباط، پیامی وجود دارد که به Baize دستور میدهد در گفتگوهایی که غیراخلاقی و حساس هستند زیادهروی نکند. این امر نیاز به مداخله انسان را در حد اعتدال کاهش می دهد.
برنامه کاربردی مدل LLaMA و وزنههای LoRA را از HugingFace هاب دریافت میکند.
در ادامه، اجازه دهید برخی از مزایا و محدودیتهای Baize را مرور کنیم.
مزایای
بیایید با بیان برخی از مزایای بایز شروع کنیم:
- در دسترس بودن بالا: می توانید Baize-7B را در فضاهای HuggingFaces امتحان کنید یا آن را به صورت محلی اجرا کنید. Baize با تعداد تماسهای API محدود نمیشود و نگرانیهای مربوط به در دسترس بودن را در زمانهای تقاضای بالا کاهش میدهد.
- پشتیبانی از تعدیل داخلی: درخواست در زمان استنباط برای توقف مکالمه در مورد موضوعات حساس و غیراخلاقی مفید است زیرا تلاش های لازم برای تعدیل مکالمات را به حداقل می رساند.
- نسل اعضای چت: همانطور که گفته شد، Baize می تواند به ایجاد مجموعه های بزرگی از مکالمات چند نوبتی کمک کند. این می تواند در آموزش مدل های چت در مقیاس مفید باشد.
- قابلیت دسترسی در تنظیمات کم منابع: همانطور که در [1]ما میتوانیم Baize را روی یک دستگاه GPU اجرا کنیم، که باعث میشود در تنظیمات کممنبع که دسترسی محدودی به منابع محاسباتی دارند، قابل دسترسی باشد.
- برنامه های کاربردی مخصوص دامنه: با نمونهبرداری دقیق از دانه از یک دامنه خاص، میتوانیم رباتهای چت برای کاربردهای خاص دامنه مانند مراقبتهای بهداشتی، کشاورزی، امور مالی و موارد دیگر داشته باشیم.
- تکرارپذیری و سفارشی سازی: کد در دسترس عموم است و خط لوله جمع آوری داده ها و آموزش قابل تکرار است. اگر میخواهید دادهها را از منابع مختلف جمعآوری کنید تا یک مجموعه سفارشی بسازید، میتوانید اسکریپت
collection.py
را در پایگاه کد پروژه تغییر دهید.
محدودیت ها
مانند همه برنامههای چت مبتنی بر LLM، Baize دارای محدودیتهای زیر است:
- اطلاعات نادرست: درست همانطور که پاسخهای ChatGPT گاهی اوقات مستعد عدم دقت ناشی از دادههای آموزشی منسوخ و تفاوتهای زمینهای هستند، پاسخهای Baize ممکن است گاهی اوقات از نظر فنی نادرست باشند.
- چالش با اطلاعات به روز: مدل LLaMA بر روی داده های اخیر آموزش داده نشده است. این کار را برای کارهایی که برای پاسخ دقیق و مفید نیاز به اطلاعات به روز دارند چالش برانگیز می کند.
- سوگیری و سمیت: با تغییر اعلان استنتاج، می توان رفتار مدل را در جهت رد درگیر شدن در مکالمات حساس و غیراخلاقی دستکاری کرد.
برای امروز کافی است! برای کاوش بیشتر در مورد Baize، حتماً نسخه آزمایشی را در فضاهای HuggingFace امتحان کنید یا آن را به صورت محلی اجرا کنید. ChatGPT و GPT-4 الهام بخش طیف گسترده ای از برنامه های کاربردی در فضای NLP هستند.
از آنجایی که بستههای OpenAI جدید تقریباً هر روز به فضای توسعهدهندگان میرسند، همگام شدن با این پیشرفتها و نسخههای سریع میتواند بسیار دشوار باشد. در عین حال، ما هیجان زده هستیم که ببینیم آینده هوش مصنوعی مولد چه خواهد بود.
[1] C Xu، D Guo، N Duan، J McAuley، Baize: یک مدل منبع باز با تنظیم کارآمد پارامتر در دادههای خود چت، arXiv، 2023.
[2] پروژه Baize در GitHub
[3] نسخه ی نمایشی در HuggingFace Spaces
بالا پریا سی یک نویسنده فنی است که از ایجاد محتوای طولانی لذت می برد. زمینه های مورد علاقه او شامل ریاضیات، برنامه نویسی و علوم داده است. او با نوشتن آموزشها، راهنماهای نحوه انجام و غیره، آموختههای خود را با جامعه توسعهدهندگان به اشتراک میگذارد.