موضوع مقاله: برت (مدل زبانی) | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # برت (مدل زبانی) | مقدمه: بازنمایی‌های رمزگذار دوسویه از ترنسفورمر یک مدل زبانی است که در اکتبر ۲۰۱۸ توسط پژوهشگران گوگل معرفی شد. | ## بخش 1: برت (مدل زبانی) | این مدل برای نمایش هر نوع متنی به شکل یک توالی از بردارها، از یادگیری خودنظارتی استفاده می‌کند که بر روی معماری ترنسفورمر فقط رمزگذار اعمال شده است. بهره‌گیری از آن به عنوان نمونه‌ای اولیه از یک مدل زبانی بزرگ، و در نار بهبود چشمگیر عملکرد آن نسبت به مدل‌های دیگر آن را دارای اهمیت خاص کرده است. برت مشابه ال‌مو و جی‌پی‌تی ۲، در طول فرایند آموزش و در بطن خود، نمایش‌های درونی و وابسته به متن را از روی توکن‌ها فرا می‌گیرد. این مدل در بسیاری از وظایف پردازش زبان طبیعی، مانند تشخیص و رفع ابهام هم‌مرجع و رفع ابهام چندمعنایی، کاربرد پیدا کرده است. این مدل گامی تکاملی نسبت به ال‌مو محسوب می‌شود و به پیدایش حوزه‌ای موسوم به «برتولوژی» منجر شد و در تلاش است فرا بگیرد که برت دقیقاً چه چیزهایی را یاد گرفته است. در ۱۱ مارس ۲۰۲۰، ۲۴ مدل کوچک‌تر نیز منتشر شدند که مدل BERTTINY با ۴ میلیون پارامتر کوچک‌ترین آن‌ها بود. ابتدا متن ورودی به یک توالی از توکن‌ها تبدیل و سپس توکن‌های ویژه اختیاری اضافه می‌شوند. حالت‌های پنهان لایه نهایی می‌توانند به عنوان بردارهای واژگانِ وابسته به زمینه متن به کار گرفته شوند. در دید کلی، برت از چهار ماژول تشکیل شده‌است: توکن‌ساز: این ماژول یک متن انگلیسی را به یک توالی از اعداد صحیح (توکن‌ها) تبدیل می‌کند. دگرنمایی: این ماژول، توکن‌های گسسته را به فضایی با ابعاد کمتر (با بردارهای حقیقی) می‌نگارد و نشان‌دهنده مرحله تبدیل انواع توکن‌های گسسته به یک فضای اقلیدسی با بعد کمتر است. رمزگذار: پشته‌ای از بلوک‌های ترنسفورمر دارای خود-آگاهی است اما بدون پوشانندگی علّی. سر وظیفه: این ماژول، بردارهای نمایشِ نهایی را دوباره به توکن‌های یک داغ نگاشت می‌کند و خروجی آن یک پیش‌بینی از توزیع احتمال بر روی انواع توکن‌ها است. گرچه سرِ وظیفه برای پیش‌آموزش لازم است، اما غالباً در وظایف به اصطلاح «پایین‌دستی» مانند پرسش و پاسخ یا عقیده کاوی به کار نمی‌آید. در این کاربردها، سر وظیفه حذف می‌شود و یک ماژولِ جدید که برای آن وظیفه مناسب است اضافه شده و سپس تنظیم‌‌دقیق بر روی مدل انجام می‌شود. به این ترتیب، بردارِ نمایش پنهانِ مدل به طور مستقیم وارد ماژول جدید شده و یک یادگیری انتقالی با کاراییِ نمونه‌ای بالا به دست می‌آید.. امروزه با مجموعه داده‌های به نسبت کوچک روی وظایف دلخواه پردازش زبان‌های طبیعی هم می‌توان به نتایج خوب با دقت‌های بالایی رسید و به صورت محاسباتی هم هزینه کمتری دارند چرا که پیش از این، برت بر روی داده‌های زیادی آموزش داده دیده است. ماژول توکن‌ساز برت، وُردپیس است که یک راهکار زیرواژگانی همچون کدگذاری جفت بایت محسوب می‌شود. اندازه واژگان آن ۳۰٬۰۰۰ است و هر توکنی که در واژگان آن وجود نداشته باشد، با توکن [UNK] («ناشناس») جایگزین می‌شود. لایه اول، لایه دگرنمایی واژه است که از سه بخش تشکیل شده‌است: دگرنمایی نوع توکن، دگرنمایی جایگاه (موقعیت) و دگرنمایی نوع قطعه متن. نوع توکن: این ماژول یک لایه دگرنمایی استاندارد است که بر اساس نوع توکن، یک بردار یک داغ را به یک بردار چگال (فشرده) تبدیل می‌کند. هر بعد از این بردار یک موج سینوسی است که جایگاه توکن در توالی را به عنوان ورودی دریافت می‌کند. نوع قطعه : با استفاده از یک مخزن واژگان صرفاً ۰ یا ۱، این لایه یک بردار چگال تولید می‌کند و عملاً نمایشی از تعلق توکن به بخش اول یا دوم متن ورودی است. | ## بخش 2: برت (مدل زبانی) | به‌عبارت دیگر، توکن‌هایی که پس از توکن ویژه [SEP] قرار گرفته‌اند همگی از نوع ۱ هستند و توکن‌های پیش از آن از نوع ۰. این سه بردار دگرنمایی با هم جمع می‌شوند تا نمایش اولیه توکن بورت تابعی از این سه دسته اطلاعات شکل بگیرد. پس از مرحله دگرنمایی، نمایش برداری با استفاده از عملیات نرمال‌سازی لایه‌ای نرمال‌سازی می‌شود و یک بردار ۷۶۸-بعدی برای هر توکن ورودی بدست می‌آید. سپس، بردارهای نمایش از ۱۲ بلوک رمزگذارِ ترنسفورمر عبور می‌کنند و در انتها، با یک لایه تبدیل خطی ساده به فضای واژگانی ۳۰٬۰۰۰-بعدی بازگشایی می‌شوند. خانواده ساختار پشته رمزگذار برت دو پارامتر آزاد دارد: (تعداد لایه‌ها) و (اندازه پنهان). همیشه تعداد سرهای توجه خود برابر است و اندازه لایه میانیِ شبکه پیش‌خور یا فیلتر همواره در نظر گرفته می‌شود. برای برت: «اندازه پیش‌خور» و «اندازه فیلتر» هم‌معنا هستند و هر دو اشاره به شمار ابعاد در لایه میانیِ شبکه پیش‌خور دارند. «اندازه پنهان» و «اندازه دگرنمایی» نیز هم‌معنا هستند و هر دو اشاره به تعداد اعداد حقیقی مورد استفاده برای نمایش یک توکن دارند. به عنوان نمونه، برت پایه به صورت 12L/768H نوشته می‌شود، برت بزرگ به‌شکل 24L/1024H، و برت کوچک نیز با 2L/128H نشان داده می‌شود. با جزئیات بیشتر می توان این طور بیان کرد: با احتمال ۸۰٪ توکن انتخابی با [MASK] جایگزین می‌شود. دلیل این که همه توکن‌های انتخابی پوشیده نمی‌شوند، جلوگیری از مشکل جابه‌جایی توزیع است. این مشکل زمانی پدید می‌آید که توزیع داده‌های ورودی در مرحله آموزش به‌طور چشمگیری با توزیع داده‌ها در مرحله استنتاج متفاوت باشد. یک مدل برت آموزش‌دیده را می‌توان برای نمایش واژگان (مشابه Word2Vec) استفاده کرد، بدین ترتیب این مدل به جای فعالیت بر روی یک توکن [MASK] شده، می‌تواند بر روی کل جمله اعمال می‌شود. در مرحله بعد سه احتمال وجود دارد: با احتمال ۸۰٪ توکن انتخابی پوشیده می‌شود و نتیجه «سگ1 من2 [MASK] است4» خواهد بود. با احتمال ۱۰٪ توکن انتخابی با یک توکن تصادفی مثل «خوشحال» جایگزین می‌شود، یعنی «سگ1 من2 خوشحال3 است4». با احتمال ۱۰٪ تغییری ایجاد نمی‌شود و جمله به همان صورت «سگ1 من2 بامزه3 است4» باقی می‌ماند. پس از پردازش متن ورودی، بردار خروجیِ چهارم مدل به لایه رمزگشای آن ارسال می‌شود که یک توزیع احتمالی را در فضای واژگان ۳۰٬۰۰۰-بعدی‌اش خروجی می‌دهد. تنظیم‌‌دقیق برت به عنوان مدلی پیش‌آموزش‌دیده، برای کاربری‌های گوناگون در پردازش زبان طبیعی طراحی شده است. مقاله اولیه برت نتایجی را منتشر کرد که نشان می‌داد با مقدار کمی از تنظیم‌‌دقیق (برای مدل برت بزرگ، به میزان ۱ ساعت بر روی ۱ تی‌پی‌یو ابری) به آن این امکان را می‌دهد که در شماری از وظایف درک زبان طبیعی جزو بهترین‌ها باشد: مخزن داده GLUE (ارزیابی درک زبان عمومی) شامل ۹ وظیفه که مجموعه‌ای از دیتاست‌هایی است که در پردازش زبان‌های طبیعی به عنوان وظایف معروف به کار می‌روند. مخزن داده SQuAD (مجموعه داده سوال و پاسخ دانشگاه استنفورد) نسخه ۱٫۱ و ۲٫۰؛ مخزن داده SWAG (موقعیت‌های با تولید جملات تهاجمی) که موقعیت‌هایی از پردازش زبان‌های طبیعی است که یک سازنده متخاصم آنها را درست کرده است. در مقاله اصلی، همه پارامترهای برت تنظیم‌‌دقیق می‌شدند و توصیه شده بود که برای کاربردهای پایین‌دستی که متن را طبقه‌بندی می‌کنند، خروجی توکن در ورودیِ [CLS] وارد یک لایه خطی-سافت‌مکس شود تا برچسب‌ها تولید شوند. هزینه برت بر روی پیکره کتاب تورنتو (با ۸۰۰ میلیون واژه) و نسخه‌ای پالایش‌شده از ویکی‌پدیای انگلیسی (با ۲٬۵۰۰ میلیون واژه) بدون فهرست‌ها، جدول‌ها و سرفصل‌ها آموزش داده شد. | ## بخش 3: برت (مدل زبانی) | آموزش برت پایه بر روی ۴ تی‌پی‌یو ابری (در مجموع ۱۶ تراشه تی‌پی‌یو) به مدت ۴ روز طول کشید و هزینه آن حدود ۵۰۰ دلار تخمین زده می‌شود. آموزش برت بزرگ بر روی ۱۶ تی‌پی‌یو ابری (در مجموع ۶۴ تراشه تی‌پی‌یو) نیز ۴ روز زمان برد. تفسیر مدل‌های زبانی مانند ال‌مو، جی‌پی‌تی ۲، و برت، به پیدایش حوزه‌ای به نام «برتولوژی» منجر شدند که تلاش می‌کند دریابد این مدل‌ها چه چیزهایی را می‌آموزند. در سال‌های ۲۰۱۸ و ۲۰۱۹، چندین پژوهش تلاش کردند تا رابطه بین ورودی‌های انتخاب‌شده و خروجی‌های برت را بررسی کنند، و بردارهای درونی (مدل فضای برداری) را با استفاده از کاوشگر طبقه‌بندی‌کننده تحلیل کنند، و بررسی کنند که وزن‌های توجه چه رابطه‌ای را بازنمایی می‌کنند. عملکرد بالای مدل برت ممکن است به این دلیل باشد که در فرایند آموزش به‌صورت دوسویه آموزش داده می‌شود. به این معنی که برت، بر اساس معماری مدل ترنسفورمر، مکانیزم توجه خود را به‌گونه‌ای اعمال می‌کند که هم از متن سمت چپ و هم از متن سمت راست در طول آموزش اطلاعات بیاموزد و در نتیجه درک عمیقی از بافت متن به دست آورد. البته این کار هزینه‌هایی هم دارد: به دلیل معماری فقط رمزگذار که فاقد بخش رمزگشا است، برت نمی‌تواند مورد پرسش قرار بگیرد و قادر به تولید متن نیست. البته بطور کلی مدل‌های دوسویه بدون داشتن اطلاعات از سمت راست چندان مؤثر عمل نمی‌کنند؛ بنابراین به‌سختی می‌توان از آن‌ها به عنوان مدل‌های قابل پرسش استفاده کرد. اما این کار باعث تغییر توزیع داده می‌شود؛ چون در مرحله آموزش، برت هرگز جملاتی را ندیده است که در آن این تعداد توکن پوشیده MASK وجود دارد. روش‌های پیچیده‌تری برای تولید متن با برت وجود دارند اما هزینه محاسباتی بالایی دارند. تاریخچه مدل پیش از برت تاریخچه اینگونه مدل‌ها به روش‌های نیمه‌نظارتی یادگیری ماشین و مدل‌هایی دیگر نظیر ELMo و ULMFit برمی‌گردد. برخلاف مدل‌های پیشین برت یک مدل دوطرفه بدون نظارت است که روی متن خام آموزش داده شده است. برخی از مدل‌های دیگر نظیر Word2vec یا GloVe همگی به صورت مستقل از زمینه هستند که برای هر کلمه مستقل از محتوا می‌توانند یک نمایش ایجاد نمایند ولی برخلاف آنها برت با تمرکز روی زمینه می‌تواند بر اساس محتوا برای یک کلمه نمایش‌های مختلفی داشته باشد و این ما را یک قدم به فهمیدن مفهوم یک کلمه در جمله فارز از معنی کلمه نزدیک‌تر می‌کند. در تاریخ ۲۵ اکتبر ۲۰۱۹ شرکت گوگل سرچ اعلام کرد که آنها شروع به استفاده از مدل زبانی برت برای جستجوهای انگلیسی کاربران آمریکایی شده‌اند. همچنین در تاریخ ۹ دسامبر ۲۰۱۹ برت بر روی بیش از ۷۰ زبان زنده دنیا پیاده‌سازی شده‌بود و در اکتبر ۲۰۲۰ هر جستجوی انگلیسی با استفاده از برت انجام می‌شد و بر روی آن برت پردازشی برای تشخیص مفهوم انجام می‌داد. این مدل، معماری برت را دست‌نخورده حفظ می‌کند (با اندکی افزایش اندازه، یعنی ۳۵۵ میلیون پارامتر)، اما آموزش آن را بهبود می‌بخشد؛ بطوری که ابرپارامترهای کلیدی را تغییر می‌دهد، وظیفه «پیش‌بینی جمله بعدی» را حذف می‌کند و از اندازه‌های خیلی بزرگ‌تر دسته کوچک استفاده می‌کند. ALBERT (سال ۲۰۱۹) از اشتراک پارامترها بین لایه‌ها استفاده کرد و آزمایشی را ترتیب داد که در آن اندازه لایه پنهان و اندازه خروجی لایه دگرنمایی واژه را به عنوان دو ابرپارامتر مستقل تغییر داد. همچنین بجای وظیفه «پیش‌بینی جمله بعدی» از وظیفه «پیش‌بینی ترتیب جمله‌ها» استفاده کردند که در آن مدل باید ترتیب درست دو قطعه متنی پیاپی را از ترتیب وارون‌شده آن‌ها تشخیص دهد. بجای پوشاندن توکن‌ها، یک مدل زبانی کوچک دیگر، جایگزین‌های ممکن و معقولی برای توکن‌های اصلی تولید می‌کند و شبکه بزرگ‌تر تشخیص می‌دهد کدام توکن‌ها جایگزین شده‌اند. ایده کلیدی آن این است که نمایش موقعیت و نمایش توکن را در سراسر مکانیزم توجه بصورت جداگانه نگه می‌دارد. برخلاف برت که رمزگذاری موقعیت و توکن را با هم جمع می‌کند تا یک بردار ورودی تشکیل دهد ، در DeBERTa این دو حالت به‌صورت زوج مرتب نگهداری می‌شوند: . | ## جمع‌بندی | رمزگذاری موقعیت مطلق در لایه نهاییِ توجه، خود بعنوان ورودی اضافی در نظر گرفته می‌شود.