دربارهٔ این فصل
یادداشتِ همراه نوارتا حالا به این فکر کردهاید که چرا مدلهای اولیهٔ اینترنت مثل یک انشای بیپایان ادامه پیدا میکردند اما دستیارهای امروزی درست مثل یک انسان آگاه به سوالات شما جواب میدهند؟ راز این تغییر بزرگ در نحوهٔ آموزش و هدایت مدلها پنهان است. در این اپیزود از شبگفتار میخواهیم ببینیم چطور یک موتور سادهٔ تکمیل متن به یک دستیار هوشمند تبدیل میشود.
در کتاب «مهندسی پرامپت برای مدلهای زبانی بزرگ» نوشتهٔ جان بریمن و آلبرت زیگلر، در فصل سوم که Moving to Chat نام دارد، دقیقاً همین مسیر دگرگونی بررسی میشود و نشان میدهد که چطور مدلها از حالت تکمیل سند خارج شده و به ابزارهای گفتگومحور تبدیل شدهاند.
مدلهای پایه بهتنهایی مانند یک تیغ دوطبه عمل میکنند؛ هم میتوانند یک دستور پخت خوشمزه تولید کنند و هم اطلاعات خطرناک را شبیهسازی کنند. گزینهٔ جایگزین، آموزش نظارتشده Supervised Fine-Tuning است که در آن مدل با هزاران سند نمونه آموزش میبیند تا مثل یک دستیار مفید عمل کند. معاملهٔ این روش در این است که مدل رفتاری قاعدهمند پیدا میکند، اما ممکن است در پاسخدهی دچار مشکلاتی مانند ارائهٔ اطلاعات نادرست با لحن مطمئن halluciation (توهمزایی) شود که به معنی تولید محتوای نادرست اما با ظاهری کاملاً موجه است.
برای حل چالش صداقت و کیفیت، از یادگیری تقویتی از بازخورد انسانی reinforcement learning from human feedback (RLHF) استفاده میشود. در این روش، ابتدا مدلها پاسخهای متعددی به پرامپت تولید میکنند که پرامپت به معنی متنی است که به مدل زبانی داده میشود تا خروجی تولید کند. سپس داوران انسانی این پاسخها را رتبهبندی میکنند تا یک مدل پاداش بسازند. چالش اینجاست که آموزش بیش از حد بر اساس پاداش میتواند متن انسانگونه را خراب کند و معاملهٔ آن افت هوش کلی مدل یا اصطلاحاً مالیات همسویی است.
یکی از مهمترین نوآوریها برای رفع ابهام در گفتگوها، استفاده از زبان نشانهگذاری چت ChatML است. مشکل این بود که اگر ورودی به عنوان دستور داده میشد، مدل نمیدانست باید آن را کامل کند یا جواب دهد. گزینهٔ ChatML با برچسبهای نظامی نقشهای سیستم، کاربر و دستیار را مشخص میکند. معاملهٔ این روش ایجاد ساختاری کاملاً امن است که مانع از حملات تزریق پرامپت میشود، اما از طرف دیگر باعث میشود مدل گاهی بیش از حد چتکننده و مؤدب شود و کنترل مستقیم روی توکنها token که به معنی واحد کوچک متن که مدل پردازش میکند کاهش یابد.
وقتی از رابطهای برنامهنویسی API استفاده میکنید، تنظیم پارامترهایی مانند دما temperature که پارامتری که تصادفیبودن خروجی را کنترل میکند اهمیت زیادی دارد. اگر دما صفر باشد پاسخها کاملاً تکرارپذیر و خستهکننده میشوند و اگر بالا برود خروجیها به سمت بینظمی میروند. پیشنهاد من این است که هنگام طراحی سیستم، همیشه یک مقدار متعادل در حدود یک را انتخاب کنید تا مدل هم خلاقیت داشته باشد و هم از کنترل خارج نشود.
در نهایت، فراموش نکنید که در زیر تمام این لایههای پیچیده، مدلهای زبانی همچنان همان موتورهای پیشبینی کلمه باقی ماندهاند که فقط متنهای طولانی را کامل میکنند. امیدواریم این نگاه دقیقتر به درون دنیای مدلهای زبانی برای شما روشنکننده بوده باشد.