مدت بسیار بسیار زیادی بود که اینجا مطلبی نمینوشتم چون حقیقتا درگیر توسعه پلتفرم هوش مصنوعی مانی بودم (قبلتر هم اینجا در موردش نوشته بودم). و خب همین باعث شد که مدتی نسبتا طولانی، از دنیای بلاگ و بلاگنویسی دور باشم. اما خب همیشه هم در روی یک پاشنه نمیچرخه و گاهی هم لازمه دست به قلم شد. به همین خاطر آمدم اینجا مجددا تا در مورد چیرگی زبان انگلیسی در دنیای هوش مصنوعی و این که چرا باید نگران این موضوع باشیم بنویسم.
خواهشی که از خوانندگان این بلاگ دارم اینه که این پست رو از دید یک شخص دغدغهمند زبان فارسی بخونید و نه از دید یک مهندس کامپیوتر. چرا که بیشتر دغدغهها، از جنس دغدغه زبانی و فرهنگیه. حتی اگر زبان اول و مادری شما فارسی نیست، ازتون میخوام که این متن رو دقیقا با این دید بخونید که جای زبان شما هم در دنیای هوش مصنوعی، خالیه. پس بزنید بریم 🙂
هوش مصنوعی در خدمت انگلیسیزبانها
در سالهای اخیر، با ارائه مدلهای زبانی که در تولید متن (Text Generation) و طبقهبندی متن (Text Classification) و خلاصهسازی متن (Text Summerization) میتونن به ما کمک کنند یک ویژگی کاملا مشهوده. این مدلها عموما عمده دادهای که دیدن، به زبان انگلیسی بوده. مگر این که مدل، از مدلهای بسیار بزرگ (مثل GPT-3 یا BLOOM) بوده باشه که باز هم چیزی در حدود ۹۶-۹۷ درصد این داده ورودی، انگلیسی بوده.
خب شاید تا اینجا بشه تا حد خوبی قبول کرد که محتوای خوب در دسترس برای این مدلها – که عمدتا از وب کراول شدند – به زبانهاییه که تعداد گویشورانشون زیاده. مثل انگلیسی، مندرین (چینی)، عربی یا اسپانیایی. تا اینجا میشه قبول کرد. حتی این که اکثر این مدلها، توسط شرکتهای امریکایی توسعه داده شدن و زبان اون کشور هم انگلیسیه، نکته قابل قبولی میتونه باشه. اما مشکل اصلی ما کجاست؟ مشکل اینجاست که عمده این مدلها حتی الان داره در کسب و کارهای ایرانی استفاده میشه و نهایت کاری که شده، استفاده از یک مترجم ماشینی بوده.
نه فقط مدلهای تولید متن، بلکه مدلهای تولید تصویر و موسیقی و … هم از این قاعده مستثناء نبودند و حتی نسخههایی که با داده دلخواه آموزش دیدند (دقیقا مثل مانی) فعلا گرفتار به لعنت زبان انگلیسی هستند. در واقع عمده تلاشهایی که در جهت هوش مصنوعی صورت گرفته، الزام عجیبی داشته در دانستن و خوب بودن در زبان انگلیسی.
اما خب این تمام ماجرا نیست، حتی بسیاری از انگلیسیزبانها هم از این مدلها شکایت دارند. بیایید اون موارد رو در بخش بعدی با هم بررسی کنیم.
مشکلاتی که انگلیسیزبانها مطرح کردند
سانسورشدگی در خروجیهای مدل
مطمئنا در یک سال اخیر، شما هم با ChatGPT عزیز کار کردید. احتمالا هم خیلی وقتها، متوجه شدید که وقتی ازش سوالی میکنید، به شما میگه «متاسفانه به عنوان یک مدل زبانی بزرگ قادر نیستم در فعالیت غیرقانونی به شما کمک کنم».
گرچه این مورد به ذات میتونه خوب باشه (با توجه به نداشتن محدودیت سنی در استفاده) اما خب من رو شدیدا یاد رمان ۱۹۸۴ میندازه، اونجایی که زبان انگلیسی رو طوری تغییر داده بودن که اگر کسی خلافش صحبت میکرد مجرم بود. بخواهیم یا نخواهیم، این ابزارها مثل اینترنت و سایر رسانههای اجتماعی در شکلگیری و جهتگیری افکار ما میتونن موثر باشند. به همین خاطر این حد از سانسورشدگی که هم در چتجیپیتی، هم در لاما (مدل بزرگ مِتا) و هم در بارد (مدل بزرگ گوگل) شاهدیم، عاقبت خوبی نداره.
جهتدار بودن خروجیهای مدلهای زبانی بزرگ
بیایید فرض کنیم که کودکی وجود داره که هر روز به اسم «ناهار» بهش یک غذای خاص داده شده و نتونسته غذایی جز اون رو در وعده «ناهار» تجربه کنه. مثلا هرروز ساعت ۱۲ ظهر به این کودک شما یک عدد ساندویچ هاتداگ دادید. حالا نتیجه چی میشه؟
کافیه به این کودک لیستی از غذاها نشان بدیم و ازش بخواهیم که برای وعده ناهار امروز یکی رو انتخاب کنه. به نظرتون این کودک چه چیزی رو انتخاب میکنه؟
موضوعیتی که در این مساله «بایاس» در هوش مصنوعی داره از همینجا میاد. اگر داده ورودی ما، یک جهتگیری خاص داشته باشه، طبیعتا خروجی هم همونقدر میتونه جهتدار بشه. حتی اگر سانسوری در کار نباشه باز میتونه این ابزار، آلت دست جریانهای تفکری خاص بشه برای کنترل و شکلدهی افکار عمومی.
به همین خاطر هم مدلهای زیادی وجود داره که افراد روی داده کمتر جهتدار (مثل دادههایی که از بریتانیکا و ویکیپدیا میشه به دست آورد) آموزش دادند. حتی مدلهایی مثل Pygmalion دقیقا به خاطر همین موضوع جهتدار نبودن و سانسور نداشتن، از فضاهایی مثل Google Colab منع شدن!
برای زبان فارسی چه کاری میتونیم بکنیم؟
و حالا بحث ما میرسه به زبان شیرین فارسی و این که چه کاری از دستمون برای این زبان برمیاد؟ ابتدا باید ببینیم که این مدلها چطوری کار میکنن!
یک مدل زبانی بزرگ مثل LLaMa یا GPT-3 یا هر مدل دیگری (که این روزها حسابی سر و صدا کردند) کارکردشون اینطوریه که حجم زیادی از داده شامل متن میبینن. این داده میتونه مطلب بلاگ، اخبار یا مدخلهای ویکیپدیا باشه. بعد این داده رو که میبینن، تلاش میکنن ارتباط بین کلمات رو بفهمن. در بعضی موارد قادر به استخراج و تشخیص context هم هستند که اگر کلمات مشابهی رو دریافت کنند، چه پاسخی بدن.
بعد از اون، مبتنی بر ورودیای که ما بهشون میدیم (که بهش میگن پرامپت) شروع میکنن تولید یک سری رشته متنی. حالا در بعضی موارد این قضیه میتونه به این شکل باشه که ما برنامهنویسی کنیم تا در قالب پرسش/پاسخ به ما خروجی تحویل بده. در کل این مدلها ساخته میشن که متن تولید کنند، یا بتونن اون رو طبقهبندی کنن یا این که حتی خلاصهای از متن رو به ما بدن.
حالا سوال اینه که ما با این دانش، باید چی کار کنیم تا بتونیم زبان فارسی رو به چنین مدلهایی وارد کنیم؟
جمعآوری/تولید داده
همونطور که قبلتر هم توضیح داده بودم، یکی از سختترین بخشهای هر پروژه هوش مصنوعی، جمعآوری یا تولید داده مورد نظرمونه (لینک) و خب طبیعیه که وقتی ما میخواهیم روی موضوعات خاصی تمرکز داشته باشیم، جمعآوری و تولید این داده سختتر هم میشه.
برای جمعآوری داده فارسی، ما میتونیم از منابع زیادی استفاده کنیم. مثلا بلاگهای فارسی، اخبار، ویکیپدیا و … . فقط باید توجه داشته باشیم که این دادهها همیشه نیازمند تمیزکاری هستند.
راه دیگر، استفاده از روش جمعسپاری و درخواست از یک جامعهست برای تولید داده مورد نظر. یعنی مثلا یک پلتفرم ایجاد کنیم و از مردم بخواهیم که مثلا هرکسی یک پاراگراف در مورد یه موضوعی بنویسه. به این شکل در مدت کوتاهی، میتونیم به یک حجم خوبی از داده برسیم (مثل کاری که Mozilla Common Voice انجام میده).
خلاصه وقتی مشکل داده حل بشه، تقریبا همه چیز حله. ولی خب یک مساله دیگر هم هست که کمی بهش اشاره میکنم و امیدوارم در پست آینده بتونم سورپرایزتون کنم باهاش 😁
مدلهای پایه
بعد از جمعآوری دادههای مکفی، لازمه ذکر کنم که ما به مدل پایه هم نیاز داریم. مدلهایی مثل GPT-3 که امکان بازآموزی ندارند (چون اوپن سورس نیستند) و اگر داشته باشند هم این بازآموزی باید روی بستر OpenAI انجام بشه که طبیعتا خیلی گزینه منطقی و مناسبی نیست. مدلهایی مثل BLOOM یا Falcon 40B هم بسیار بزرگتر از این هستند که بتونیم حتی با داشتن حساب کاربری روی Google Colab Pro Plus آموزششون بدیم.
پس چی میمونه؟ مدلهای کوچکتر که دقت خوبی دادند. مدلهایی مثل GPT-J, GPT-NeoX, LLaMa, … میتونن پرفرمنس خوبی در این زمینه داشته باشند. تلاشهایی در این جهت داره میشه و به زودی در موردش در همین بلاگ خواهم نوشت 🤩
سخن آخر
در نهایت، باید بگم یکی از مهمترین عواملی که افراد یک جامعه رو کنار هم نگه میداره، زبانشونه. در روزگاران گذشته، حفظ زبان منوط به تاریخنگاری و شعر و … بوده. کمی گذشت، زبانها با نثر و رمان خودشون رو حفظ کردند و بعد از اون وارد عصر رسانه و جراید شدیم.
اما نکته اینه که در دنیای امروز، در سال ۱۴۰۲ خورشیدی، در ۲۰۲۳ میلادی یا هرچی که شما قبول دارید، حفظ زبانها، خواه فارسی خواه عربی، خواه ترکی خواه کردی، مستلزم اینه که ماشینها درک خوبی از اون زبان داشته باشند. به همین خاطر این پست بلاگ نوشته شد تا این نگرانی به گوش سایر افرادی که ممکنه دغدغه مشابه داشته باشند، برسه.
امیدوارم شاد و خندون و موفق باشید 🙂