تصویر شاخص نوشته: مدل‌های زبانی چطور کار می‌کنند؟ (بدون ریاضی)

مدل‌های زبانی چطور کار می‌کنند؟ (بدون ریاضی)

۳۱ تیر ۱۴۰۵ مبانی هوش مصنوعی

وقتی از یک دستیارِ هوش مصنوعی سؤال می‌پرسی و چند لحظه بعد یک جوابِ روان و کامل می‌گیری، پشتِ آن چه می‌گذرد؟ خیلی‌ها تصور می‌کنند یک هوشِ مرموز جایی نشسته و «می‌داند»؛ خیلی‌های دیگر فکر می‌کنند مدل مثلِ یک موتورِ جست‌وجوی پیشرفته جواب را از یک انبارِ بزرگ بیرون می‌کشد. هر دو تصویر غلط‌اند، و همین دو تصویرِ غلط ریشهٔ بیشترِ سوءتفاهم‌ها دربارهٔ هوش مصنوعی‌اند. خبر خوب این است که تصویرِ درست نه‌تنها ساده است، بلکه یک خطِ ریاضی هم لازم ندارد. در این نوشته یک نقشهٔ ذهنیِ درست می‌سازیم که با آن بیشترِ رفتارهای عجیبِ مدل معنا پیدا می‌کند.

مدلِ زبانی چیست؟ یک ماشینِ پیش‌بینی

در ساده‌ترین شکلش، یک مدلِ زبانی (Large Language Model یا همان LLM) یک ماشینِ پیش‌بینیِ کلمهٔ بعدی است. همین و بس. صفحه‌کلیدِ گوشی‌ات را تصور کن که وقتی تایپ می‌کنی، کلمهٔ بعدی را حدس می‌زند و پیشنهاد می‌دهد. یک مدلِ زبانی دقیقاً همین کار را می‌کند، فقط در مقیاسی بی‌اندازه بزرگ‌تر و باهوش‌تر: به‌جای یکی‌دو کلمه، می‌تواند یک پاراگراف، یک نامه یا یک برنامهٔ کامل را کلمه‌به‌کلمه پیش‌بینی کند.

مهم‌ترین نتیجه از همین‌جا می‌آید: مدل جواب را تولید می‌کند، نه اینکه از جایی جست‌وجو کند. هیچ انباری از «جواب‌های درست» در کار نیست که مدل درِ کشویش را باز کند و جوابِ آماده را بردارد. هر جمله همان لحظه ساخته می‌شود. این یک نکتهٔ ریز نیست؛ کلیدِ فهمِ همه‌چیزِ بعدی است.

آموزش: الگو، نه حافظه

پس این تواناییِ حدس‌زدن از کجا می‌آید؟ از مرحله‌ای به‌اسمِ training (آموزش). یک آدم را تصور کن که از بچگی حجمِ باورنکردنی‌ای متن خوانده — کتاب، مقاله، صفحهٔ وب، گفت‌وگو — تا جایی که کم‌کم «حس» کرده کلمه‌ها چطور کنارِ هم می‌نشینند: که بعد از «آسمانِ» معمولاً «آبی» می‌آید، که یک نامه چطور شروع می‌شود. مدل هم همین کار را کرده، فقط در مقیاسی که هیچ انسانی در عمرش نمی‌تواند. بارها و بارها تمرین کرده که کلمهٔ بعدی را حدس بزند، و هر بار که غلط حدس زده کمی خودش را تنظیم کرده تا دفعهٔ بعد بهتر شود.

حالا مهم‌ترین نکتهٔ این بخش: مدل آن همه متن را حفظ نکرده و مثلِ یک کتابخانه در کشوهایش نگه نداشته. چیزی که از آموزش در مدل می‌ماند «الگو»ست: رابطه‌ها، ریتم‌ها، و اینکه چه چیزی معمولاً کنارِ چه چیزی می‌آید. متنِ اصلی رفته؛ فقط الگوهایش مانده. برای همین است که مدل معمولاً نمی‌تواند یک جمله را کلمه‌به‌کلمهٔ دقیق نقل کند — بازسازی‌اش می‌کند، و در بازسازی گاهی می‌لغزد. همین «ساختن به‌جای یادآوری» هم خلاقیت می‌آورد هم خطا؛ چرا مدل گاهی با اطمینان چیزی می‌سازد که وجود ندارد، موضوعِ نوشتهٔ توهم در هوش مصنوعی است.

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

توکن: واحدِ واقعیِ کارِ مدل

تا اینجا گفتیم مدل «کلمهٔ بعدی» را حدس می‌زند. حالا یک دقتِ مهم اضافه کنیم: واحدِ کارِ مدل «کلمه» نیست، token است. مدل متن را — همان‌طور که ما می‌بینیم، کلمه‌کلمه — نمی‌بیند. اول متن را به تکه‌های کوچک می‌شکند و هر تکه یک token است. گاهی یک token یک کلمهٔ کامل است، گاهی تکه‌ای از یک کلمه، و گاهی حتی یک نشانه یا فاصله. یک کلمهٔ ساده و پرتکرار معمولاً یک token است؛ یک کلمهٔ بلند یا کم‌یاب به چند token می‌شکند.

و مدل جواب را هم توکن‌به‌توکن می‌سازد: کلِ جواب را یک‌جا بیرون نمی‌ریزد، بلکه در هر قدم یک token تولید می‌کند و هرکدام را بر اساسِ همهٔ توکن‌های قبلی — یعنی promptِ تو به‌علاوهٔ هرچه خودش تا این لحظه نوشته — انتخاب می‌کند. همان جریانِ نرمِ کلمه‌کلمه که می‌بینی روی صفحه ظاهر می‌شود، دقیقاً همین تولیدِ توکن‌به‌توکن است. مدل مثلِ کسی است که جمله را همین الان می‌نویسد، نه کسی که یک جوابِ آمادهٔ کامل را کپی می‌کند.

یک پیامدِ بامزه هم دارد: چون مدل متن را به‌صورتِ token می‌بیند نه حرف‌به‌حرف، در کاری به‌ظاهر ساده مثلِ شمردنِ حروفِ یک کلمه می‌لغزد. اگر از مدل بپرسی در یک کلمه چند بار یک حرفِ خاص آمده، ممکن است با اطمینانِ کامل عددِ غلط بدهد — نه چون کم‌هوش است، بلکه چون آن کلمه را چند تکهٔ توکن می‌بیند، نه یک ردیفِ حرفِ جدا.

پنجرهٔ زمینه: مدل هر لحظه چقدر می‌بیند

مدل نمی‌تواند بی‌نهایت توکن را یک‌جا در نظر بگیرد. یک سقف دارد: بیشترین تعدادِ توکنی که در یک لحظه «جلوِ چشمش» است. به این ظرفیت context window (پنجرهٔ زمینه) می‌گویند، و کلِ گفت‌وگو — هم پرامپت‌های تو، هم جواب‌های مدل — داخلِ همین پنجره جا می‌گیرد.

پیامدش را احتمالاً تجربه کرده‌ای: در یک گفت‌وگوی خیلی طولانی، وقتی از سقف رد می‌شوی، قدیمی‌ترین بخش‌ها از پنجره بیرون می‌افتند و مدل عملاً فراموششان می‌کند. برای همین است که مدل گاهی چیزی را که همان اولِ گفت‌وگو گفته بودی «یادش می‌رود» — نه بی‌ادبی است نه خرابی؛ آن توکن‌ها دیگر در پنجره نیستند. یک عادتِ عملی: اگر گفت‌وگو خیلی دراز و پراکنده شد، مهم‌ترین نکته‌ها را در یک پیامِ تازه و کوتاه خلاصه کن و از آنجا ادامه بده.

knowledge cutoff: از یک جایی به بعد خبر ندارد

آموزش یک بارِ بزرگ است که در گذشته اتفاق افتاده و تا یک نقطهٔ زمانیِ مشخص ادامه داشته. به آن نقطه knowledge cutoff می‌گویند. هر چیزی که بعد از آن رخ داده، مدل ساده در آموزش ندیده — پس نمی‌تواند واقعاً بداند. مشکل اینجاست که مدل به‌جای اینکه صادقانه بگوید «نمی‌دانم»، گاهی یک جوابِ باورپذیر می‌سازد. اگر دربارهٔ یک خبرِ خیلی تازه بپرسی، ممکن است با همان لحنِ مطمئن یک «خبر» تحویلت بدهد که اصلاً اتفاق نیفتاده. مدل خبر را نمی‌داند، ولی چون بلد است متنِ خبرْمانند بسازد، یکی سرِ هم می‌کند.

چرا فارسی برای مدل سخت‌تر است

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

  • داده. بیشترِ متنِ باکیفیتِ اینترنت انگلیسی است، نه فارسی. و چون مدل فقط به‌اندازهٔ داده‌اش خوب است، بسیاری از مدل‌ها در انگلیسی روان‌تر و دقیق‌ترند تا در فارسی.
  • توکن. بیشترِ مدل‌ها متن را طوری تکه می‌کنند که برای انگلیسی صرفه‌جویانه باشد. نتیجه این است که یک کلمهٔ انگلیسی اغلب یک token می‌شود، ولی همان مفهوم به فارسی به چند token می‌شکند. پس جملهٔ فارسی جای بیشتری از پنجرهٔ زمینه می‌گیرد، کارکردن با آن معمولاً پرهزینه‌تر است، و گاهی جوابِ فارسی کمی ضعیف‌تر درمی‌آید.

این نه ضعفِ توست نه ضعفِ زبانِ فارسی؛ نتیجهٔ داده و نحوهٔ تکه‌کردن است. یک ترفندِ عملی که از همین‌جا می‌آید: گاهی همان سؤال به انگلیسی جوابِ بهتری می‌گیرد، دقیقاً چون داده‌اش بیشتر بوده.

این نقشهٔ ذهنی به چه دردت می‌خورد

حالا که این تصویر را داری، خیلی از رفتارهای «عجیبِ» مدل ناگهان معنا پیدا می‌کنند — و هیچ‌کدام هم «خرابی» نیستند:

  • چرا با اطمینان اشتباه می‌کند؟ چون تولید می‌کند و یک دکمهٔ «نمی‌دانم» ندارد.
  • چرا وسطِ گفت‌وگوی طولانی فراموش می‌کند؟ چون از سقفِ context window رد شده.
  • چرا در شمردنِ حروف یا حسابِ ریزِ دقیق می‌لغزد؟ چون token می‌بیند نه حرف، و اصلاً برای این کار تمرین نشده.
  • چرا از خبرِ امروز بی‌خبر است؟ چون knowledge cutoff دارد.

جمع‌بندی

لازم نیست یک خطِ ریاضی بدانی تا با هوش مصنوعی خوب کار کنی؛ کافی است یک نقشهٔ ذهنیِ درست داشته باشی: یک ماشینِ پیش‌بینی که روی token کار می‌کند، الگو دارد نه حافظه، پنجره‌اش محدود است، و از یک تاریخ به بعد خبر ندارد. همین چند ایده، بیشترِ رفتارِ مدل را توضیح می‌دهند — و مهم‌تر، به تو می‌گویند کِی می‌شود به جوابِ مدل تکیه کرد و کِی باید وارسی‌اش کنی.

در خودآموزِ هم‌هوش همین نقشهٔ ذهنی را قدم‌به‌قدم و بدونِ ریاضی می‌سازیم و با آزمایش‌های کوچک هر تکه‌اش را با چشمِ خودت می‌بینی. حالا که می‌دانی مدل تولید می‌کند نه جست‌وجو، احتمالاً حدس می‌زنی چرا گاهی چیزی می‌سازد که وجود ندارد — که موضوعِ توهم در هوش مصنوعی است؛ و برای اینکه از این ماشین بهترین جواب را بگیری، سراغِ پرامپت‌نویسی برو.