پرش به محتوا

برت (مدل زبانی)

از ویکی‌پدیا، دانشنامهٔ آزاد
بازنمایی‌های رمزگذار دوسویه از ترنسفورمر (BERT)
نویسنده(های)
اصلی
گوگل ای‌آی
انتشار اولیهOctober 31, 2018
مخزنgithub.com/google-research/bert
نوع
مجوزApache 2.0

بازنمایی‌های رمزگذار دوسویه از ترنسفورمر[الف] (اختصاری BERT) یک مدل زبانی است که در اکتبر ۲۰۱۸ توسط پژوهشگران Google معرفی شد.[۱][۲] این مدل برای نمایش متن به‌صورت یک توالی از بردارها از یادگیری خودنظارتی استفاده می‌کند. و در این روش از معماری ترنسفورمر فقط رمزگذار[ب] استفاده می‌کند. بهره گیری به عنوان نمونه‌ای اولیه از یک مدل زبانی بزرگ، و همچنین بهبود چشمگیر عملکرد آن نسبت به مدل‌های دیگر آنرا دارای اهمیت کرده است. تا تاریخ ۲۰۲۰، برت به‌عنوان یک خط‌مبنای فراگیر در آزمایش‌های پردازش زبان‌های طبیعی مطرح است.[۳] برت با استفاده از دو تکنیک 1. پیش‌بینی توکن پوشیده[پ] و 2. پیش‌بینی جمله بعدی آموزش داده می‌شود. مشابه ال‌مو و جی‌پی‌تی ۲، برت در طول فرایند آموزش و در بطن خود، نمایش‌های درونی و وابسته به متن را از روی توکن‌ها فرا می‌گیرد.[۴] این مدل در بسیاری از وظایف پردازش زبان طبیعی، مانند تشخیص و رفع ابهام هم‌مرجع[ت] و رفع ابهام چندمعنایی[ث]، کاربرد پیدا کرده‌است.[۵] این مدل گامی تکاملی نسبت به ال‌مو محسوب می‌شود و به پیدایش حوزه‌ای موسوم به «برتولوژی»[ج] انجامید که می‌کوشد فرابگیرد برت دقیقاً چه چیزهایی را یاد گرفته است.[۳]

برت در ابتدا برای زبان انگلیسی و در دو اندازه مدل، یعنی برت پایه (BERTBASE) با ۱۱۰ میلیون پارامتر و برت بزرگ (BERTLARGE) با ۳۴۰ میلیون پارامتر پیاده‌سازی شد. هر دوی آن‌ها بر پایه پیکره کتاب تورنتو[چ] [۶] (با ۸۰۰ میلیون واژه) و ویکی‌پدیای انگلیسی (با ۲٬۵۰۰ میلیون واژه) آموزش دیده‌اند. وزن‌های آموزش‌داده‌شده نیز در گیت‌هاب منتشر شدند.[۷] در ۱۱ مارس ۲۰۲۰، ۲۴ مدل کوچک‌تر نیز منتشر شدند که مدل BERTTINY با ۴ میلیون پارامتر کوچک‌ترین آن‌ها بود.[۷]

معماری

[ویرایش]
نمای کلی از برت. ابتدا متن ورودی به یک توالی از توکن‌ها تبدیل و سپس توکن‌های ویژه اختیاری اضافه می‌شوند. در ادامه یک رمزگذار ترنسفورمر بر روی آن اعمال می‌گردد. حالت‌های پنهان لایه نهایی می‌توانند به‌عنوان بردارهای واژگانِ وابسته به زمینه متن به کار گرفته شوند. در معماری فقط-رمزگذار، توجه به‌صورت همه‌به‌همه انجام می‌شود.

برت یک معماری «ترنسفورمر فقط رمزگذار» است. در دید کلی، برت از چهار ماژول تشکیل شده‌است:

  • توکن‌ساز: این ماژول یک متن انگلیسی را به یک توالی از اعداد صحیح (توکن‌ها) تبدیل می‌کند.
  • دگرنمایی[ح]: این ماژول، توکن‌های گسسته را به فضایی با ابعاد کمتر (با بردارهای حقیقی) می‌نگارد و نشان‌دهنده مرحله تبدیل انواع توکن‌های گسسته به یک فضای اقلیدسی با بعد کمتر است.
  • رمزگذار: پشته‌ای از بلوک‌های ترنسفورمر دارای خود-آگاهی[خ] است اما بدون پوشانندگی علّی (causal masking).
  • سر وظیفه[د]: این ماژول، بردارهای نمایشِ نهایی را دوباره به توکن‌های یک داغ[ذ] نگاشت می‌کند و خروجی آن یک پیش‌بینی از توزیع احتمال بر روی انواع توکن‌ها است. از این منظر می‌توان آن را یک رمزگشا یا «لایه واگشایی»[ر] در نظر گرفت.

گرچه سر وظیفه برای پیش‌آموزش[ز] لازم است، اما غالباً در وظایف به اصطلاح «پایین‌دستی»[ژ] مانند پرسش و پاسخ یا عقیده کاوی به کار نمی‌آید. در این کاربردها، سر وظیفه حذف می‌شود و یک ماژولِ جدید که برای آن وظیفه مناسب است اضافه شده و سپس تنظیم‌‌دقیق بر روی مدل انجام می‌شود. به این ترتیب، بردارِ نمایش پنهان مدل به طور مستقیم وارد ماژول جدید شده و یک یادگیری انتقالی با کاراییِ نمونه‌ای بالا[س] به دست می‌آید.[۱][۸]. امروزه با دیتاست‌های به نسبت کوچک روی وظایف دلخواه پردازش زبان‌های طبیعی هم می‌توان به نتایج خوب با دقت‌های بالایی رسید و به صورت محاسباتی هم هزینه کمتری دارند چراکه قبلا برت روی داده‌های زیادی آموزش داده شده است.[۹]

دگرنمایی واژه

[ویرایش]

این بخش، دگرنمایی واژه به‌کاررفته در BERTBASE را توصیف می‌کند. مدل BERTLARGE، مشابه همین است اما اندازه بزرگ‌تری دارد.

ماژول توکن‌ساز برت، وُردپیس است که یک راهکار زیرواژگانی همچون کدگذاری جفت بایت محسوب می‌شود. اندازه واژگان آن ۳۰٬۰۰۰ است و هر توکنی که در واژگان آن وجود نداشته باشد، با توکن [UNK] («ناشناس») جایگزین می‌شود.

سه نوع توکارسازی استفاده‌شده در BERT: نوع توکن، جایگاه، و نوع قطعه.

لایه اول، لایه دگرنمایی واژه[ش] است که از سه بخش تشکیل شده‌است: دگرنمایی نوع توکن، دگرنمایی جایگاه (موقعیت) و دگرنمایی نوع قطعه متن.

  • نوع توکن[ص]: این ماژول یک لایه دگرنمایی استاندارد است که بر اساس نوع توکن، یک بردار یک داغ را به یک بردار چگال[ض] (فشرده) تبدیل می‌کند.
  • جایگاه[ط]: دگرنمایی‌های جایگاه بر اساس جایگاه توکن در توالی عمل می‌کنند. برت از دگرنمایی جایگاه مطلق استفاده می‌کند[ظ]. در این روش هر جایگاه در توالی به یک بردار حقیقی نگاشت می‌شود. هر بعد از این بردار یک موج سینوسی است که جایگاه توکن در توالی را به عنوان ورودی دریافت می‌کند.
  • نوع قطعه [ع]: با استفاده از یک مخزن واژگان صرفاً ۰ یا ۱، این لایه یک بردار چگال تولید می‌کند و عملاً نمایشی از تعلق توکن به بخش اول یا دوم متن ورودی است. به‌عبارت دیگر، توکن‌هایی که پس از توکن ویژه [SEP] قرار گرفته‌اند همگی از نوع ۱ هستند و توکن‌های پیش از آن از نوع ۰.

این سه بردار دگرنمایی با هم جمع می‌شوند تا نمایش اولیه توکن بورت تابعی از این سه دسته اطلاعات شکل بگیرد. پس از مرحله دگرنمایی، نمایش برداری با استفاده از عملیات LayerNorm[en] نرمال‌سازی می‌شود و یک بردار ۷۶۸-بعدی برای هر توکن ورودی بدست می‌آید. سپس، بردارهای نمایش از ۱۲ بلوک رمزگذارِ ترنسفورمر عبور می‌کنند و در انتها، با یک لایه تبدیل خطی ساده[غ] به فضای واژگانی ۳۰٬۰۰۰-بعدی بازگشایی می‌شوند.

خانواده ساختار

[ویرایش]

پشته رمزگذار برت دو پارامتر آزاد دارد: (تعداد لایه‌ها) و (اندازه پنهان). همیشه تعداد سرهای توجه خود برابر است و اندازه لایه میانیِ شبکه پیش‌خور[ف] یا فیلتر همواره در نظر گرفته می‌شود. با تغییر این دو عدد، می‌توان کل خانواده مدل‌های برت را به دست آورد.[۱۰]

برای برت:

  • «اندازه پیش‌خور» و «اندازه فیلتر» هم‌معنا هستند و هر دو اشاره به شمار ابعاد در لایه میانیِ شبکه پیش‌خور دارند.
  • «اندازه پنهان» و «اندازه دگرنمایی» نیز هم‌معنا هستند و هر دو اشاره به تعداد اعداد حقیقی مورد استفاده برای نمایش یک توکن دارند.

نمایش پشته رمزگذار را به‌شکل L/H می‌نویسند. به‌عنوان نمونه، BERTBASE به صورت 12L/768H نوشته می‌شود، BERTLARGE به‌شکل 24L/1024H، و BERTTINY نیز با 2L/128H نشان داده می‌شود.

آموزش

[ویرایش]

پیش‌آموزش

[ویرایش]

پیش‌آموزش برت به‌صورت هم‌زمان روی دو وظیفه انجام شده است.[۱۱]

مدل‌سازی زبانیِ پوشیده[ق]

[ویرایش]
وظیفه مدل‌سازی زبانیِ پوشیده (masked language modeling)

در مدل‌سازی زبانیِ پوشیده، ۱۵٪ از توکن‌ها به‌صورت تصادفی برای وظیفه پیش‌بینی-توکن-پوشیده انتخاب می‌شدند و هدف آموزش این بود که توکن پوشیده‌شده را بر اساس زمینه متن اطراف آن پیش‌بینی کند. با جزئیات بیشتر می توان این طور بیان کرد:

  • با احتمال ۸۰٪ توکن انتخابی با [MASK] جایگزین می‌شود.
  • با احتمال ۱۰٪ توکن انتخابی با یک واژه تصادفی جایگزین می‌شود.
  • با احتمال ۱۰٪ هیچ تغییری اعمال نمی‌شود.

دلیل این که همه توکن‌های انتخابی پوشیده نمی‌شوند، جلوگیری از مشکل جابه‌جایی توزیع[ک] است. این مشکل زمانی پدید می‌آید که توزیع داده‌های ورودی در مرحله آموزش به‌طور چشمگیری با توزیع داده‌ها در مرحله استنتاج[گ] متفاوت باشد. یک مدل برت آموزش‌دیده را می‌توان برای نمایش واژگان (مشابه Word2Vec) استفاده کرد، بدین ترتیب این مدل به جای فعالیت بر روی یک توکن [MASK] شده، می‌تواند بر روی کل جمله اعمال می‌شود.[۱۲] برای نمونه، جمله «سگ من بامزه است» در نظر بگیرید. ابتدا به توکن‌های «سگ1 من2 بامزه3 است4» تقسیم می‌شود. سپس به‌طور تصادفی یکی از توکن‌های جمله انتخاب می‌گردد. فرض کنید توکن سوم «بامزه3» برگزیده شود. در مرحله بعد سه احتمال وجود دارد:

  • با احتمال ۸۰٪ توکن انتخابی پوشیده می‌شود و نتیجه «سگ1 من2 [MASK] است4» خواهد بود.
  • با احتمال ۱۰٪ توکن انتخابی با یک توکن تصادفی مثل «خوشحال» جایگزین می‌شود، یعنی «سگ1 من2 خوشحال3 است4».
  • با احتمال ۱۰٪ تغییری ایجاد نمی‌شود و جمله به همان صورت «سگ1 من2 بامزه3 است4» باقی می‌ماند.

پس از پردازش متن ورودی، بردار خروجیِ چهارم مدل به لایه رمزگشای آن ارسال می‌شود که یک توزیع احتمالی را در فضای واژگان ۳۰٬۰۰۰-بعدی‌اش خروجی می‌دهد.

پیش‌بینی جمله بعدی[ل]

[ویرایش]
وظیفه پیش‌بینی جمله بعدی

با داشتن دو قطعه متن قبل و بعد، مدل پیش‌بینی می‌کند که آیا این دو قطعه در مجموعه داده به‌صورت پشت‌سرهم ظاهر شده‌اند یا نه و در نتیجه یکی از برچسب‌های [IsNext] یا [NotNext] را خروجی می‌دهد. قطعه اول با توکن ویژه [CLS] (مخفف "classify") آغاز می‌شود و این دو قطعه با توکن ویژه [SEP] (مخفف "separate") از هم جدا می‌شوند. پس از پردازش این دو قطعه، بردار خروجیِ مرتبه ۱ (برداری که مربوط به [CLS] است) به یک شبکه عصبی جداگانه داده می‌شود تا طبقه‌بندی دودویی به‌صورت [IsNext] یا [NotNext] انجام شود.

برای مثال، اگر ورودی به‌صورت «[CLS] سگ من بامزه است [SEP] او بازی کردن را دوست دارد» باشد، مدل باید توکن [IsNext] را خروجی دهد.

اگر ورودی به‌صورت «[CLS] سگ من بامزه است [SEP] آهنربا چگونه کار می‌کند» باشد، مدل باید توکن [NotNext] را خروجی دهد.

تنظیم‌‌دقیق

[ویرایش]

برت به عنوان مدلی پیش‌آموزش‌دیده، برای کاربری‌های گوناگون در پردازش زبان طبیعی طراحی شده است. بدین صورت که پس از پیش‌آموزش، می‌توان مدل برت را با منابع کمتر و روی مجموعه‌داده‌های کوچک‌تر تنظیم‌‌دقیق کرد تا عملکردش را روی وظایف خاصی مانند استنباط زبان طبیعی، دسته‌بندی متن، و همچنین وظایف تولیدیِ مبتنی بر توالی به توالی مانند پرسش و پاسخ یا تولید پاسخ مکالمه‌ای بهینه کند.[۱۳]

مقاله اولیه برت نتایجی را منتشر کرد که نشان می‌داد با مقدار کمی از تنظیم‌‌دقیق (برای مدل BERTLARGE، به میزان ۱ ساعت بر روی ۱ تی‌پی‌یو ابری) به آن این امکان را می‌دهد که در شماری از وظایف درک زبان طبیعی جزو بهترین‌ها باشد:[۱]

  • مخزن داده GLUE (ارزیابی درک زبان عمومی) شامل ۹ وظیفه که مجموعه‌ای از دیتاست‌هایی است که در پردازش زبان‌های طبیعی به عنوان وظایف معروف به کار می‌روند.
  • مخزن داده SQuAD (مجموعه داده سوال و پاسخ دانشگاه استنفورد) نسخه ۱٫۱ و ۲٫۰؛[۱۴]
  • مخزن داده SWAG (موقعیت‌های با تولید جملات تهاجمی) که موقعیت‌هایی از پردازش زبان‌های طبیعی است که یک سازنده متخاصم آنها را درست کرده است.[۱۵]

در مقاله اصلی، همه پارامترهای برت تنظیم‌‌دقیق می‌شدند و توصیه شده بود که برای کاربردهای پایین‌دستی که متن را طبقه‌بندی می‌کنند، خروجی توکن در ورودیِ [CLS] وارد یک لایه خطی-سافت‌مکس شود تا برچسب‌ها تولید شوند.[۱]

در کد منبع اولیه، لایه خطی نهایی «pooler layer» نام‌گذاری شده بود که شباهت زیادی با global pooling در بینایی ماشین داشت. هرچند عملاً همه توکن‌های خروجی بجز توکن متناظر با [CLS] را کنار می‌گذاشت.[۱۶]

هزینه

[ویرایش]

برت بر روی پیکره کتاب تورنتو (با ۸۰۰ میلیون واژه) و نسخه‌ای پالایش‌شده از ویکی‌پدیای انگلیسی (با ۲٬۵۰۰ میلیون واژه) بدون فهرست‌ها، جدول‌ها و سرفصل‌ها آموزش داده شد.

آموزش BERTBASE بر روی ۴ تی‌پی‌یو ابری (در مجموع ۱۶ تراشه تی‌پی‌یو) به مدت ۴ روز طول کشید و هزینه آن حدود ۵۰۰ دلار تخمین زده می‌شود.[۷]

آموزش BERTLARGE بر روی ۱۶ تی‌پی‌یو ابری (در مجموع ۶۴ تراشه تی‌پی‌یو) نیز ۴ روز زمان برد.[۱]

تفسیر

[ویرایش]

مدل‌های زبانی مانند ال‌مو، جی‌پی‌تی ۲، و برت، به پیدایش حوزه‌ای به نام «برتولوژی» منجر شدند که تلاش می‌کند دریابد این مدل‌ها چه چیزهایی را می‌آموزند. عملکرد آن‌ها در این وظایف درک زبان طبیعی هنوز به‌خوبی درک نشده‌است.[۳][۱۷][۱۸] در سال‌های ۲۰۱۸ و ۲۰۱۹، چندین پژوهش تلاش کردند تا رابطه بین ورودی‌های انتخاب‌شده و خروجی‌های برت را بررسی کنند،[۱۹][۲۰] و بردارهای درونی (مدل فضای برداری) را با استفاده از کاوشگر طبقه‌بندی‌کننده [م] تحلیل کنند،[۲۱][۲۲] و بررسی کنند که وزن‌های توجه چه رابطه‌ای را بازنمایی می‌کنند.[۱۷][۱۸]

عملکرد بالای مدل برت ممکن است به این دلیل باشد که در فرایند آموزش به‌صورت دوسویه آموزش داده می‌شود.[۲۳] به این معنی که برت، بر اساس معماری مدل ترنسفورمر، مکانیزم توجه خود را به‌گونه‌ای اعمال می‌کند که هم از متن سمت چپ و هم از متن سمت راست در طول آموزش اطلاعات بیاموزد و در نتیجه درک عمیقی از بافت متن به دست آورد. برای نمونه، واژه «fine» در جمله‌های انگلیسی «I feel fine today» و «She has fine blond hair» دو معنای متفاوت دارد که وابسته به بافت هستند. برت، واژگان پیرامون واژه «fine» را هم از چپ و هم از راست در نظر می‌گیرد.

البته این کار هزینه‌هایی هم دارد: به دلیل معماری فقط رمزگذار که فاقد بخش رمزگشا است، برت نمی‌تواند مورد پرسش قرار بگیرد و قادر به تولید متن نیست. البته بطور کلی مدل‌های دوسویه بدون داشتن اطلاعات از سمت راست چندان مؤثر عمل نمی‌کنند؛ بنابراین به‌سختی می‌توان از آن‌ها به‌عنوان مدل‌های قابل پرسش استفاده کرد. برای نمونه، اگر بخواهید از برت برای ادامه جمله «امروز، رفته بودم» استفاده کنید، ممکن است آن را به «امروز، رفته بودم [MASK] [MASK] [MASK] ... [MASK]» تبدیل کنید که تعداد [MASK]ها برابر طول جمله مورد نظر برای ادامه است. اما این کار باعث تغییر توزیع داده می‌شود؛ چون در مرحله آموزش، برت هرگز جملاتی را ندیده است که در آن این تعداد توکن پوشیده ([MASK]) وجود دارد. در نتیجه عملکرد آن ضعیف می‌شود. روش‌های پیچیده‌تری برای تولید متن با برت وجود دارند اما هزینه محاسباتی بالایی دارند.[۲۴]

تاریخچه مدل

[ویرایش]

پیش از برت تاریخچه اینگونه مدل‌ها به روش‌های نیمه‌نظارتی یادگیری ماشین[۲۵] و مدل‌هایی دیگر نظیر ELMo[۲۶] و ULMFit[۲۷] برمی‌گردد. برخلاف مدل‌های پیشین برت یک مدل دوطرفه (Bidirectional) بدون نظارت (Unsupervised) است که روی متن خام آموزش داده شده است. برخی از مدل‌های دیگر نظیر Word2vec یا GloVe همگی به صورت مستقل از زمینه (Context free) هستند که برای هر کلمه مستقل از محتوا می‌توانند یک نمایش (Embedding) ایجاد نمایند ولی برخلاف آنها برت با تمرکز روی زمینه (Context) می‌تواند بر اساس محتوا برای یک کلمه نمایش‌های مختلفی داشته باشد و این ما را یک قدم به فهمیدن مفهوم یک کلمه در جمله فارز از معنی کلمه نزدیک‌تر می‌کند. به عنوان نمونه اگر دو جمله به صورت «He is running a comapny» و «He is running a marathon» داشته باشیم که در اولی «running» به معنای «اداره کردن» و در دومی «running» به معنای «دویدن» است برای این دو کلمه می‌تواند بر اساس محتوای جمله تفاوت قائل شود و آنها را به یک صورت نمی‌بیند ولی مدل‌های پیشین که به صورت مستقل از محتوا عمل می‌کنند این مشکل را نمی‌توانند حل نمایند.

در تاریخ ۲۵ اکتبر ۲۰۱۹ شرکت گوگل سرچ (Google Search) اعلام کرد که آنها شروع به استفاده از مدل زبانی برت برای جستجوهای انگلیسی کاربران آمریکایی شده‌اند.[۲۸] همچنین در تاریخ ۹ دسامبر ۲۰۱۹ برت بر روی بیش از ۷۰ زبان زنده دنیا پیاده‌سازی شده‌بود[۲۹] و در اکتبر ۲۰۲۰ هر جستجوی انگلیسی با استفاده از برت انجام می‌شد و بر روی آن برت پردازشی برای تشخیص مفهوم انجام می‌داد.[۳۰]

گونه‌ها

[ویرایش]

مدل‌های برت تأثیرگذار بودند و الهام‌بخش گونه‌های گوناگونی شدند.

RoBERTa[۳۱] (سال ۲۰۱۹) یک بهبود در زمینه مهندسی محسوب می‌شود. این مدل، معماری برت را دست‌نخورده حفظ می‌کند (با اندکی افزایش اندازه، یعنی ۳۵۵ میلیون پارامتر)، اما آموزش آن را بهبود می‌بخشد؛ بطوری که ابرپارامترهای کلیدی را تغییر می‌دهد، وظیفه «پیش‌بینی جمله بعدی» را حذف می‌کند و از اندازه‌های خیلی بزرگ‌تر دسته کوچک استفاده می‌کند.

DistilBERT (سال ۲۰۱۹) با روش تقطیر، مدل BERTBASE را به مدلی با تنها ۶۰٪ از تعداد پارامترهای آن (۶۶ میلیون) تبدیل می‌کند، در حالی که ۹۵٪ از امتیازهای معیار آن حفظ می‌شود.[۳۲][۳۳] به‌شکل مشابه، TinyBERT (۲۰۱۹)[۳۴] یک مدل تقطیرشده است که تنها ۲۸٪ از پارامترهای مدل اصلی را داراست.

ALBERT (سال ۲۰۱۹)[۳۵] از اشتراک پارامترها بین لایه‌ها استفاده کرد و آزمایشی را ترتیب داد که در آن اندازه لایه پنهان و اندازه خروجی لایه دگرنمایی واژه را به‌عنوان دو ابرپارامتر مستقل تغییر داد. همچنین بجای وظیفه «پیش‌بینی جمله بعدی» از وظیفه «پیش‌بینی ترتیب جمله‌ها»[ن] استفاده کردند که در آن مدل باید ترتیب درست دو قطعه متنی پیاپی را از ترتیب وارون‌شده آن‌ها تشخیص دهد.

ELECTRA (سال ۲۰۲۰)[۳۶] ایده شبکه‌های مولد تخاصمی را به وظیفه MLM اعمال کرد. بجای پوشاندن توکن‌ها، یک مدل زبانی کوچک دیگر، جایگزین‌های ممکن و معقولی برای توکن‌های اصلی تولید می‌کند و شبکه بزرگ‌تر تشخیص می‌دهد کدام توکن‌ها جایگزین شده‌اند. مدل کوچک سعی می‌کند مدل بزرگ را فریب دهد.

DeBERTa

[ویرایش]

DeBERTa (سال ۲۰۲۰)[۳۷] یک گونه معماری مهم با مکانیزم توجه «تفکیک‌شده»[و] است. ایده کلیدی آن این است که نمایش موقعیت و نمایش توکن را در سراسر مکانیزم توجه بصورت جداگانه نگه می‌دارد. برخلاف برت که رمزگذاری موقعیت () و توکن () را با هم جمع می‌کند تا یک بردار ورودی تشکیل دهد ()، در DeBERTa این دو حالت به‌صورت زوج مرتب نگهداری می‌شوند: . سپس در هر لایه توجه خود، DeBERTa به‌جای تنها یک ماتریس توجه در BERT، سه ماتریس توجه متمایز محاسبه می‌کند.[ه]

انواع توجه Query type Key type مثال
محتوا-به-محتوا توکن توکن "اروپا"؛ "قاره", "اتحادیه"
محتوا-به-موقعیت توکن موقعیت [صفت]؛ +1, +2, +3
موقعیت-به-محتوا موقعیت توکن -1؛ "خیلی", "نه"

سه ماتریس توجه ذکر شده به‌صورت درایه-به-درایه[ی] با هم جمع می‌شوند، سپس وارد یک لایه softmax شده و در انتها در یک ماتریس projection ضرب می‌گردند.

رمزگذاری موقعیت مطلق در لایه نهاییِ توجه، خود بعنوان ورودی اضافی در نظر گرفته می‌شود.

مقاله برت

[ویرایش]

مقاله‌ای که مدل زبانی برت را برای اولین بار معرفی نمود در سال ۲۰۱۹ جایزه بهترین بلندترین مقاله سال (Best Long Paper Award) را در قسمت آمریکای شمالی کنفرانس NAACL را برنده شد و به عنوان بهترین مقاله در این زمینه در سال ۲۰۱۹ شناخته شد.[۳۸]

یادداشت‌ها

[ویرایش]
  1. Bidirectional Encoder Representations from Transformers (BERT)
  2. encoder-only transformer
  3. masked token prediction
  4. coreference resolution
  5. polysemy resolution
  6. BERTology
  7. BookCorpus
  8. Embedding
  9. self-attention
  10. Task head
  11. one-hot encoded tokens
  12. un-embedding layer
  13. pre-training
  14. downstream tasks
  15. sample-efficient
  16. embedding layer
  17. embedding layer
  18. dense vector
  19. Position
  20. absolute position embeddings
  21. Segment type
  22. affine transformation layer
  23. feed-forward
  24. Masked language modeling
  25. dataset shift
  26. inference
  27. Next sentence prediction
  28. probing classifiers
  29. sentence-order prediction (SOP)
  30. disentangled attention
  31. نوع موقعیت-به-موقعیت توسط نویسنده به دلیل بلااستفاده بودن حذف شده.
  32. element-wise

منابع

[ویرایش]
  1. ۱٫۰ ۱٫۱ ۱٫۲ ۱٫۳ ۱٫۴ Devlin, Jacob; Chang, Ming-Wei; Lee, Kenton; Toutanova, Kristina (11 October 2018). "BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding". arXiv:1810.04805v2 [cs.CL].
  2. "Open Sourcing BERT: State-of-the-Art Pre-training for Natural Language Processing". Google AI Blog (به انگلیسی). 2 November 2018. Retrieved 2019-11-27.
  3. ۳٫۰ ۳٫۱ ۳٫۲ Rogers, Anna; Kovaleva, Olga; Rumshisky, Anna (2020). "A Primer in BERTology: What We Know About How BERT Works". Transactions of the Association for Computational Linguistics. 8: 842–866. arXiv:2002.12327. doi:10.1162/tacl_a_00349. S2CID 211532403.
  4. Ethayarajh, Kawin (2019-09-01), How Contextual are Contextualized Word Representations? Comparing the Geometry of BERT, ELMo, and GPT-2 Embeddings, arXiv:1909.00512
  5. Anderson, Dawn (2019-11-05). "A deep dive into BERT: How BERT launched a rocket into natural language understanding". Search Engine Land (به انگلیسی). Retrieved 2024-08-06.
  6. name="bookcorpus"Zhu, Yukun; Kiros, Ryan; Zemel, Rich; Salakhutdinov, Ruslan; Urtasun, Raquel; Torralba, Antonio; Fidler, Sanja (2015). "Aligning Books and Movies: Towards Story-Like Visual Explanations by Watching Movies and Reading Books". pp. 19–27. arXiv:1506.06724 [cs.CV].
  7. ۷٫۰ ۷٫۱ ۷٫۲ "BERT". GitHub. Retrieved 28 March 2023.
  8. Zhang, Tianyi; Wu, Felix; Katiyar, Arzoo; Weinberger, Kilian Q.; Artzi, Yoav (2021-03-11), Revisiting Few-sample BERT Fine-tuning, arXiv:2006.05987
  9. Horev, Rani (2018). "BERT Explained: State of the art language model for NLP". Towards Data Science. Retrieved 27 September 2021.
  10. Turc, Iulia; Chang, Ming-Wei; Lee, Kenton; Toutanova, Kristina (2019-09-25), Well-Read Students Learn Better: On the Importance of Pre-training Compact Models, arXiv:1908.08962
  11. "Summary of the models — transformers 3.4.0 documentation". huggingface.co. Retrieved 2023-02-16.
  12. Tay, Yi; Dehghani, Mostafa; Tran, Vinh Q.; Garcia, Xavier; Wei, Jason; Wang, Xuezhi; Chung, Hyung Won; Shakeri, Siamak; Bahri, Dara (2023-02-28), UL2: Unifying Language Learning Paradigms, arXiv:2205.05131
  13. ۱۳٫۰ ۱۳٫۱ Zhang, Aston; Lipton, Zachary; Li, Mu; Smola, Alexander J. (2024). "11.9. Large-Scale Pretraining with Transformers". Dive into deep learning. Cambridge New York Port Melbourne New Delhi Singapore: Cambridge University Press. ISBN 978-1-009-38943-3.
  14. Rajpurkar, Pranav; Zhang, Jian; Lopyrev, Konstantin; Liang, Percy (2016-10-10). "SQuAD: 100,000+ Questions for Machine Comprehension of Text". arXiv:1606.05250 [cs.CL].
  15. Zellers, Rowan; Bisk, Yonatan; Schwartz, Roy; Choi, Yejin (2018-08-15). "SWAG: A Large-Scale Adversarial Dataset for Grounded Commonsense Inference". arXiv:1808.05326 [cs.CL].
  16. "bert/modeling.py at master · google-research/bert". GitHub (به انگلیسی). Retrieved 2024-09-16.
  17. ۱۷٫۰ ۱۷٫۱ Kovaleva, Olga; Romanov, Alexey; Rogers, Anna; Rumshisky, Anna (November 2019). "Revealing the Dark Secrets of BERT". Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing (EMNLP-IJCNLP) (به انگلیسی). pp. 4364–4373. doi:10.18653/v1/D19-1445. S2CID 201645145.
  18. ۱۸٫۰ ۱۸٫۱ Clark, Kevin; Khandelwal, Urvashi; Levy, Omer; Manning, Christopher D. (2019). "What Does BERT Look at? An Analysis of BERT's Attention". Proceedings of the 2019 ACL Workshop BlackboxNLP: Analyzing and Interpreting Neural Networks for NLP. Stroudsburg, PA, USA: Association for Computational Linguistics: 276–286. arXiv:1906.04341. doi:10.18653/v1/w19-4828.
  19. Khandelwal, Urvashi; He, He; Qi, Peng; Jurafsky, Dan (2018). "Sharp Nearby, Fuzzy Far Away: How Neural Language Models Use Context". Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers). Stroudsburg, PA, USA: Association for Computational Linguistics: 284–294. arXiv:1805.04623. doi:10.18653/v1/p18-1027. S2CID 21700944.
  20. Gulordava, Kristina; Bojanowski, Piotr; Grave, Edouard; Linzen, Tal; Baroni, Marco (2018). "Colorless Green Recurrent Networks Dream Hierarchically". Proceedings of the 2018 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long Papers). Stroudsburg, PA, USA: Association for Computational Linguistics. pp. 1195–1205. arXiv:1803.11138. doi:10.18653/v1/n18-1108. S2CID 4460159.
  21. Giulianelli, Mario; Harding, Jack; Mohnert, Florian; Hupkes, Dieuwke; Zuidema, Willem (2018). "Under the Hood: Using Diagnostic Classifiers to Investigate and Improve how Language Models Track Agreement Information". Proceedings of the 2018 EMNLP Workshop BlackboxNLP: Analyzing and Interpreting Neural Networks for NLP. Stroudsburg, PA, USA: Association for Computational Linguistics: 240–248. arXiv:1808.08079. doi:10.18653/v1/w18-5426. S2CID 52090220.
  22. Zhang, Kelly; Bowman, Samuel (2018). "Language Modeling Teaches You More than Translation Does: Lessons Learned Through Auxiliary Syntactic Task Analysis". Proceedings of the 2018 EMNLP Workshop BlackboxNLP: Analyzing and Interpreting Neural Networks for NLP. Stroudsburg, PA, USA: Association for Computational Linguistics: 359–361. doi:10.18653/v1/w18-5448.
  23. Sur, Chiranjib (January 2020). "RBN: enhancement in language attribute prediction using global representation of natural language transfer learning technology like Google BERT". SN Applied Sciences. 2 (1). doi:10.1007/s42452-019-1765-9.
  24. Patel, Ajay; Li, Bryan; Mohammad Sadegh Rasooli; Constant, Noah; Raffel, Colin; Callison-Burch, Chris (2022). "Bidirectional Language Models Are Also Few-shot Learners". arXiv:2209.14500 [cs.LG].
  25. Dai, Andrew; Le, Quoc (4 November 2015). "Semi-supervised Sequence Learning". arXiv:1511.01432 [cs.LG].
  26. Peters, Matthew; Neumann, Mark; Iyyer, Mohit; Gardner, Matt; Clark, Christopher; Lee, Kenton; Luke, Zettlemoyer (15 February 2018). "Deep contextualized word representations". arXiv:1802.05365v2 [cs.CL].
  27. Howard, Jeremy; Ruder, Sebastian (18 January 2018). "Universal Language Model Fine-tuning for Text Classification". arXiv:1801.06146v5 [cs.CL].
  28. Nayak, Pandu (25 October 2019). "Understanding searches better than ever before". Google Blog. Retrieved 10 December 2019.
  29. Montti, Roger (10 December 2019). "Google's BERT Rolls Out Worldwide". Search Engine Journal. Search Engine Journal. Retrieved 10 December 2019.
  30. "Google: BERT now used on almost every English query". Search Engine Land. 2020-10-15. Retrieved 2020-11-24.
  31. Liu, Yinhan; Ott, Myle; Goyal, Naman; Du, Jingfei; Joshi, Mandar; Chen, Danqi; Levy, Omer; Lewis, Mike; Zettlemoyer, Luke; Stoyanov, Veselin (2019). "RoBERTa: A Robustly Optimized BERT Pretraining Approach". arXiv:1907.11692 [cs.CL].
  32. Sanh, Victor; Debut, Lysandre; Chaumond, Julien; Wolf, Thomas (2020-02-29), DistilBERT, a distilled version of BERT: smaller, faster, cheaper and lighter, arXiv:1910.01108
  33. "DistilBERT". huggingface.co. Retrieved 2024-08-05.
  34. Jiao, Xiaoqi; Yin, Yichun; Shang, Lifeng; Jiang, Xin; Chen, Xiao; Li, Linlin; Wang, Fang; Liu, Qun (2020-10-15), TinyBERT: Distilling BERT for Natural Language Understanding, arXiv:1909.10351
  35. Lan, Zhenzhong; Chen, Mingda; Goodman, Sebastian; Gimpel, Kevin; Sharma, Piyush; Soricut, Radu (2020-02-08), ALBERT: A Lite BERT for Self-supervised Learning of Language Representations, arXiv:1909.11942
  36. Clark, Kevin; Luong, Minh-Thang; Le, Quoc V.; Manning, Christopher D. (2020-03-23), ELECTRA: Pre-training Text Encoders as Discriminators Rather Than Generators, arXiv:2003.10555
  37. He, Pengcheng; Liu, Xiaodong; Gao, Jianfeng; Chen, Weizhu (2021-10-06), DeBERTa: Decoding-enhanced BERT with Disentangled Attention, arXiv:2006.03654
  38. "Best Paper Awards". NAACL. 2019. Retrieved Mar 28, 2020.

پیوند به بیرون

[ویرایش]