یک مدل زبانی در هر گام فقط یک تکه متن انتخاب میکند و بعد دوباره کل چیزی را که تا آن لحظه هست میخواند. از این یک جمله چهار پیشبینی درمیآید، و ارزش دانستن سازوکار دقیقاً همین چهارتاست، نه اسم لایهها.
سازوکار را برای دانستن نخوانید، برای پیشبینی بخوانید. کسی که میداند چرا مدل نمیتواند حرفهای یک کلمه را بشمارد، وقت خودش را سر شمردن حرف نمیگذارد و آن را به یک خط کد میدهد. کسی که فقط اسم معماری را بلد است، همان کار را میدهد به مدل و جواب مطمئنِ غلط میگیرد.
یک توکن، و بعد توکنی که به آن چسبیده
مدل هر توکن را پیش از دیدن توکن بعدی قطعی میکند. جمله را کلمهبهکلمه میسازد و هیچ گامی نمیتواند دست دراز کند و گام قبلی را پس بگیرد. تا اینجا بیضرر به نظر میرسد. حالا سوالی بپرسید که جوابش را باید حساب کرد.
از مدل بپرسید آیا ۳۷۳۷ عدد اول است و اضافه کنید که اول بله یا خیر بنویسد. اگر اولین کلمهای که بیرون میآید «بله» باشد، هیچ تقسیمی پشت آن نبوده، چون تا آن لحظه هیچ گامی برای تقسیم کردن مصرف نشده. از فریم بعد به بعد، محتملترین ادامه یک «بله»، جملهای است که از آن بله دفاع میکند: «مقسومعلیهی جز ۱ و خودش ندارد.» و ۳۷۳۷ برابر ۳۷ ضرب در ۱۰۱ است. دو ضرب در ذهن، و کل ساختمان میریزد.
پس جوابی که پیش از حسابش آمده، دفاع است نه نتیجه. این یک پیشبینی است و میشود همین امروز آزمایشش کرد: همان سوال را دو بار بپرسید، یک بار با «اول بله یا خیر بگو» و یک بار با «اول تقسیمها را بنویس، جواب آخر». نرخ درست بودن بین این دو نسخه فرق میکند و علتش سواد مدل نیست، ترتیب گامهاست.
مدل هیچوقت یک حرف ندیده است
متن پیش از آنکه مدل حرفی از آن ببیند به توکن بریده میشود، و توکنها لزوماً کلمه نیستند و تقریباً هیچوقت حرف نیستند. چیزی که به مدل میرسد فهرستی از عدد است. برای فارسی این جمله یک نتیجه دقیق دارد که میشود شمردش.
کلمه میشود شش نویسه و سیزده بایت است: پنج حرف که هرکدام در UTF-8 دو بایتاند، و یک نیمفاصله که خودش سه بایت است. برای شما یک کلمه است. برای فایل شش نویسه است. برای برشگری که فارسی کم دیده، چند تکه است که هیچکدامشان مرز کلمه نیستند، و نیمفاصله وسطش یکی از بدترین جاهای ممکن برای برش است. همان جمله به انگلیسی، حرف به حرف، یک بایت میگیرد.
سه پیشبینی از همین یک چیز درمیآید. مدل نمیتواند حرفهای یک کلمه فارسی را قابل اتکا بشمارد، چون حرفها را ندیده. در تصحیح املا، جایی که فرق ز و ذ یا ت و ط داخل یک توکن افتاده باشد، تصحیح شانسی است نه دانشی. و کلمههایی که با نیمفاصله نوشته میشوند و کلمههای همانشکلِ بدون نیمفاصله، برای مدل دو چیز متفاوتند، حتی وقتی برای شما یک چیزند.
چرا فارسی زودتر جا تمام میکند
پنجره متن به توکن اندازهگیری میشود، نه به کلمه. وقتی هر کلمه فارسی به تکههای بیشتری بریده میشود، فارسی زودتر از انگلیسی جای پنجره را تمام میکند. همان قرارداد، همان آییننامه، همان تاریخچه پشتیبانی، به فارسی جای بیشتری میگیرد و زودتر به سقف میخورد. اثر عملیاش این است که وقتی سندی را میچسبانید و جواب از وسط سند بیخبر است، اولین حدس باید سقف پنجره باشد، نه بیدقتی مدل.
ترتیب
لایهای که خبر در آن است، همان است که زیر چیزی را نگرفته
از بالا به پایین یک فهرست خواندنی است. از پایین به بالا این است که چه چیزی چه چیزی را نگه داشته، و فقط خوانش دوم چیزی را توضیح میدهد.
- جدول مدلهاچه کسی چه میسازد. تنها تختهای که سال دیگر غلط استجایی که همه شروع میکنند
- مرزهاخرابیهای ساختاری، که تا تختههای زیرین نباشند خوانده نمیشوند
- معماریهاطرح پشت نسل امروز. در گذر اول میشود از رویش رد شد
- توکن و برداراینکه متن چطور عدد میشود، و چرا حرفها دیده نمیشوند
- خودِ ایدهیک توکن در هر گام، هرکدام محتملترین ادامهبقیه را نگه داشته
هیچچیز اینجا شماره ندارد، چون هیچکدام یک گام نیستند. میشود یک سال تمام فقط تخته بالایی را در دست داشت و با آن هیچچیز را پیشبینی نکرد.
حافظهای در کار نیست، متن هست
بین دو نوبت گفتوگو هیچچیز در مدل نمیماند. کل گفتوگو در هر نوبت از نو خوانده میشود، وگرنه اصلاً آنجا نیست. آنچه شبیه حافظه به نظر میرسد، متنی است که برنامهای بیرون مدل دوباره جلویش گذاشته، و هر چیزی که آن برنامه جا نگذاشته، نگذاشته است.
توکن بعدی از روی یک توزیع احتمال کشیده میشود، و دما تعیین میکند این کشیدن چقدر پخش باشد. دما تنظیمی است که همه اول از همه دستش میزنند و کاری که با مدل میکند وارونه انتظارشان است. پایین آوردن دما مدل را تکراری میکند، نه درست: همان محتملترین ادامه را با قطعیت بیشتری انتخاب میکند، و اگر آن ادامه غلط بود، حالا هر بار غلط است. برای کاری که یک جواب درست دارد این خوب است چون قابل تکرارش میکند، و درست بودن هیچوقت جزو معامله نبوده.
ایست: از سازوکار، جدول مدلها خوانده میشود و برشگر نه
اینجا جایی است که کار میایستد. آدمها سازوکار را به ترتیب جذابیت میخوانند: اول اینکه کدام مدل بهتر است، بعد معماریها، و بعد هم دیگر خبری نیست. توکنها آخر فهرست میمانند و هیچوقت خوانده نمیشوند، در حالی که تنها لایهای هستند که آنچه را هر روز در فارسی سرتان میآید توضیح میدهد. کسی که «ترنسفورمر» و «توجه» را بلد است و هنوز از مدل میخواهد حرفهای یک اسم را بشمارد، ایستاده و خودش خبر ندارد.
آنچه یک نقاشی از آن میتواند بگوید
هر تصویری از درونش همینقدر صادق است و بیشتر نه
از یک طرف عدد میرود تو و از طرف دیگر برای هر توکن ممکن یک امتیاز بیرون میآید، و وسط برچسب ندارد چون کسی نمیتواند برچسبش بزند.
- توکنهایی که فرستادیدتکههای کلمه، که از قبل عددند
- لایههایی که قاطیشان میکننددهها لایه، هرکدام به همه بقیه نگاه میکند
- باز هم همانهیچ لایهای اینجا کاری ندارد که بشود اسمش را برد
- امتیاز برای هر توکنبرای هر نامزد یکی، و نامزدها دهها هزارند
- یک توکن، کشیدهشدهنمونهبرداریشده، نه برداشتهشده از بالای فهرست
تنها ادعای ساختاری این نقاشی این است که هر چیزی در یک لایه به هر چیزی در لایه بعد میرسد. نمیتواند بگوید چرا جواب بله بود، و هیچ نقاشی بهتری از همین چیز هم نمیتواند.
تکهها را با چه چیزی میشود دید
tiktoken از ۲۰۲۶ جای شمردن کلمه و امیدوار بودن را گرفته است: تکههایی را که مدل واقعاً میبیند به شما پس میدهد، و برای فارسی این تنها راه دیدن چیزی است که تا حالا فقط توصیفش را خواندهاید. رایگان و متنباز است و از خود پایتون نصب میشود.
Hugging Face از ۲۰۲۶ جای مقالهای را گرفته که هیچ چیز اجراشدنی به آن وصل نبود: مدلها و برشگرهایشان آنجا هستند و میشود همان برشگر را روی متن فارسی خودتان امتحان کرد. مرور و دانلود رایگان است، و شمار زیادی از پروانهها استفاده تجاری را منع میکنند، پس پیش از ساختن چیزی روی یک وزن باز، پروانهاش را بخوانید. برای دیدن جریان توکنها همانطور که بیرون میآیند، Ollama از ۲۰۲۶ جای کامپایل کردن زمان اجرا با دست را گرفته، رایگان و متنباز است و نه حساب میخواهد نه کارت خارجی؛ هزینهاش دیسک و حافظه است.
از پایین بخوانید، نه از بالا
ترتیب درست از پایین شروع میشود. اول کاری که یک مدل زبانی واقعاً انجام میدهد، بعد اینکه متن چطور عدد میشود، که برای فارسی گرانترین لایه است. بعد طرحهای پشت نسل امروز، که در گذر اول میشود از رویش رد شد، و بعد خرابیهایی که ساختاریاند و باگ نیستند، که تا آن دو لایه زیرش نباشند فقط فهرستی از شکایت است. آخر از همه اینکه چه کسی چه میسازد و چطور انتخاب کنیم، که تنها تکهای است که سال دیگر غلط خواهد بود.
راهی که همه میروند از بالاست، و نتیجهاش قابل پیشبینی است: کسی که با جدول مدلها شروع میکند یک نظر دارد و هیچ پیشبینیای ندارد، و شش ماه بعد که جدول عوض شود چیزی برایش نمیماند. آنچه اینجا ساخته میشود پایینترین چیزی است که بقیه کار کردن با مدلها، فهمیدنشان، و ساختن با آنها رویش سوارند.
همین ماشین وقتی روی یک جدول از سطرها به کار میرود اسم دیگری دارد و ریاضی دیگری، که مدلهایی که از داده یاد گرفته میشوند، نه با دست نوشته موضوعش است. اینکه چرا استخر متن فارسی نازک است و این نازکی از کجا میآید، سوالی درباره به دست آوردنش، تمیز کردنش، و فهمیدن اینکه چه میگوید است. و هر چهار پیشبینی این صفحه در عمل به یک جا میرسند: گرفتن جواب بهدردبخور، به جای جوابی که فقط قانعکننده به نظر میرسد.
و یک سوال باز میماند: وقتی پنجره آنقدر بزرگ شد که عملاً هیچوقت پر نشود، کدامیک از این چهار پیشبینی از دست میرود. سهتای اول نه؛ آنها در ۲۰۲۳ هم درست بودند و در ۲۰۲۸ هم خواهند بود. چهارمی تنها ادعای این صفحه است که یک نسخه تازه میتواند از زیرش دربیاورد.