Unsupervised Cross-lingual Representation Learning at Scale ۲۰۲۰
مختصر: ارائهٔ مدل جدید چندزبانهای تحت عنوان XML-R (که ۱۰۰ زبان رو پشتیبانی میکند)
مقدمه:
ادعا میکنه که کارهای قبلتر از خودش همه چون روی دادههایی مثل ویکیپدیا بودند برای زبانهایی که منابع کم دارند مقیاس خیلی کمی از داده رو پوشش دادند.
ادعا میکند که یک بدهبستان بین زبانهای با منابع بالا و منابع کم و تاثیر آنها در نمونهگیری و اندازهٔ مجموعهٔ لغات وجود داره که ایشان اندازهگیریاش کردهاند که نتیجهاش این میشه:
هرچه زبانها بیشتر بشه عملکرد متقاطعزبانی روی زبانهای با منابع محدود تا یک جای مشخصی بهبود پیدا میکند و بعد از اون عملکرد روی بنچمارکهای تکزبانه و متقاطعزبانی شروع به کم شدن میکنه و به این اتفاق نام «نفرین چندزبانی» مینهند.
همچنین نشان میدهند که این اثر نفرین میتواند با توجه به ظرفیت مدل کم بشه و میگن که نتایجشون گویای این هست که میشه یک مدل زبانی بزرگ برای همهٔ زبانها داشت بدون اینکه عملکرد روی per-language قربانی بشه.
بخش کارهای مرتبط:
قبلتر ایشان، مدلهای mBERT و XLM mask-مدلهایی بودند که روی چندین زبان آموزش داده شدند بدون اینکه از نظارت چندزبانی بهره ببرند. همچنین یه عدهای هم مدل TLM رو ارائه کردند که با استفاده از دادههای موازی یک sot از زبانهای طبیعی متقاطعزبانی برای استنتاج ارائه کردند. یه چندینتا مدل دیگه رو هم توی مقالهشون نام میبرند که یک سری آزمایشاتی رو روی BERT و XLM و امثالهم انجام دادند. و میگن که اینها توی آزمایشهای خودشون نشون دادند که mBERT و XLM هنوز به اندازهٔ کافی tune نشدن و میشه عملکردشون رو بهبود داد. برای این کار هم دادهٔ CC رو تمیز کردند و استفاده کردند. در نهایت تاکید میکنند که کار ایشان تمرکزش روی نمایش متقاطعزبانی بدون نظارت و تسکهای discriminative هست.
بخش مدل و داده:
گفتن رویکرد XLM رو تا جای ممکن دنبال کردند و صرفا به تغییراتی که منجر شده تا در مقیاس عملکرد بهبودی حاصل بشه رو معرفی میکنند.
از Mask Language Modelها استفاده کردند یعنی از مدل Transformerها با تابع خدف MLM روی دادههای تکزبانه. روششون هم این شکلی بوده که از متنهایی که برای هر زبان داشتند نمونهگیری کردند و مدل رو با استفاده از این نمونهها آموزش دادند و توکنهای masked شده در ورودی رو گذاشتند که مدل پیشبینی کنه. برای این کار هم از روش توکنکردن subword روی همون دادههای خام با استفاده از Sentence Piece با مدل زبانی unigram بهره جستند. یک سری از پارامترها رو هم تغییر دادند مثل آلفا که نمیدونم مربوط به چی میشده.
در نهایت مدلشون رو روی ۱۰۰ تا زبان گذاشتند که اجرا بشه و یک لیست هم از زبانهایی که برای اجرا گذاشتن رو توی ضمیمه آوردند و گفتن که بعضی از زبانهایی که کمتر مرسوم بوده را با یک زبانهای دیگه که توی ککار قبلی داشتن جایگزین کردن. برای گزارش دادن نتایجشون هم از دو تا لیست کوچک و بزرگ که شامل هم زبان با منابع زیاد و هم زبان با منابع محدود و کم هست رو استفاده کردند. یه اشارهای هم در آخر این بخش به اینکه برای به دست آوردن این ۱۰۰ تا زبان دادههای CC رو تمیز کردند و برای تشخیص زبان از مدل fastText استفاده کردند (یه شکل هم گذاشتند که ببینید چه قدر داده استخراج کردیم در مقایسه با دادهٔ ویکیپدیا!). یک چیز دیگه هم گفتن اینکه مدلهای زبانی رو روی هر یک از این زبانها آموزش دادند و از اون برای فیلتر کردن متنها سود بردن (فکر کنم شبیه کاری که توی گروه داده من همین دیروز کردم برای quality filtering باید مقالهای که رفرنس داده رو ببینم).
بخش ارزیابی
نمیدونم چرا من از قسمت ارزیابی خوشم نمییاد (از این ایموجیهایی که دندانهایش رو روی هم گذاشته).
گفتن که از چندین تا بنچمارک از جمله GLUE (که ظاهرا مخفف General Language Understanding Evaluation هست) استفاده کردن که عملکرد زبان انگلیسی رو با مدلهای sota مقایسه کنند. بنچمارکهای دیگه که انجام دادند هم شامل XNLI (Cross Natural Language Inference) و NER و XLQA و XQA میشده.
بخش آنالیز و نتایج
من فقط اشارهوار چیزهایی که به نظرم نکته مییاد رو مینویسم:
- برای مدلهای با اندازهٔ ثابت، با اضافه کردن زبان قابلیت per-language کم میشه در حالی که عملکرد زبانهای با منابع کم میتونه با اضافه شدند زبانهای با منابع بالا در طول آموزش بهبود پیدا کنه و در کل عملکرد downstream از رقیق شدن(!) توانایی کاسته مبشه. برای اثبات این حرف هم گفتن ببینید ما از ۷ تا ۱۵ زبان مدل رو آموزش دادیم و مدل از تبدیلات مثبت توسته این بهره رو ببره که عملکردش در زبانهای با منابع کم بهتر بشه اما اضافه کردن زبانهای بیشتر ما رو به نفرین چندزبانی مبتلا کرده ... و در کل دقت در XNLI از 71.8درصد کاهش پیدا کرده به 67.7درصد. و گفتن که این مشکل در مدلهای کوچیک بیشتر به چشم میاد و دوباره آزمایش مشابهی رو تکرار کردن ولی اندازهٔ لایه پنهان رو از 768 به 960 و 1152 افزایش دادند که نتیجهاش این بوده که اضافه کردن ظرفیت باعث میشه اثر نفرین کمرنگ بشه ولی باز میگن نفرین از بین نمیره و کم بودن مجموعهٔ لغات رو انگار دلیل این موضوع دونستن
- گفتن که ظرفیت مدل برای زبانهای مختلف توسط این پارامترها کنترل میشه: اندازهٔ مجموعهٔ آموزش، اندازهٔ subwordهای مشترک بینزبانی از مجموعهٔ لغات، نرخ نمونههایی که در طول آموزش استفاده شدن (؟! آخری رو نفهمیدم خوب). گفتن انگار هر چی زبانهای با منابع بالا رو مدل بیشتر دیده باشه، خب کیفیت نهاییاش روی زبانهای با منابع بالا بهتر میشه و برعکس و گفتن خوبه که انگار نرخ دیدن نمونههای آموزشی که ربطی به پارامتر آلفا نامی داره رو بذاریم ۰.۳
- گفتن آقاجان، بزرگتر بودن اندازهٔ مجموعهٔ لغتها چیز خوبیه و مثلا مدل xlm-100 رو بر روی دادهٔ ویکیپدیا با اندازهٔ لغتهای مختلف چک کردن (سوال من: آیا این بدیهی نیست؟ خب کسی که لغتهای بیشتری بلد باشه میتونه متنهای زیباتری بنویسه چون میتونه مترادفها رو بهتر به کار ببره؛ این برای مدلهای شبکهٔ عصبی هم که از روی مدل مغز کپی شدند باید صادق باشه خب!) مدل نهاییشون هم 250K اندازهٔ مجموعهٔ لغتهایش هست.
- و نشون دادن که مجموعهٔ دادهٔ بزرگتر و همینطور برای مدل زمان بیشتر MLM رو ران گرفتن چیز خوبی است و اصلا مدل قبلیا که دادهشون کم بوده UnderTune بودن
و تهش نتایجشون رو گزارش کردند و نوشتن که
We use the multilingual MLM loss and train our XLM-R model for 1.5 Million updates on five-hundred 32GB Nvidia V100 GPUs with a batch size of 8192
۵۰۰ تا کارتگرافیک ۳۲ گیگی Nvidia با بچسایز ۸۱۹۲ همین 😊
بقیهٔ مقاله رو هم حال خوندن نداشتم 😐
- ۰۲/۰۵/۲۹