چرا مدل حرفهای یک کلمه را بد میشمرد
جواب کوتاه
مدل زبانی کلمه رو حرف به حرف نمیبینه؛ یه یا چند تکه میبینه. مثلا strawberry برای ما ده حرفه، ولی برای مدل ممکنه سه تکه باشه، و اون سه تا r پنهون توی این تکهها. برای اینکه بشمره چند تا r داره، مدل باید از قبل یاد گرفته باشه هر تکه از چه حرفهایی ساخته شده؛ چیزی که فقط غیرمستقیم از متنها یاد میگیره. برای همین کارهایی مثل شمردن حرف، وارونه نوشتن، یا پیدا کردن یه حرف توی کلمه، که برای ما خیلی سادهان، برای مدل سختن. پژوهشها دلیلهای دیگهای هم گفتن، مثل کمبود دادهی سطح حرف. یه راه ساده: ازش بخواید اول کلمه رو حرف به حرف، با فاصله، بنویسه و بعد بشمره.
مسئلهی معروف
یه سوال که به نظر بچگانه میاد ولی خیلی از مدلهای زبانی رو زمین زد: «توی کلمهی strawberry، چند تا r هست؟»
جواب سهست. شما با یه نگاه میشمریدش. ولی خیلی از مدلها، همون مدلهایی که مقاله مینویسن و کد درست میکنن، این سوال رو اشتباه جواب دادن؛ اونقدر که توی پژوهشها اسمش شد «مسئلهی strawberry».
اگه درس توکن رو خونده باشید، احتمالا حدس میزنید چرا. شما ده تا حرف میبینید. مدل چند تا آجر میبینه؛ مثلا سه تا. برشهای تصویر نمونهان و هر توکنساز جور خودش میبره؛ ولی مهم اینه که حرفها، و اون سه تا r، داخل آجرها پنهونن.
چرا
یادتونه که مدل فقط شمارهی آجرها رو میبینه؟ برای مدل، «berry» فقط یه شمارهست؛ مثلا ۹۱۴۲. هیچجا روی این شماره نوشته نشده که از پنج تا حرف ساخته شده و دو تاش r هست. مدل باید این رو جداگانه، از لابهلای متنهایی که خونده، فهمیده باشه.
کجا ممکنه فهمیده باشه؟ مثلا از متنهایی که یه کلمه رو هجی کردن، یا جدول قافیهها، یا بازیهای کلمه. ولی اینجور متنها، در برابر کل متنهای دنیا، کمن. برای همین مدل خیلی چیزها دربارهی «معنی» berry میدونه، ولی دربارهی «حرفهای» berry کمتر.
یعنی وقتی میپرسید «چند تا r؟»، از مدل نمیخواید بشمره؛ ازش میخواید یادش بیاد هر کدوم از این آجرها چه حرفهایی داره، و بعد جمع بزنه. یه کار دو قدمی که قدم اولش، برای مدل، یه جور حفظیاته.
دلیلهای دیگه
توکنسازی دلیل اصلیه، ولی تنها دلیل نیست. یه پژوهش در سال ۲۰۲۴ سه دسته دلیل رو که کارهای قبلی گفته بودن کنار هم گذاشت: توکنسازی؛ محدودیتهای خود سازوکار توجه، که دربارهش توی مسیر ترنسفورمرها میخونید؛ و کمبود دادهی آموزشی در سطح حرف. همون پژوهش دید خطاها به این ربط داره که اون کلمه و تکههاش چقدر توی دادهی آموزش اومدن، و چقدر شمردنش سخته.
یه پژوهش دیگه در ۲۰۲۵ دید این تواناییهای سطح حرف، موقع آموزش دیر و یهو پیدا میشن؛ یعنی مدل میتونه یادشون بگیره، ولی سختتر و دیرتر از خیلی چیزهای دیگه. یه پیشنهادشون هم یه تغییر کوچیک توی ساختمان مدل بود تا این کارها بهتر بشن. پس این مشکل قابل بهتر شدنه، و مدلهای تازهتر ممکنه توش بهتر باشن؛ ولی ریشهش، که آجر دیدن به جای حرفه، سر جاشه.
کارهای سطح حرف
شمردن r فقط یه نمونهست. هر کاری که برای انجامش باید «داخل آجرها» رو دید، همین گیر رو داره:
پژوهشها اینها رو جدا میسنجن: شمردن یه حرف، اینکه یه حرف توی کلمه هست یا نه، اینکه یه کلمه از دو طرف یکی خونده میشه یا نه، اینکه با چند تا تغییر حرف یه کلمه به یه کلمهی دیگه میرسه، و اینکه کدوم کلمه بلندتره. وارونه نوشتن یه کلمه هم از همین جنسه.
اینها فقط بازی نیستن. یه پژوهش در ۲۰۲۶ نشون داد کارهای واقعیای مثل خوندن دقیق جدولها، یا متنهایی که یه نقشه رو با حرفها کشیدن، هم به همین فهم دقیق زیر سطح آجر احتیاج دارن. پس اگه از چتبات کاری میخواید که به جای دقیق حرفها و فاصلهها بستگی داره، حواستون باشه.
عددها هم تکه میشن
همین ماجرا برای عددها هم هست، و برای همین حساب ساده هم گاهی برای مدل سخته.
توکنساز عدد بلند رو هم تکهتکه میکنه. بعضی توکنسازهای مشهور عدد رو از چپ، سه رقم سه رقم، میبرن: ۱۲۳۴۵۶۷ میشه «۱۲۳»، «۴۵۶» و «۷». ولی ما موقع جمع کردن از راست شروع میکنیم، یکان، دهگان، صدگان؛ و این تکهها با ستونهای حساب جور نیستن. یه پژوهش ۲۰۲۴ نشون داد اگه عدد رو با ویرگول هزارگان بنویسید، یعنی ۱,۲۳۴,۵۶۷، تا تکهها از راست بریده بشن، حساب مدلها خیلی بهتر میشه. همون پژوهش گفت این فاصله توی مدلهای بزرگتر کمتره، و فکر کردن قدم به قدم هم کمک میکنه.
پس اگه یه حساب مهم دارید، عددها رو با جداکنندهی هزارگان بنویسید، از مدل بخواید قدم به قدم حساب کنه، و از همه مطمئنتر، اگه ابزار اجرای کد داره، ازش بخواید با کد حساب کنه. درس اشتباه در حساب ساده این رو از دید کاربر بررسی کرده.
دور زدن
حالا که دلیلش رو میدونید، راه دور زدنش هم سادهست: کاری کنید که هر حرف خودش یه آجر بشه.
از مدل بخواید اول کلمه رو حرف به حرف، با فاصله بین حرفها، بنویسه. وقتی حرفها از هم جدان، توکنساز احتمالا هر حرف رو یه آجر جدا میبینه؛ همون چیزی که توی درس توکنسازی دیدیم. حالا شمردن r ها، شمردن آجرهای r هست، که خیلی سادهتره. این یه راه منطقیه، نه یه تضمین؛ ولی معمولا کمک میکنه.
یه راه مطمئنتر هم هست: اگه چتبات ابزار اجرای کد داره، ازش بخواید با کد بشمره. کد حرفها رو یکییکی میبینه و اشتباه نمیکنه. درس استفاده از ابزار این رو باز میکنه.
چند نکته
- زیاد تعجب نکنید. مدلی که اینجا اشتباه میکنه، کمهوش نیست؛ فقط حرفها رو نمیبینه.
- برای کار سطح حرف، حرف به حرف بنویسه. اول هجی، بعد شمردن یا وارونه کردن.
- اگه ابزار کد هست، ازش استفاده کنید. برای شمردن و کارهای دقیق، مطمئنتره.
- جدول و جای دقیق حرفها رو بسنجید. اینجور جاها همین مشکل پیدا میشه.
با این درس، ایستگاه توکن تموم شد. ایستگاه بعد میره سراغ قدم دوم داخل مدل: تکهها چطور «معنیدار» میشن؟ امبدینگ در هوش مصنوعی چیست.
جمعبندی. آنچه از این درس با خودتان میبرید.
- مدل آجر میبینه، نه حرف.
- حرفها توی آجرها پنهونن.
- شمردن، وارونه کردن، و مشابهش سختن.
- دادهی سطح حرف هم کمه.
- حرف به حرف بنویسه، بعد بشمره.
خودتون رو بسنجید
۱۵ پرسش، هر بار تازه از میان ۳۰ پرسش این درس. آخرش فقط کارنامه رو میبینید: چند تا درست، چند تا نادرست.