آموزشمدل‌های زبانی بزرگ (LLM)

درس ۱ از ۸۵، هوش مصنوعی، حدود ۲۲ دقیقه خواندن

مدل زبانی بزرگ (LLM) چیست

جواب کوتاه

مدل زبانی بزرگ، یا LLM که کوتاه‌شده‌ی Large Language Model هست، یه شبکه‌ی عصبی خیلی بزرگه که با خوندن حجم عظیمی از متن یاد گرفته تکه‌ی بعدی یه متن رو حدس بزنه. همون کاری که صفحه‌کلید گوشی‌تون با پیشنهاد کلمه‌ی بعد می‌کنه، فقط خیلی بزرگ‌تر و با نگاه به کل متن قبلش. با تکرار همین حدس، تکه به تکه، جواب می‌نویسه، ترجمه می‌کنه و گفتگو می‌کنه؛ چت‌بات‌هایی مثل ChatGPT، Claude و Gemini روی همین مدل‌ها ساخته شدن. چون کارش حدسه، گاهی با اطمینان اشتباه هم می‌کنه.

صفحه‌کلید گوشی

گوشی‌تون رو بردارید و یه پیام بنویسید. بالای صفحه‌کلید، سه تا کلمه پیشنهاد میاد. این سه تا کلمه از کجا میان؟

صفحه‌کلید گوشی یه برنامه‌ی کوچیک داره که از روی چیزی که تا الان نوشتید، حدس می‌زنه کلمه‌ی بعدی چی می‌تونه باشه. نوشتید «سلام، فردا ساعت چند»، و حدس می‌زنه بعدش احتمالا «میای» یا «می‌رسی» میاد. به این برنامه می‌گن مدل زبانی: برنامه‌ای که یاد گرفته توی یه زبان، بعد از هر تیکه متن، چی محتمله.

حالا همین ایده رو تصور کنید، فقط خیلی خیلی بزرگ‌تر. به جای یه برنامه‌ی کوچیک توی گوشی، یه شبکه‌ی عصبی با میلیاردها عدد. به جای پیام‌های شما، حجم عظیمی از متن‌هایی که آدم‌ها نوشتن. و به جای نگاه به دو سه کلمه‌ی قبل، نگاه به کل متن قبل، حتی چند صفحه. این می‌شه مدل زبانی بزرگ.

مهم‌ترین چیزی که از این درس باید ببرید همینه: مدل زبانی بزرگ یه کار می‌کنه، حدس زدن تکه‌ی بعدی متن. هر چیز دیگه‌ای که ازش می‌بینید، از نوشتن شعر تا جواب دادن به سوال، از تکرار همین یه کار درمیاد.

LLM یعنی چی

LLM کوتاه‌شده‌ی سه تا کلمه‌ی انگلیسیه، و هر کدوم یه چیزی می‌گه:

مدل یعنی برنامه‌ای که به جای اینکه کسی قانون‌هاش رو دستی بنویسه، از مثال یاد گرفته؛ همون چیزی که توی درس مدل و پارامتر دیدیم. زبانی یعنی مثال‌هاش متنه و کارش هم با متنه. بزرگ هم یعنی هم خود مدل خیلی بزرگه، با میلیاردها عدد، و هم متنی که ازش یاد گرفته.

یه نکته‌ی کوچیک: اگه جایی LLM یا LL.M. رو کنار اسم یه دانشگاه دیدید، شاید منظور یه مدرک کارشناسی ارشد حقوق باشه. اون هیچ ربطی به هوش مصنوعی نداره؛ فقط اسمش شبیهه.

یه جواب از اول تا آخر

بیاید ببینیم وقتی از یه چت‌بات می‌پرسید «پایتخت ایران کجاست؟»، دقیقا چی می‌شه:

  1. سوال شما به چند تا تکه شکسته می‌شه و هر تکه یه عدد می‌گیره؛ چون مدل فقط با عدد کار می‌کنه.
  2. مدل به کل این عددها نگاه می‌کنه و برای هر تکه‌ی ممکن، یه احتمال می‌ده که بعدی اون باشه. مثلا «تهران» خیلی محتمله، «شهر» کم.
  3. برنامه از روی این احتمال‌ها یکی رو انتخاب می‌کنه؛ این‌جا «تهران».
  4. «تهران» به آخر متن چسبونده می‌شه، و حالا کل متن، با «تهران»، دوباره به مدل داده می‌شه.
  5. همین کار تکرار می‌شه، تکه به تکه، تا وقتی مدل یه تکه‌ی مخصوص به اسم «پایان» رو انتخاب کنه. اون وقت جواب تمومه.

عددهای تصویر نمونه‌ان، برای اینکه کار رو ببینید؛ عددهای واقعی هر مدل فرق می‌کنه. ولی خود کار دقیقا همینه. مدل کل جواب رو یه‌جا توی ذهنش نداره که بعد بنویسه؛ هر بار فقط تکه‌ی بعدی رو حدس می‌زنه. برای همین وقتی یه چت‌بات جواب می‌ده، می‌بینید کلمه به کلمه روی صفحه میاد.

تکه‌های متن

یه چیز رو تا این‌جا با دقت نگفتم: مدل «کلمه» نمی‌بینه، «تکه» می‌بینه:

به این تکه‌ها می‌گن توکن. یه توکن می‌تونه یه کلمه‌ی کامل باشه، یه بخش از کلمه، یه حرف، یا حتی کوچیک‌تر. مثلا «می‌خورم» ممکنه برای یه مدل دو یا سه تکه باشه. اینکه دقیقا کجا بریده بشه، به همون مدل بستگی داره؛ و معمولا این تکه‌ها از دید شما پنهانن.

چرا تکه و نه کلمه؟ چون با تکه‌های کوچیک‌تر، مدل می‌تونه کلمه‌هایی رو هم بسازه که خیلی کم دیده یا اصلا ندیده؛ مثلا یه اسم تازه رو از تکه‌های آشنا سر هم می‌کنه. ایستگاه دوم همین مسیر کامل درباره‌ی توکن‌هاست، و اینکه چرا فارسی معمولا تکه‌های بیشتری می‌خواد.

توی مدل چه خبره

حالا که تکه‌ها رو دیدیم، بیاید یه بار کل مسیر داخل مدل رو از اول تا آخر ببینیم، بی اینکه وارد جزئیات بشیم.

اول متن به توکن شکسته می‌شه و هر توکن یه شماره می‌گیره. بعد هر شماره به یه بردار تبدیل می‌شه، یعنی یه ردیف بلند عدد که چیزی از معنی اون تکه رو نشون می‌ده؛ درس امبدینگ این رو کامل گفته. بعد این بردارها از یه سری لایه رد می‌شن که ساختمونشون اسمش ترنسفورمر هست. مهم‌ترین تیکه‌ی هر لایه «توجه» (Attention) هست: هر تکه به همه‌ی تکه‌های قبلی نگاه می‌کنه و می‌بینه کدوم‌ها براش مهمن؛ مثلا توی «پایتخت ایران»، تکه‌ی آخر به «پایتخت» و «ایران» خیلی توجه می‌کنه. ویکی‌پدیا می‌گه توجه به مدل اجازه می‌ده رابطه‌ی هر دو تکه رو، هر چقدر هم از هم دور باشن، ببینه.

این لایه‌ها ده‌ها بار روی هم تکرار می‌شن، و آخرش، برای همه‌ی تکه‌های ممکن یه احتمال بیرون میاد. همه‌ی اون پیچ‌هایی که توی آموزش می‌چرخن، همین عددهای داخل لایه‌هان. درس از متن تا احتمال همین مسیر رو با جزئیات باز کرده.

از کجا یاد گرفت

مدل از کجا می‌دونه بعد از «پایتخت ایران» احتمالا «تهران» میاد؟ با یه بازی خیلی ساده، که میلیاردها بار تکرار شده:

یه جمله از متن برمی‌دارن و کلمه‌ی بعدش رو می‌پوشونن. مدل حدس می‌زنه. بعد حدسش رو با کلمه‌ی واقعی مقایسه می‌کنن؛ اگه اشتباه بود، عددهای داخل مدل، که مثل پیچ‌هایی‌ان که می‌شه چرخوند، یه کم عوض می‌شن تا دفعه‌ی بعد حدسش بهتر باشه. بعد جمله‌ی بعد، و بعد بعدی. این همون چرخه‌ی گرادیان کاهشی هست که توی مسیر یادگیری ماشین دیدیم.

قشنگیش اینه که هیچ‌کس لازم نیست برچسب بزنه. توی یادگیری ماشین معمولی، یکی باید بنویسه جواب درست چیه. این‌جا خود متن جوابه: کلمه‌ی بعدی همیشه همون‌جا، توی خود متن هست. برای همین می‌شه مدل رو روی یه عالمه متن، بی هیچ کار دستی، آموزش داد. به این مرحله می‌گن پیش‌آموزش.

«بزرگ» یعنی چقدر

اون پیچ‌هایی که موقع آموزش می‌چرخن، اسمشون پارامتر هست. حالا ببینید چندتان:

یکی از مدل‌های مشهور سال ۲۰۲۰ حدود ۱۷۵ میلیارد پارامتر داشت؛ ده برابر هر مدل زبانی‌ای که قبل از اون ساخته شده بود. روی حدود ۳۰۰ میلیارد تکه‌ی متن هم آموزش دید. بخش بزرگ داده‌ش متن صفحه‌های وب بود که بعد از پالایش، حدود ۵۷۰ گیگابایت متن شد.

چرا این‌قدر بزرگ؟ چون معلوم شد هر چی مدل زبانی بزرگ‌تر بشه، توی کارهای تازه، حتی کارهایی که مستقیم براش آموزش ندیده، با دیدن فقط چند نمونه خیلی بهتر می‌شه. ولی بزرگی به‌تنهایی کافی نیست؛ همون پژوهش‌ها نشون دادن مدل بزرگ‌تر لزوما بهتر نمی‌فهمه که شما دقیقا چی ازش می‌خواید. برای اون، یه قدم دیگه لازمه.

اندازه‌ی مدل‌های امروز چت‌بات‌ها رو سازنده‌هاشون معمولا منتشر نمی‌کنن؛ برای همین این‌جا فقط عددی اومده که رسما منتشر شده.

چقدر خرج داره

این‌همه پارامتر و این‌همه متن، ارزون درنمیاد. هم ساختنش خرج داره، هم هر بار جواب دادنش.

ویکی‌پدیا چند تا عدد آورده. آموزش یه مدل ۲۰۱۹ با ۱٫۵ میلیارد پارامتر حدود ۵۰ هزار دلار خرج داشت. یه مدل ۲۰۲۱ با ۵۳۰ میلیارد پارامتر حدود ۱۱ میلیون دلار، و یه مدل ۲۰۲۲ با ۵۴۰ میلیارد پارامتر حدود ۸ میلیون دلار. برای همین فقط چند تا شرکت بزرگ مدل‌های خیلی بزرگ می‌سازن، و بقیه یا از اون‌ها استفاده می‌کنن یا مدل‌های آماده رو کمی تنظیم می‌کنن. درس هزینه‌ی آموزش این رو کامل گفته.

جواب دادن هم بی‌خرج نیست. یه پژوهش ۲۰۲۴ حساب کرد ساختن متن یا خلاصه برای هر پرسش حدود ۰٫۰۵ وات‌ساعت برق می‌خواد، و ساختن یه عکس به طور میانگین حدود ۲٫۹ وات‌ساعت؛ یعنی ده‌ها برابر. حافظه هم یه خرج دیگه‌ست: اگه هر پارامتر دو بایت جا بگیره، هر یک میلیارد پارامتر حدود ۲ گیگابایت حافظه می‌خواد. پس یه مدل ۱۷۵ میلیاردی فقط برای نگه داشتن عددهاش حدود ۳۵۰ گیگابایت می‌خواد؛ درس حساب حافظه این رو باز کرده.

از مدل خام تا چت‌بات

اگه از یه مدل که فقط پیش‌آموزش دیده بپرسید «پایتخت ایران کجاست؟»، شاید جوابتون رو نده:

مدل خام فقط یاد گرفته متن رو ادامه بده. توی اینترنت، بعد از یه سوال خیلی وقت‌ها یه سوال دیگه میاد، مثلا توی یه برگه‌ی امتحان. پس شاید ادامه بده: «پایتخت عراق کجاست؟». به‌خودی‌خود توی جواب دادن یا پیروی از دستور خوب نیست.

برای همین یه آموزش دوم لازمه. اول روی نمونه‌هایی که آدم‌ها نوشتن، به شکل «دستور، و یه جواب خوب»، آموزش می‌بینه. بعد آدم‌ها چند تا جواب مدل رو با هم مقایسه و رتبه‌بندی می‌کنن، و مدل یاد می‌گیره بیشتر شبیه جواب‌های بهتر جواب بده؛ این روش اسمش RLHF هست. نتیجه جالب بود: یه مدل کوچیک، ۱٫۳ میلیاردی، که این‌جوری تنظیم شد، توی داوری آدم‌ها از همون مدل ۱۷۵ میلیاردی خام بهتر شد.

چت‌بات یه برنامه‌ست که همچین مدلی رو توی یه صفحه‌ی گفتگو گذاشته. ChatGPT، Claude و Gemini نمونه‌هاش هستن. یعنی «مدل» خود شبکه‌ی آموزش‌دیده‌ست، و «چت‌بات» برنامه‌ای که شما باهاش حرف می‌زنید.

جورهای مدل

وقتی می‌گن «یه مدل زبانی»، می‌تونه خیلی چیزها باشه. بهترین راه شناختنشون اینه که ببینید توی هر کدوم از این شش ردیف کجا می‌شینن.

مدل پایه (Base Model) فقط پیش‌آموزش دیده و متن رو ادامه می‌ده؛ مدل دستیار یا تنظیم‌شده با دستور (Instruct Model) آموزش دوم رو هم دیده و جواب می‌ده. مدل معمولی یه‌راست جواب می‌نویسه؛ مدل استدلالی (Reasoning Model)، که از اواخر ۲۰۲۴ رایج شد، اول قدم‌به‌قدم فکر می‌کنه و بعد جواب می‌ده. مدل فقط‌متنی متن می‌گیره؛ مدل چندحالته (Multimodal) عکس و گاهی صدا رو هم می‌فهمه، که ویکی‌پدیا می‌گه از ۲۰۲۳ به بعد خیلی‌ها این‌طوری شدن.

مدل بسته فقط از راه سرویس سازنده‌ش در دسترسه؛ مدل وزن‌باز (Open-Weight) عددهاش منتشر شده و می‌شه روی کامپیوتر خودتون اجراش کرد. مدل بزرگ صدها میلیارد پارامتر داره؛ مدل کوچیک چند میلیارد، و گاهی روی گوشی هم اجرا می‌شه. و آخر، مدل یکپارچه موقع هر جواب از همه‌ی پارامترهاش استفاده می‌کنه؛ مدل ترکیب خبره‌ها (Mixture of Experts) پارامترهاش رو چند گروه «خبره» کرده و برای هر تکه فقط چند تاشون رو به کار می‌گیره، که ویکی‌پدیا می‌گه هزینه‌ی جواب دادن رو پایین میاره.

چه کارهایی می‌کنه

همه‌ی این کارها از همون یه کار، حدس تکه‌ی بعد، درمیان. فقط پرامپت فرق می‌کنه.

نوشتن و بازنویسی، مثلا یه نامه‌ی رسمی از چند خط یادداشت. خلاصه کردن یه متن بلند. ترجمه. جواب دادن به سوال. نوشتن کد و توضیح دادن کدی که یکی دیگه نوشته؛ ویکی‌پدیا می‌گه این مدل‌ها کد می‌سازن، توضیح می‌دن و از یه زبان برنامه‌نویسی به یکی دیگه برمی‌گردونن. درآوردن اطلاعات از متن، مثلا اسم و تاریخ و مبلغ از یه فاکتور. و مدل‌های چندحالته، دیدن عکس و توضیح دادنش.

وقتی به مدل ابزار بدید، کارهای بیشتری هم می‌کنه. با RAG توی سندهای شما می‌گرده و از روی اون‌ها جواب می‌ده. با استفاده از ابزار می‌تونه جستجو کنه، حساب کنه یا یه برنامه رو صدا بزنه. و وقتی چند قدم پشت سر هم رو خودش برنامه‌ریزی و انجام بده، بهش ایجنت می‌گن.

چی نیست

چون جواب‌هاش خیلی روون و مطمئنه، راحت می‌شه فکر کرد یه چیز دیگه‌ست. سه تا اشتباه رایج:

پایگاه داده نیست. جواب‌ها رو جایی ننوشته که بره بخونه؛ هر بار، تکه به تکه، می‌سازه. برای همین یه سوال رو دو بار بپرسید، شاید دو جواب کمی متفاوت بگیرید.

موتور جستجو نیست. خودش توی اینترنت نمی‌گرده. دانشش تا تاریخیه که داده‌ی آموزشش جمع شده، و از اتفاق‌های بعد از اون خبر نداره؛ مگه اینکه یه برنامه متن تازه یا ابزار جستجو بهش بده.

همیشه درست نمی‌گه. وقتی مطمئن نیست، به جای «نمی‌دونم»، گاهی یه جمله‌ی باورپذیر ولی غلط می‌سازه؛ به این می‌گن توهم. یه دلیلش اینه که روش آموزش و سنجش این مدل‌ها، حدس زدن رو بیشتر از «نمی‌دونم» پاداش داده؛ مثل امتحانی که جای خالی نمره نداره، پس بهتره یه چیزی بنویسی.

اینکه مدل واقعا «می‌فهمه» یا فقط حدس می‌زنه، هنوز بین پژوهشگرها اختلافه. چیزی که مطمئنیم اینه: الگوهای زبان و بخشی از دانش دنیا رو توی خودش داره، و گاهی اشتباه می‌کنه. پس جواب‌های مهمش رو همیشه بسنجید.

کجاها می‌لغزه

جدا از اون سه تا اشتباه رایج، چند جای دیگه هم هست که مدل‌ها معمولا می‌لغزن. اگه این‌ها رو بدونید، می‌دونید کجا باید بیشتر دقت کنید.

توهم رو دیدیم. تاریخ برش دانش هم یعنی از اتفاق‌های بعد از جمع شدن داده‌ی آموزش خبر نداره؛ درس تاریخ برش دانش. چون تکه می‌بینه نه حرف، شمردن حرف‌های یه کلمه و حساب‌های ساده گاهی براش سخته؛ درس چرا حرف‌ها رو بد می‌شمره. ویکی‌پدیا می‌گه مدل‌ها کلیشه‌های داده‌ی آموزش رو هم یاد می‌گیرن، مثلا معلم رو بیشتر زن و مهندس رو بیشتر مرد فرض می‌کنن؛ درس سوگیری و انصاف. و چون بیشتر داده‌ی آموزش انگلیسیه، دید زبان‌های دیگه، از جمله فارسی، کمتر توشه؛ درس مدل زبانی و زبان فارسی.

سه تای آخر کمتر شناخته‌شده‌ان. چاپلوسی (Sycophancy) یعنی مدل گاهی با کاربری که اشتباه می‌کنه موافقت می‌کنه، یا زیر فشار جواب درستش رو ول می‌کنه؛ پس اگه گفت «حق با شماست»، لزوما حق با شما نیست. تزریق دستور یعنی یه متن که مدل می‌خونه، مثل یه صفحه‌ی وب، دستور پنهانی داشته باشه که جای دستور شما رو بگیره. و حفظ کردن یعنی مدل گاهی یه تیکه از داده‌ی آموزشش رو عینا تکرار می‌کنه؛ ویکی‌پدیا می‌گه برآوردها برای یه خانواده مدل ۲۰۱۹ از بیش از ۱٪ تا حدود ۷٪ بوده.

از کجا اومد

مدل‌های زبانی یه‌شبه پیدا نشدن. خیلی کوتاه، مسیرشون این‌طوری بود.

ایده‌ی حدس زدن ادامه‌ی متن قدیمیه؛ سال ۱۹۵۱ یه دانشمند با آزمایش حدس حرف بعد، سنجید انگلیسی چقدر قابل پیش‌بینیه. ویکی‌پدیا می‌گه از سال ۲۰۰۰ شبکه‌ی عصبی برای مدل زبانی به کار رفت، و ۲۰۱۳ کلمه‌ها به بردار تبدیل شدن. ۲۰۱۷ ترنسفورمر معرفی شد. ۲۰۱۸ دو خانواده‌ی مدل اومد، یکی برای فهمیدن متن و یکی برای نوشتن؛ و ۲۰۲۰ همون مدل ۱۷۵ میلیاردی.

اواخر ۲۰۲۲ ChatGPT اومد و برای اولین بار همه با یه مدل زبانی گفت‌وگو کردن. از ۲۰۲۳ خیلی از مدل‌ها چندحالته شدن و مدل‌های وزن‌باز هم پرطرفدار شدن، و از اواخر ۲۰۲۴ مدل‌های استدلالی. درس تاریخچه همه‌ی این قدم‌ها رو کامل گفته.

چطور ازش استفاده کنید

چهار راه اصلی هست، از ساده به سخت. ساده‌ترینش یه چت‌بات مثل ChatGPT، Claude یا Gemini هست که توی مرورگر یا برنامه‌ی گوشی باهاش حرف می‌زنید. راه دوم اینه که مدل رو توی برنامه‌هایی که هر روز استفاده می‌کنید ببینید، مثل صفحه‌کلید، ایمیل یا ویرایشگر متن، که خودشون از پشت صحنه از یه مدل کمک می‌گیرن. راه سوم برای برنامه‌نویس‌هاست: وصل شدن به مدل از راه یه رابط برنامه‌نویسی (API)، تا مدل توی برنامه‌ی خودشون کار کنه. و راه چهارم، اجرای یه مدل وزن‌باز روی کامپیوتر خودتون؛ درس اجرای مدل روی کامپیوتر قدم به قدمش رو گفته.

هر راهی که رفتید، سه تا چیز رو یادتون باشه. یکی اینکه هر چی بهش می‌دید، ممکنه جایی ذخیره بشه؛ پس اطلاعات حساس رو بی فکر بهش ندید، درس حریم خصوصی و داده‌ی شما. دوم اینکه جواب بهتر از پرامپت بهتر میاد؛ درس مهندسی پرامپت. و سوم، جواب مهم رو همیشه با یه منبع دیگه بسنجید.

برای وقتی لازم شد

دما. وقتی برنامه از بین احتمال‌ها یکی رو انتخاب می‌کنه، یه پیچ داره به اسم دما. دمای پایین یعنی بیشتر محتمل‌ترین‌ها؛ دمای بالا یعنی گزینه‌های کم‌احتمال‌تر هم شانس دارن و جواب متنوع‌تر می‌شه. اگه همیشه محتمل‌ترین رو برداره، متن بی‌روح و تکراری می‌شه؛ برای همین معمولا از بین محتمل‌ها قرعه می‌کشن.

پنجره‌ی زمینه. مقدار متنیه که مدل موقع ساختن جواب می‌تونه ببینه؛ مثل حافظه‌ی کاری. با چیزی که موقع آموزش خونده فرق داره.

درس بعد همون یه کار رو از نزدیک نگاه می‌کنه: پیش‌بینی تکه‌ی بعد.

جمع‌بندی. آنچه از این درس با خودتان می‌برید.

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

خودتون رو بسنجید

۱۵ پرسش، هر بار تازه از میان ۳۰ پرسش این درس. آخرش فقط کارنامه رو می‌بینید: چند تا درست، چند تا نادرست.

خودتون رو بسنجید

۱۵ پرسش

  • هر بار پرسش‌ها و ترتیب گزینه‌ها عوض می‌شه.
  • تا آخر نمی‌گیم کدوم جواب درست بوده؛ می‌تونید برگردید و جوابتون رو عوض کنید.
  • آخرش کارنامه می‌گیرید: چند تا درست، چند تا نادرست.
  • اگه وسطش بستید، دوباره که باز کنید از همون‌جا ادامه می‌دید.

فصل‌های این درس

درس بعد