مدل رترو؛ ترکیب مدل زبانی و دیتابیس!
شرکت دیپمایند مدلی به نام رترو داده که با ۷.۵ میلیارد پارامتر با مدلهایی مثل GPT-3 با ۲۵ برابر پارامتر در تسکهای بر پایهی اطلاعات (مثل پرسش و پاسخ) برابری میکند.
همونطور که میدونید مدلهای زبانی برای پیشبینی احتمال یک کلمه با توجه به کلمات قبل و بعد ساخته شدهاند. این پیشبینی گاهی نیاز به دانش زبانی مانند گرامر و درک معنا داره و گاهی نیز نیاز به اطلاعات دانش عمومی داره. مثلا در جملهی «علی کاپوت ماشین را … زد.» مدل باید با دانش زبانی بگه: «بالا» و مثلا در جملهی «کارگردان فیلم یک تکه نان … است» باید مدل با اطلاعات و دانش، جای خالی رو با «کمال تبریزی» پر کنه (البته طبیعتا نباید این موضوع را قبلا در دادهی آموزش دیده باشه).
مدلهای زبانی غولآسا مثل جیپیتی تمام اطلاعات را در پارامترهای مدلشون ذخیره میکنند. برای دانش زبانی شاید این روش جواب بده اما برای دانش عمومی قطعا کارا نیست چون شونصد تا فکت وجود داره. حالا تیم دیپ مایند مدلی به نام RETRO (Retrieval Enhanced TRansfOrmers) ارائه کرده که از یک مدل زبانی خیلی کوچکتر از جیپیتی برای دانشهای زبانی و یه دیتابیس بزرگ از اطلاعات عمومی داره استفاده میکنه. حالا این روش چند تا فایده بزرگ داره: اول اینکه مدل زبانی میتونه خیلی کوچیکتر باشه و فقط روی بحثهای زبانی تمرکز کنه که این یعنی سریعتره و استفاده و دیپلویش هم راحتتر میشه. دوم. واسه اینکه سوالها و دادههای جدید (مثلا سوال: «ماتریکس (۴) در چه سالی ساخته شد؟») را هم مدل پاسخ بده لازم نیست دیگه دوباره آموزش داده بشه و کافیه که دیتابیس بهروز بشه. در پست webgpt شرکت OpenAI قسمت بازیابی رو روی دوش اینترنت انداخته بود و توصیه میکنیم حتما اون پست را هم بخونید.
حالا مدل retro مثل مدل T5 در حقیقت یک انکودر-دیکودره و از یک دیتابیس استفاده میکنه. دیتابیس به صورت key-value دادهها رو ذخیره کرده. مقدار دو بخش داره: neighbor که یک متنه و امبدینگ برتش میشه کلید و بخش دوم به نام completion که ادامهی متن neighbor است. این دیتابیس ۲ تریلیون توکن داره!!
نحوه آموزش بدین شکله که ورودی اول میره داخل برت و با استفاده از میانگینگیری از امبدینگهای کلمات، امبدینگ جمله ساخته میشه. با این بردار، به دیتابیس کوئری زده میشه و نزدیکترین همسایهها با الگوریتم scann پیدا میشه. حالا این متنها (همسایهها و ادامهشون) با متن ورودی اصلی، میشن ورودی به رترو تا آموزش ببینه که پاسخ رو تولید بکنه. یعنی اینجوری مدل یاد میگیره با دیتابیس و نه فقط با پارامترهاش جواب رو تولید کنه. معماری کلی مدل در مقاله توضیح داده شده و مفصلش رو نگاهش کنید؛ دو استک انکودر و دیکودر داره که استک انکودر ۳۲ تا بلوک انکودر ترنسفورمری عادی داره و استک دیکودر از بلوکهای دیکودر ترنسفورمری و یک سری بلوک بلوک دیکودر رترو ساخته شده. این معماری دیکودر رترو هم یه بخش اضافه به نام chunked cross-attention داره. مدل را در تسکهایی مثل تسک مدل زبانی و تسک پرسش و پاسخ و … هم امتحان کردند و نتایجش را در مقاله ببینید.
تصاویری از خلاصه معماری و نحوه عملکرد مدل رو هم میتونید در ضمیمه مشاهده کنید.
لینک مقاله:
https://arxiv.org/abs/2112.04426
لینک رشته توئیت خلاصه مقاله:
https://threadreaderapp.com/thread/1474702607444815873.html
#read
#paper
@nlp_stuff
Post #265
2.48K