LLM فارسی

RTL و چالش‌های زبان فارسی در LLM

RTL و چالش‌های زبان فارسی در LLM — راهنمای فارسی از مجموعهٔ «LLM فارسی» در وبلاگ آیرا. بازنویسی‌شده با تمرکز روی کاربر ایرانی و روایت شناخت پیوسته.

نوشتهٔ به‌روزرسانی: ۳ دقیقه مطالعه
تصویر مقالهٔ RTL و چالش‌های زبان فارسی در LLM

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

ماجرای RTL چیست؟

RTL مخفف «Right-to-Left» یا «راست به چپ»ه. فارسی، عربی، عبری و چند زبان دیگه RTL هستن — یعنی متن از سمت راست شروع می‌شه و به چپ ختم می‌شه. این به نظر فقط یه مشکل رابط کاربریه، ولی در واقع اثر عمیق‌تری روی پردازش LLM داره:

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

مشکل توکنیزیشن — گرون‌ترین چالش

بزرگ‌ترین چالش عملی فارسی در LLM، توکنیزیشن ناکارآمده. بذار با یه مثال روشن کنم:

کلمهٔ انگلیسی «hello» معمولاً یه توکنه. ولی معادل فارسی «سلام» ممکنه به ۲ تا ۴ توکن مجزا شکسته بشه، چون توکنایزر به اندازهٔ کافی روی فارسی تمرین نداشته. در نتیجه:

  • هزینهٔ API بالاتر: توکن بیشتر = پول بیشتر. تحقیقات نشون داده کاربران زبان‌های غیرلاتین تا ۲.۵ برابر بیشتر از کاربران انگلیسی برای همون متن هزینه می‌کنن.
  • کیفیت پایین‌تر: وقتی یه کلمهٔ فارسی به چند تکهٔ بی‌معنی شکسته می‌شه، مدل نمی‌تونه معنیش رو درست بفهمه.
  • کندی پردازش: توکن بیشتر یعنی زمان پردازش بیشتر.

صرف‌ونحو فارسی چالش‌زاست

فارسی از نظر دستوری با انگلیسی تفاوت‌های جوهری داره که LLM رو گیج می‌کنه:

ترتیب کلمات: ترتیب معمول فارسی «فاعل - مفعول - فعل» (SOV) است، در حالی که انگلیسی «فاعل - فعل - مفعول» (SVO) داره. مثال: «علی کتاب خرید» در برابر «Ali bought a book». وقتی مدل عمدتاً روی انگلیسی تمرین دیده، پردازش ساختار SOV برایش سخت‌تره.

وابسته‌های پسایندی: در فارسی پسوندهایی مثل «-ها»، «-ی»، «-ام»، «-ت» به کلمه وصل می‌شن و معنیش رو عوض می‌کنن. «کتاب»، «کتابم»، «کتابت»، «کتاب‌هایشان» — از نظر ریشه‌شناسی همه یه چیزن ولی توکنایزر فارسی‌نشناس ممکنه این رابطه رو نبینه.

ریشهٔ مشترک، معانی مختلف: این چالشی که عربی هم داره. کلماتی مثل «نوشت»، «نویسنده»، «نوشته»، «نوشتار» از یه ریشه‌ان. مدل باهوش باید این رابطه رو بشناسه.

ادغام فارسی و عربی در توکنایزر

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

اعداد فارسی و عربی-هندی

در فارسی از اعداد «فارسی» (۰ ۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹) استفاده می‌شه که با اعداد لاتین (0 1 2 3 4 5 6 7 8 9) فرق دارن. بعضی مدل‌ها موقع پردازش محاسبات یا تاریخ‌های فارسی دچار خطا می‌شن، چون توکنایزرشون این رو جدا مدل نکرده.

دیتاست کم — ریشهٔ اصلی مشکلات

همهٔ چالش‌های بالا به یه دلیل اصلی برمی‌گرده: داده‌های آموزشی فارسی در مقایسه با انگلیسی خیلی کمتره. Common Crawl که یکی از پایه‌های آموزش اکثر LLM‌هاست، عمدتاً از اینترنت انگلیسی‌زبان جمع‌آوری شده. نتیجه اینه که فارسی در مدل‌های بزرگ جهانی یه «زبان درجه دو» می‌شه — می‌فهمن ولی نه به خوبی انگلیسی.

راه‌حل‌های فعلی

چند رویکرد برای بهبود وضعیت وجود داره:

توکنایزرهای اختصاصی فارسی: تحقیقاتی مثل AraToken (برای عربی) نشون داده که یه توکنایزر اختصاصی می‌تونه هزینهٔ پردازش رو تا ۳ برابر کاهش بده. پروژه‌های مشابه برای فارسی هم در جریانه.

Fine-tuning روی فارسی: مدل‌هایی مثل پارس‌برت از همین روش استفاده کردن — یه مدل پایه رو گرفتن و روی متون فارسی تنظیم دقیق (fine-tune) کردن.

مدل‌های بومی: ساخت مدل از ابتدا با دیتاست فارسی، که گران‌ترین ولی موثرترین راهه.

وضعیت امروز مدل‌های محبوب

از نظر کیفیت فارسی، مدل‌های بزرگ جهانی دسته‌بندی ضمنی دارن:

  • GPT-4 و Claude 3.5+: قابل قبول برای اکثر کارها، ولی گاهی اشتباهات دستوری و غلط‌های تایپی نادیده می‌گیرن
  • Gemini: نسبتاً خوب در فارسی، کمی بهتر در متن‌های طولانی
  • مدل‌های کوچک‌تر: اغلب در فارسی ضعیف‌ترن چون داده‌های آموزشی کمتری دیدن

برای مطالعهٔ عمیق‌تر دربارهٔ مدل‌های فارسی، مدل زبانی فارسی چیست رو ببین.

همچنین بخوان

#LLM فارسی

ادامهٔ مسیر

همهٔ مقاله‌ها ←

بیشتر در «LLM فارسی»