پیشآموزش (Pre-training) چیست
جواب کوتاه
پیشآموزش اولین و بزرگترین مرحلهی ساختن یه مدل زبانیه. مدل روی حجم خیلی زیادی متن، مثلا صدها یا هزاران میلیارد توکن، فقط یه تمرین رو تکرار میکنه: کلمهی بعد رو از روی متن قبلش حدس بزنه. بعد از هر حدس، با جواب درست مقایسه میشه و پارامترهاش یه کم تنظیم میشن. برچسب آدم نمیخواد، چون جواب درست خود متنه. از همین تمرین ساده، زبان، دانش و خیلی از تواناییها درمیاد؛ ولی نتیجه هنوز دستیار نیست و فقط متن رو ادامه میده.
بازی کلمهی پوشیده
یه متن برمیداری، کلمهی بعد رو میپوشونی، مدل حدس میزنه، جواب درست رو نشونش میدی، و یه کم تنظیمش میکنی. حالا همین رو میلیاردها بار تکرار کن.
به این میگن پیشآموزش. مستندات Claude تعریفش رو این میگه: آموزش اولیهی مدل روی حجم بزرگی از متن بیبرچسب، که مدل توش یاد میگیره کلمهی بعد رو از روی متن قبلی همون سند حدس بزنه.
اولش مدل هیچی بلد نیست؛ پارامترهاش با عددهای شانسی شروع میشن و حدسهاش پرته. ولی بعد از هر حدس، پارامترها یه کم در جهتی چرخونده میشن که دفعهی بعد جواب درست شانس بیشتری بگیره. هیچکس به مدل نمیگه «چای نوشیدنیه» یا «فعل آخر جمله میاد»؛ اینها خودشون از میلیاردها بار تکرار همین بازی درمیان.
برچسب مجانی
توی مسیر یادگیری ماشین دیدیم مدلها معمولا به دادهی برچسبخورده نیاز دارن، که آدمها باید با زحمت آمادهاش کنن. پیشآموزش این مشکل رو نداره:
هر جمله، خودش چند تا سوال و جواب آمادهست. «صبح چای میخورم» سه تا سوال میده: بعد از «صبح» چی میاد؟ بعد از «صبح چای» چی؟ و بعد از کل جمله؟ جواب هر کدوم، توی خود متن هست. برای همین به این متنها میگن «بیبرچسب»: هیچ آدمی لازم نیست کنارشون چیزی بنویسه.
همون ۱۲ جملهی مدل کوچیک ما، ۴۴ کلمه داشتن؛ با «پایان» آخر هر جمله، میشه ۵۶ سوال. یعنی هر توکن متن، یه سوال تمرین. هر چی متن بیشتر، تمرین بیشتر.
یه قدم آموزش
«یه کم تنظیم» دقیقا یعنی چی؟ فرض کنید مدل به جواب درست، «چای»، ۲۰ درصد شانس داده.
خطای این حدس با کراسانتروپی سنجیده میشه: منفی لگاریتم شانسی که به جواب درست داده. برای ۲۰ درصد میشه ۱٫۶۱. اگه بعد از یه قدم، شانس «چای» بشه ۳۰ درصد، خطا میرسه به ۱٫۲۰. اگه مدل فقط ۵ درصد داده بود، خطا ۳ میشد. یعنی هر چی مدل به جواب درست کمتر شانس بده، بیشتر جریمه میشه.
بعد با گرادیان کاهشی حساب میشه هر کدوم از میلیاردها پارامتر رو باید به کدوم طرف و چقدر چرخوند تا این خطا کمتر بشه. یه چرخش خیلی کوچیک. و دوباره، برای سوال بعد.
دستهدسته
مدل هر بار فقط یه جمله رو حدس نمیزنه؛ یه دستهی بزرگ رو با هم.
توی هر قدم آموزش، یه دستهی بزرگ از تکههای متن با هم به مدل داده میشه، خطای همهی حدسها میانگین گرفته میشه، و پیچها فقط یه بار، به اندازهی همون میانگین، میچرخن؛ همون گرادیان کاهشی تصادفی که توی مسیر یادگیری ماشین دیدیم. گزارش ۲۰۲۰ میگه مدل ۱۷۵ میلیاردیش با دستههای ۳٫۲ میلیون توکنی آموزش دید. حالا حساب کنیم: ۳۰۰ میلیارد توکن تقسیم بر ۳٫۲ میلیون، میشه حدود ۹۴ هزار قدم. یعنی کل اون آموزش عظیم، حدود ۹۴ هزار بار چرخوندن همهی پیچها بود.
چقدر متن
مدل کوچیک ما ۵۶ سوال داشت. مدلهای واقعی چقدر؟
یه خانوادهی مدل که سال ۲۰۲۰ معرفی شد، روی ۳۰۰ میلیارد توکن آموزش دید. یه پژوهش ۲۰۲۲ میگه بیشتر مدلهای بزرگ اون موقع حدود همین اندازه دیده بودن، و خودش یه مدل ۷۰ میلیاردی رو روی ۱٫۴ هزار میلیارد توکن آموزش داد. یعنی بیشتر از یک میلیون میلیون سوال حدس کلمهی بعد.
این همه متن از کجا میاد و چطور تمیز میشه، درس دادهی آموزش هست؛ و اینکه این همه تمرین چقدر وقت و برق میخوره، درس هزینهی آموزش.
چی یاد میگیره
جالبترین بخش ماجرا اینه که از یه تمرین به این سادگی، چیزهای خیلی بیشتری از «کلمهی بعد» درمیاد. برای اینکه کلمهی بعد رو خوب حدس بزنی، باید دستور زبان رو بلد باشی، معنی کلمهها رو بدونی، و حتی چیزهایی دربارهی دنیا.
پژوهش ۲۰۱۹ که توی درس پارامتر دیدیم، نشون داد مدلها بی هیچ آموزش اضافه، دانش واقعی رو از متنها نگه میدارن. اون مدل ۲۰۲۰ هم بی هیچ آموزش اضافه، فقط با چند مثال توی متن درخواست، کارهایی مثل ترجمه، جواب دادن به سوال، جابهجا کردن حروف یه کلمه، و حتی جمع و تفریق سهرقمی رو خوب انجام داد. هیچکدوم از اینها مستقیم بهش یاد داده نشده بود؛ همه از همون بازی کلمهی پوشیده درومده بودن.
خطا چطور پایین میاد
اگه خطای مدل رو در طول آموزش بکشیم، یه شکل آشنا پیدا میکنیم.
اول کار، مدل هیچی نمیدونه و خطاش خیلی زیاده؛ چند هزار قدم اول، خطا خیلی تند پایین میاد، چون مدل اول چیزهای خیلی پرتکرار رو یاد میگیره. بعد کمکم آروم میشه، چون چیزهای باقیمونده سختترن و کمیابتر. همین آروم شدنه که توی درس قانونهای مقیاس با عدد دیدیم: هر بهتر شدن بعدی، داده و حساب خیلی بیشتری میخواد. نرخ یادگیری هم معمولا اول کار کمکم بالا میره و بعد آروم پایین میاد؛ درس گرم کردن.
یه نکتهی دیگه: گزارش ۲۰۲۰ میگه همهی دادهها یه اندازه دیده نشدن؛ دادههای باکیفیتتر چند بار دیده شدن و بخش بزرگ متن وب کمتر از یه بار. یعنی سازندهها فقط «متن زیاد» نمیخوان؛ انتخاب میکنن کدوم متن بیشتر دیده بشه.
هنوز دستیار نیست
با همهی اینها، مدلی که فقط پیشآموزش دیده، هنوز چتبات نیست.
اون فقط یاد گرفته متن رو ادامه بده. اگه یه سوال بهش بدید، ممکنه جوابش رو بده، ولی ممکنه هم ادامهاش بده، مثلا مثل یه فهرست سوال، چون توی متنهای اینترنت سوالها زیاد پشت سر هم میان. مستندات Claude هم میگه مدلهای پیشآموزشدیده خودبهخود توی جواب دادن به سوال یا انجام دادن دستور خوب نیستن.
برای اینکه از این مدل خام یه دستیار ساخته بشه، چند مرحلهی دیگه لازمه، مثل آموزش با نمونههای سوال و جواب و یادگیری از بازخورد آدمها. ایستگاه بعد همینهاست. درس مدل پایه هم همین مدل خام رو دقیقتر نشون میده.
چند نکته
- یه تمرین، میلیاردها بار. حدس کلمهی بعد.
- متن خودش جوابه. برچسب آدم لازم نیست.
- هر حدس، یه چرخش کوچیک. با کراسانتروپی و گرادیان کاهشی.
- زبان و دانش، خودشون درمیان. هیچکدوم مستقیم یاد داده نمیشن.
- نتیجه، ادامهدهندهی متنه. دستیار شدن مرحلهی بعده.
درس بعد: این همه متن از کجا میاد؟ دادهی آموزش از کجا میاد.
جمعبندی. آنچه از این درس با خودتان میبرید.
- تمرین: حدس کلمهی بعد.
- جواب درست، خود متنه؛ برچسب آدم لازم نیست.
- هر حدس، یه تنظیم کوچیک پارامترها.
- صدها تا هزاران میلیارد توکن.
- نتیجه: ادامهدهندهی متن، هنوز دستیار نه.
خودتون رو بسنجید
۱۵ پرسش، هر بار تازه از میان ۳۰ پرسش این درس. آخرش فقط کارنامه رو میبینید: چند تا درست، چند تا نادرست.