BERT: مدل استاندارد، آموزش بیشتر، مدل‌های کارآمد و چندزبانه

BERT: مدل استاندارد، آموزش بیشتر، مدل‌های کارآمد و چندزبانه

توسط admin | گروه هوش مصنوعی | 1405/05/18

نظرات 0

BERT: مدل استاندارد، آموزش بیشتر، مدل‌های کارآمد و چندزبانه

عنوان اصلی کتاب: Foundations of Large Language Models

نویسندگان: Tong Xiao و Jingbo Zhu

سازمان: NLP Lab, Northeastern University & NiuTrans Research

زبان اصلی: انگلیسی

بازهٔ منبع: صفحات PDF 28 تا 36

مجوز منبع: Creative Commons Attribution-NonCommercial 4.0 (CC BY-NC 4.0)

تاریخ ترجمه: 1405/05/18 / 2026-08-09

اعتبار ترجمه: ترجمه با کمک هوش مصنوعی

ادامهٔ مقایسهٔ وظایف پیش‌آموزش

  • مدل‌سازی زبانی جایگشتی (Permuted Language Modeling). مدل‌سازی زبانی جایگشتی از ایده‌ای مشابه مدل‌سازی زبانی ماسک‌شده پیروی می‌کند، اما ترتیب پیش‌بینی توکن‌های (ماسک‌شده) را نیز در نظر می‌گیرد. این روش دنبالهٔ ورودی را بازمرتب می‌کند و توکن‌ها را به‌صورت ترتیبی پیش‌بینی می‌کند. هر پیش‌بینی بر پایهٔ تعدادی توکن زمینه است که به‌طور تصادفی انتخاب می‌شوند.
  • آموزش تمایزی (Discriminative Training). در آموزش تمایزی، سیگنال‌های نظارتی از وظایف طبقه‌بندی ساخته می‌شوند. مدل‌های مورد استفاده برای پیش‌آموزش در طبقه‌بندها ادغام می‌شوند و همراه با سایر بخش‌های طبقه‌بند آموزش می‌بینند تا عملکرد طبقه‌بندی آن‌ها بهبود یابد.
  • خودرمزگذار نویززدای (Denoising Autoencoding). این رویکرد برای پیش‌آموزش مدل‌های رمزگذار–رمزگشا به‌کار می‌رود. ورودی، دنباله‌ای خراب‌شده است و مدل رمزگذار–رمزگشا برای بازسازی دنبالهٔ اصلی آموزش داده می‌شود.

جدول ۱.۱ این روش‌ها و گونه‌های آن‌ها را با مثال نشان می‌دهد. استفاده از این مثال‌ها به‌تنهایی مدل‌ها را از یکدیگر متمایز نمی‌کند، اما معماری‌هایی را مشخص می‌کنیم که وظیفهٔ پیش‌آموزش روی آن‌ها قابل اجرا است. در هر مثال، ورودی از یک دنبالهٔ توکن تشکیل شده و خروجی یا یک دنبالهٔ توکن است یا مجموعه‌ای از احتمال‌ها. برای وظایف تولیدی مانند مدل‌سازی زبانی، بالانویس‌ها ترتیب تولید در سمت مقصد را نشان می‌دهند. اگر بالانویس حذف شده باشد، یعنی دنبالهٔ خروجی می‌تواند هم به‌صورت خودبازگشتی و هم به‌صورت هم‌زمان تولید شود. در سمت مبدأ فرض می‌کنیم دنباله فرایند رمزگذاری استاندارد Transformer را طی می‌کند؛ یعنی هر توکن در خودتوجهی می‌تواند کل دنباله را ببیند. تنها استثنا مدل‌سازی زبانی جایگشتی است که در آن، فرایند تولید خودبازگشتی با تنظیم ماسک‌های توجه در سمت رمزگذار پیاده‌سازی می‌شود. برای ساده‌سازی بحث، توکن ⟨s⟩ را از سمت مقصد هر مثال حذف می‌کنیم.

با وجود تفاوت این وظایف پیش‌آموزش، می‌توان آن‌ها را در یک چارچوب و تنظیم آزمایشی مشترک مقایسه کرد [Dong et al., 2019; Raffel et al., 2020; Lewis et al., 2020]. روشن است که به‌دلیل تعداد بسیار زیاد وظایف پیش‌آموزش نمی‌توان همهٔ آن‌ها را در اینجا فهرست کرد. برای بحث بیشتر دربارهٔ این وظایف، خواننده می‌تواند به مرورهای این حوزه مراجعه کند [Qiu et al., 2020; Han et al., 2021].

جدول ۱.۱ — مقایسهٔ وظایف پیش‌آموزش شامل مدل‌سازی زبانی، مدل‌سازی زبانی ماسک‌شده، مدل‌سازی زبانی جایگشتی، آموزش تمایزی و خودرمزگذاری نویززدای. [C]=[CLS]، [M]=[MASK] و [X]، [Y] توکن‌های نگهبان (sentinel) هستند. Enc، Dec و E-D نشان می‌دهند رویکرد به‌ترتیب برای مدل رمزگذار-تنها، رمزگشا-تنها و رمزگذار–رمزگشا قابل استفاده است. در وظایف تولیدی، بالانویس‌ها ترتیب تولید توکن‌ها را نشان می‌دهند.
روشEncDecE-Dورودیخروجی
Causal LMThe¹ kitten² is³ chasing⁴ the⁵ ball⁶ .⁷
Prefix LM[C] The kitten ischasing¹ the² ball³ .⁴
Masked LM[C] The kitten [M] chasing the [M] .is   ball
MASS-style[C] The kitten [M] [M] [M] ball .is chasing the
BERT-style[C] The kitten [M] playing the [M] .kitten is chasing   ball
Permuted LM[C] The kitten is chasing the ball .The⁵ kitten⁷ is⁶ chasing¹ the⁴ ball² .³
Next Sentence Prediction[C] The kitten is chasing the ball . Birds eat worms .Pr(IsNext | representation-of-[C])
Sentence Comparisonیک جمله را به‌صورت ha و جملهٔ دیگر را به‌صورت hb رمزگذاری کنScore(ha, hb)
Token Classification[C] The kitten is chasing the ball .Pr(·|The) Pr(·|kitten) ... Pr(·|.)
Token Reordering[C] . kitten the chasing The is ballThe¹ kitten² is³ chasing⁴ the⁵ ball⁶ .⁷
Token Deletion[C] The kitten is chasing the ball .The¹ kitten² is³ chasing⁴ the⁵ ball⁶ .⁷
Span Masking[C] The kitten [M] is [M] .The¹ kitten² is³ chasing⁴ the⁵ ball⁶ .⁷
Sentinel Masking[C] The kitten [X] the [Y][X]¹ is² chasing³ [Y]⁴ ball⁵ .⁶
Sentence Reordering[C] The ball rolls away swiftly . The kitten is chasing the ball .The¹ kitten² is³ chasing⁴ the⁵ ball⁶ .⁷ The⁸ ball⁹ rolls¹⁰ away¹¹ swiftly¹² .¹³
Document Rotation[C] chasing the ball . The ball rolls away swiftly . The kitten isThe¹ kitten² is³ chasing⁴ the⁵ ball⁶ .⁷ The⁸ ball⁹ rolls¹⁰ away¹¹ swiftly¹² .¹³

۱.۳ مثال: BERT

در این بخش مدل‌های BERT را معرفی می‌کنیم که از محبوب‌ترین و پرکاربردترین مدل‌های پیش‌آموختهٔ رمزگذاری دنباله در پردازش زبان طبیعی (NLP) هستند.

۱.۳.۱ مدل استاندارد

مدل استاندارد BERT که در کار Devlin و همکاران [2019] پیشنهاد شد، یک رمزگذار Transformer است که با دو وظیفهٔ «مدل‌سازی زبانی ماسک‌شده» و «پیش‌بینی جملهٔ بعدی» آموزش داده می‌شود. تابع زیان مورد استفاده برای آموزش، جمع زیان این دو وظیفه است:

LossBERT = LossMLM + LossNSP    (1.17)

همانند روال متعارف آموزش شبکه‌های عصبی عمیق، پارامترهای مدل را با کمینه‌کردن این زیان بهینه می‌کنیم. برای این کار، مجموعه‌ای از نمونه‌های آموزشی گردآوری می‌شود. در طول آموزش، هر بار یک دسته (batch) از نمونه‌های آموزشی به‌طور تصادفی از این مجموعه انتخاب می‌شود و LossBERT روی این نمونه‌ها انباشته می‌شود. سپس پارامترهای مدل با گرادیان‌کاهشی یا گونه‌های آن به‌روزرسانی می‌شوند. این فرایند بارها تکرار می‌شود تا یک معیار توقف، مانند همگرایی زیان آموزش، برآورده شود.

۱.۳.۱.۱ توابع زیان

به‌طور کلی، مدل‌های BERT برای نمایش یک جمله یا یک جفت جمله به‌کار می‌روند و بنابراین می‌توانند مسائل گوناگون درک زبان را در وظایف پایین‌دستی پوشش دهند. در این بخش فرض می‌کنیم نمایش ورودی دنباله‌ای شامل دو جملهٔ SentA و SentB باشد:

[CLS] SentA [SEP] SentB [SEP]

در اینجا از نمادگذاری مقالهٔ BERT پیروی می‌کنیم و [SEP] را برای جداکننده به‌کار می‌بریم.

با داشتن این دنباله، می‌توان LossMLM و LossNSP را جداگانه به‌دست آورد. در مدل‌سازی زبانی ماسک‌شده، زیرمجموعه‌ای از توکن‌های دنباله را پیش‌بینی می‌کنیم. معمولاً درصد مشخصی از توکن‌ها به‌طور تصادفی انتخاب می‌شوند؛ برای مثال در BERT استاندارد، ۱۵٪ توکن‌های هر دنباله انتخاب می‌شوند. سپس دنباله به سه روش تغییر می‌کند:

  • ماسک‌کردن توکن (Token Masking). ۸۰٪ توکن‌های انتخاب‌شده ماسک و با نماد [MASK] جایگزین می‌شوند. مثال:
    Original: [CLS] It is raining . [SEP] I need an umbrella . [SEP]
    Masked:   [CLS] It is [MASK] . [SEP] I need [MASK] umbrella . [SEP]
    پیش‌بینی توکن‌های ماسک‌شده مدل را وادار می‌کند بازنمایی توکن‌ها را از زمینهٔ پیرامون آن‌ها بیاموزد.
  • جایگزینی تصادفی (Random Replacement). ۱۰٪ توکن‌های انتخاب‌شده به یک توکن تصادفی تغییر می‌کنند:
    Original:     [CLS] It is raining . [SEP] I need an umbrella . [SEP]
    Random Token: [CLS] It is raining . [SEP] I need an hat . [SEP]
    این کار به مدل کمک می‌کند بازیابی یک توکن از ورودی نویزی را یاد بگیرد.
  • بدون تغییر (Unchanged). ۱۰٪ توکن‌های انتخاب‌شده بدون تغییر باقی می‌مانند:
    Original:        [CLS] It is raining . [SEP] I need an umbrella . [SEP]
    Unchanged Token: [CLS] It is raining . [SEP] I need an umbrella . [SEP]
    این وظیفهٔ پیش‌بینی دشوار نیست، اما می‌تواند مدل را هدایت کند تا برای پیش‌بینی از شواهد آسان‌تر استفاده کند.

فرض کنید A(x) مجموعهٔ موقعیت‌های انتخاب‌شده در دنبالهٔ توکن x و دنبالهٔ تغییریافتهٔ آن باشد. تابع زیان مدل‌سازی زبانی ماسک‌شده به‌صورت زیر تعریف می‌شود:

LossMLM = − ∑i∈A(x) log Pri(xi | x̄)    (1.18)

که در آن Pri(xi|x̄) احتمال پیش‌بینی xi در موقعیت i با داشتن است. شکل ۱.۵ یک مثال گام‌به‌گام از محاسبهٔ LossMLM را نشان می‌دهد.

شکل 1.5تصویر درون‌خطی شکل 1.5 از کتاب Foundations of Large Language Models؛ توضیح فارسی در زیر شکل آمده است.
شکل ۱.۵ — یک مثال گام‌به‌گام از مدل‌سازی زبانی ماسک‌شده به سبک BERT. ابتدا ۱۵٪ توکن‌ها به‌طور تصادفی انتخاب می‌شوند. سپس هر توکن انتخاب‌شده با احتمال ۸۰٪ با [MASK] جایگزین، با احتمال ۱۰٪ با توکنی تصادفی جایگزین، و با احتمال ۱۰٪ بدون تغییر نگه داشته می‌شود. مدل برای پیش‌بینی همین توکن‌های انتخاب‌شده از روی دنبالهٔ تغییریافته آموزش می‌بیند. ei تعبیهٔ توکن در موقعیت i است و جعبه‌های خاکستری لایه‌های Softmax را نشان می‌دهند.

برای پیش‌بینی جملهٔ بعدی از روش بخش ۱.۲.۲.۳ پیروی می‌کنیم. هر نمونهٔ آموزشی در مجموعهٔ برچسب {IsNext, NotNext} طبقه‌بندی می‌شود. برای مثال:

Sequence: [CLS] It is raining . [SEP] I need an umbrella . [SEP]
Label:    IsNext

Sequence: [CLS] The cat sleeps on the windowsill . [SEP] Apples grow on trees . [SEP]
Label:    NotNext

بردار خروجی رمزگذار برای نخستین توکن [CLS] به‌عنوان نمایش دنباله در نظر گرفته می‌شود و آن را با hcls (یا h0) نشان می‌دهیم. یک طبقه‌بند روی hcls ساخته می‌شود. سپس می‌توان احتمال برچسب c با داشتن hcls را محاسبه کرد، یعنی Pr(c|hcls). برای مسائل طبقه‌بندی توابع زیان بسیاری قابل انتخاب‌اند. برای مثال در آموزش بیشینهٔ درست‌نمایی، LossNSP را می‌توان چنین تعریف کرد:

LossNSP = −log Pr(cgold | hcls)    (1.19)

که در آن cgold برچسب درست این نمونه است.

۱.۳.۱.۲ پیکربندی مدل

همان‌طور که در شکل ۱.۶ دیده می‌شود، مدل‌های BERT بر معماری استاندارد رمزگذار Transformer بنا شده‌اند. ورودی دنباله‌ای از تعبیه‌ها است و هر تعبیه از جمع تعبیهٔ توکن، تعبیهٔ موقعیت و تعبیهٔ قطعه تشکیل می‌شود:

e = x + epos + eseg    (1.20)

تعبیهٔ توکن (x) و تعبیهٔ موقعیت (epos) همان انواع معمول در مدل‌های Transformer هستند. تعبیهٔ قطعه (eseg) نوع تازه‌ای از تعبیه است که مشخص می‌کند توکن به SentA یا SentB تعلق دارد. مثال زیر این موضوع را نشان می‌دهد:

Token[CLS]Itisraining.[SEP]Ineedanumbrella.[SEP]
xx₀x₁x₂x₃x₄x₅x₆x₇x₈x₉x₁₀x₁₁
eposPE(0)PE(1)PE(2)PE(3)PE(4)PE(5)PE(6)PE(7)PE(8)PE(9)PE(10)PE(11)
esegeAeAeAeAeAeAeBeBeBeBeBeB

بخش اصلی مدل BERT یک شبکهٔ Transformer چندلایه است. هر لایهٔ Transformer شامل یک زیرلایهٔ خودتوجهی و یک زیرلایهٔ FFN است. هر دو از معماری پس‌نرمال‌سازی (post-norm) پیروی می‌کنند: output = LNorm(F(input) + input)، که در آن F(·) تابع هستهٔ زیرلایه (یا خودتوجهی یا FFN) و LNorm(·) واحد نرمال‌سازی لایه است. معمولاً چند لایهٔ Transformer روی هم قرار می‌گیرند تا شبکه‌ای عمیق تشکیل شود. در هر موقعیت دنباله، نمایش خروجی یک بردار حقیقی است که آخرین لایهٔ شبکه آن را تولید می‌کند.

در توسعهٔ مدل‌های BERT چند جنبه باید در نظر گرفته شود:

  • اندازهٔ واژگان (|V|). در Transformerها هر توکن ورودی یک مدخل در واژگان V است. واژگان بزرگ‌تر می‌تواند گونه‌های سطحی بیشتری از واژه‌ها را پوشش دهد، اما نیاز ذخیره‌سازی را افزایش می‌دهد.
  • اندازهٔ تعبیه (de). هر توکن با یک بردار حقیقی de-بعدی نمایش داده می‌شود. همان‌طور که گفته شد، این بردار جمع تعبیهٔ توکن، موقعیت و قطعه است که همگی de-بعدی‌اند.
  • اندازهٔ پنهان (d). ورودی و خروجی هر زیرلایه d بعد دارند و بیشتر حالت‌های پنهان زیرلایه نیز بردارهای d-بعدی هستند. در یک نگاه کلی، d را می‌توان تقریباً عرض شبکه دانست.
  • تعداد سرها (nhead). در زیرلایه‌های خودتوجهی باید تعداد سرهای خودتوجهی چندسری مشخص شود. هرچه این عدد بزرگ‌تر باشد، توجه در زیرفضاهای بیشتری انجام می‌شود. در سامانه‌های عملی اغلب nhead ≥ 4 در نظر گرفته می‌شود.
  • اندازهٔ پنهان FFN (dffn). اندازهٔ لایهٔ پنهان FFNهای Transformer معمولاً از d بزرگ‌تر است؛ برای نمونه تنظیم رایج dffn = 4d است. برای Transformerهای بزرگ‌تر، مانند مدل‌های بزرگ جدید، dffn ممکن است بسیار بزرگ تنظیم شود.
شکل 1.6تصویر درون‌خطی شکل 1.6 از کتاب Foundations of Large Language Models؛ توضیح فارسی در زیر شکل آمده است.
شکل ۱.۶ — معماری مدل BERT (رمزگذار Transformer). توکن‌های ورودی ابتدا به تعبیه تبدیل می‌شوند؛ هر تعبیه جمع تعبیهٔ توکن، موقعیت و قطعه است. سپس دنبالهٔ تعبیه‌ها از پشته‌ای از لایه‌های Transformer عبور می‌کند. هر لایه یک زیرلایهٔ خودتوجهی و یک زیرلایهٔ FFN دارد. خروجی BERT دنباله‌ای از بردارها است که آخرین لایهٔ Transformer تولید می‌کند.
  • عمق مدل (L). استفاده از شبکه‌های عمیق راه مؤثری برای افزایش توان بیانی Transformerها است. برای BERT معمولاً L برابر ۱۲ یا ۲۴ تنظیم می‌شود، هرچند شبکه‌هایی با عمق بیشتر نیز امکان‌پذیرند و می‌توانند برای بهبودهای بیشتر به‌کار روند.

تنظیم‌های متفاوت این ابرپارامترها به اندازه‌های متفاوت مدل منجر می‌شود. دو مدل BERT پرکاربرد عبارت‌اند از:

  • BERTbase: d = 768, L = 12, nhead = 12، تعداد کل پارامترها = ۱۱۰ میلیون.
  • BERTlarge: d = 1,024, L = 14, nhead = 16، تعداد کل پارامترها = ۳۴۰ میلیون.

آموزش BERT از فرایند استاندارد آموزش Transformer پیروی می‌کند. آموزش مدل‌های بزرگ‌تر مانند BERTlarge تلاش و زمان بیشتری می‌طلبد. این مسئله در پیش‌آموزش رایج است، به‌ویژه زمانی که مدل با حجم بسیار بزرگی از داده آموزش داده می‌شود. در عمل، کارایی آموزش نیز مورد توجه است. برای مثال، روشی متداول این است که BERT ابتدا برای تعداد زیادی گام آموزشی روی دنباله‌های نسبتاً کوتاه آموزش ببیند و سپس در گام‌های باقی‌مانده آموزش با دنباله‌های دارای طول کامل ادامه یابد.

۱.۳.۲ آموزش بیشتر و مدل‌های بزرگ‌تر

BERT یک مدل نقطه‌عطف در NLP بود و تلاش‌های فراوانی برای بهبود آن برانگیخت. یکی از جهت‌ها، مقیاس‌دادن خود مدل است؛ از جمله افزایش دادهٔ آموزشی و ساخت مدل‌های بزرگ‌تر. RoBERTa، توسعه‌ای بر BERT استاندارد، نمونه‌ای از این تلاش‌ها است [Liu et al., 2019]. این مدل دو بهبود عمده را مطرح می‌کند. نخست، صرفاً استفاده از دادهٔ آموزشی و توان محاسباتی بیشتر می‌تواند مدل‌های BERT را بدون نیاز به تغییر معماری بهتر کند. دوم، اگر آموزش در مقیاس بزرگ انجام شود، حذف زیان NSP عملکرد وظایف پایین‌دستی را کاهش نمی‌دهد. این یافته‌ها یک جهت عمومی برای پیش‌آموزش پیشنهاد می‌کنند: می‌توان با مقیاس‌دادن وظایف سادهٔ پیش‌آموزش، پیش‌آموزش را همچنان بهبود داد.

رویکرد دوم برای بهبود BERT افزایش تعداد پارامترهای مدل است. برای مثال، He و همکاران [2021] با افزایش هم‌زمان عمق مدل و اندازهٔ پنهان، مدلی شبیه BERT با ۱.۵ میلیارد پارامتر ساختند. بااین‌حال، بزرگ‌کردن BERT و دیگر مدل‌های پیش‌آموخته چالش‌های تازه‌ای در آموزش ایجاد می‌کند؛ برای نمونه آموزش مدل‌های بسیار بزرگ اغلب ناپایدار می‌شود و همگرایی آن دشوار است. این مسئله موضوع را پیچیده‌تر می‌کند و مستلزم توجه دقیق به جنبه‌هایی مانند معماری مدل، محاسبات موازی، مقداردهی اولیهٔ پارامترها و موارد دیگر است. در نمونه‌ای دیگر، Shoeybi و همکاران [2019] با موفقیت مدلی شبیه BERT با ۳.۹ میلیارد پارامتر آموزش دادند که برای پاسخ به نیاز محاسباتی افزایش‌یافته از صدها GPU استفاده می‌کرد.

۱.۳.۳ مدل‌های کارآمدتر

BERT در مقایسه با مدل‌های پیش از خود، برای زمان ارائه‌اش مدلی نسبتاً بزرگ بود. افزایش اندازهٔ مدل نیاز حافظه را بیشتر و در نتیجه عملکرد سامانه را کندتر می‌کند. توسعهٔ مدل‌های BERT کوچک‌تر و سریع‌تر بخشی از چالش گسترده‌تر ساخت Transformerهای کارآمد است که در Tay et al. [2020] و Xiao and Zhu [2023] به‌طور مفصل بررسی شده است. بحث عمیق‌تر دربارهٔ این موضوع عمومی خارج از دامنهٔ بحث حاضر است؛ در اینجا چند گونهٔ کارآمد BERT را بررسی می‌کنیم.

برای پژوهشگران NLP، چند مسیر پژوهشی در ساخت BERTهای کارآمد اهمیت دارد. نخست، پژوهش‌های تقطیر دانش (knowledge distillation)، مانند آموزش مدل‌های دانش‌آموز با خروجی مدل‌های معلمی که خوب آموزش دیده‌اند، نشان می‌دهد می‌توان با انتقال دانش از BERTهای بزرگ‌تر، مدل‌های BERT کوچک‌تر به‌دست آورد. چون BERT شبکه‌ای چندلایه با چند نوع لایه است، تقطیر دانش را می‌توان در سطوح مختلف بازنمایی اعمال کرد. برای مثال، افزون بر تقطیر دانش از لایه‌های خروجی، می‌توان زیان آموزشی‌ای افزود که اختلاف خروجی لایه‌های پنهان میان مدل معلم و دانش‌آموز را اندازه می‌گیرد [Sun et al., 2020; Jiao et al., 2020]. در عمل، تقطیر دانش یکی از پرکاربردترین روش‌ها برای یادگیری مدل‌های پیش‌آموختهٔ کوچک بوده است.

دوم، روش‌های متعارف فشرده‌سازی مدل را می‌توان مستقیماً برای فشرده‌سازی BERT به‌کار برد. یکی از روش‌های رایج، استفاده از هرس‌کردن عمومی (pruning) برای هرس شبکه‌های رمزگذاری Transformer است [Gale et al., 2019]. این کار معمولاً شامل حذف کامل برخی لایه‌ها [Fan et al., 2019] یا حذف درصدی از پارامترهای شبکه [Sanh et al., 2020; Chen et al., 2020] است. هرس‌کردن برای مدل‌های توجه چندسری نیز کاربرد دارد. برای نمونه، Michel et al. [2019] نشان دادند حذف برخی سرها عملکرد BERT را به‌طور چشمگیر کاهش نمی‌دهد، اما استنتاج آن را سریع‌تر می‌کند. روش دیگر فشرده‌سازی BERT، کوانتیزه‌سازی (quantization) است [Shen et al., 2020]. با نمایش پارامترها به‌صورت اعداد کم‌دقت، مدل را می‌توان به‌شدت فشرده کرد. این روش ویژهٔ BERT نیست، اما برای معماری‌های بزرگ مبتنی بر Transformer مؤثر است.

سوم، با توجه به اینکه BERT شبکه‌ای نسبتاً عمیق و بزرگ است، مسیر پژوهشی دیگری از شبکه‌های پویا برای سازگارکردن آن با استنتاج کارآمد استفاده می‌کند. یک ایده در این الگو، انتخاب پویای لایه‌هایی است که یک توکن را پردازش می‌کنند. برای مثال در مدل‌های تطبیقی از نظر عمق (depth-adaptive)، در یک عمق بهینه از شبکه خارج می‌شویم و بقیهٔ لایه‌های پشته را رد می‌کنیم [Xin et al., 2020; Zhou et al., 2020]. به همین ترتیب می‌توان مدل‌های تطبیقی از نظر طول ساخت که طول دنبالهٔ ورودی را پویا تنظیم می‌کنند. برای مثال می‌توان برخی توکن‌ها را در ورودی رد کرد تا بار محاسباتی روی توکن‌های کم‌اهمیت کاهش یابد و کارایی کلی افزایش پیدا کند.

چهارم، برای کاهش اندازهٔ BERT می‌توان پارامترها را میان لایه‌ها به‌اشتراک گذاشت. راه ساده این است که پارامترهای یک لایهٔ کامل Transformer در سراسر پشتهٔ لایه‌ها مشترک باشد [Dehghani et al., 2018; Lan et al., 2020]. افزون بر کاهش تعداد پارامترها، این کار استفادهٔ دوباره از همان لایه را در یک شبکهٔ Transformer چندلایه ممکن می‌کند و در زمان آزمون مصرف حافظه را کاهش می‌دهد.

۱.۳.۴ مدل‌های چندزبانه

مدل اولیهٔ BERT عمدتاً بر زبان انگلیسی متمرکز بود. اندکی پس از ارائهٔ آن، BERT به زبان‌های بسیاری گسترش یافت. یک راه ساده، توسعهٔ مدلی جداگانه برای هر زبان است. رویکرد دیگری که در پژوهش‌های جدید مدل‌های زبانی بزرگ رایج‌تر شده، آموزش مستقیم مدل‌های چندزبانه با دادهٔ همهٔ زبان‌ها است. در همین راستا، BERT چندزبانه (mBERT) با آموزش روی متن ۱۰۴ زبان ساخته شد.۶ تفاوت اصلی mBERT با BERT تک‌زبانه این است که mBERT از واژگان بزرگ‌تری برای پوشش توکن‌های چند زبان استفاده می‌کند. در نتیجه، بازنمایی توکن‌های زبان‌های گوناگون به یک فضای مشترک نگاشت می‌شود و این مدل بازنمایی عمومی امکان اشتراک دانش میان زبان‌ها را فراهم می‌کند.

یکی از کاربردهای مهم مدل‌های پیش‌آموختهٔ چندزبانه، یادگیری میان‌زبانی (cross-lingual learning) است. در تنظیم میان‌زبانی، مدل را روی وظایفی در یک زبان یاد می‌گیریم و همان مدل را برای همان وظایف در زبانی دیگر به‌کار می‌بریم. برای نمونه در طبقه‌بندی متن میان‌زبانی، یک مدل پیش‌آموختهٔ چندزبانه را روی اسناد انگلیسیِ برچسب‌خورده ریزتنظیم می‌کنیم و سپس مدل ریزتنظیم‌شده را برای طبقه‌بندی اسناد چینی به‌کار می‌بریم.

یکی از بهبودهای مدل‌های چندزبانه‌ای مانند mBERT، واردکردن دادهٔ دوزبانه به فرایند پیش‌آموزش است. به‌جای آموزش صرف بر دادهٔ تک‌زبانهٔ چند زبان، آموزش دوزبانه رابطهٔ میان توکن‌های دو زبان را به‌صراحت مدل می‌کند. مدل حاصل توان انتقال میان‌زبانی ذاتی خواهد داشت و در نتیجه به‌آسانی با زبان‌های گوناگون سازگار می‌شود. Lample و Conneau [2019] روشی برای پیش‌آموزش مدل‌های زبانی میان‌زبانی (XLM) پیشنهاد کردند. در کار آن‌ها، یک مدل زبانی میان‌زبانی می‌تواند هم با مدل‌سازی زبانی علّی و هم با مدل‌سازی زبانی ماسک‌شده آموزش ببیند.

در پیش‌آموزش مدل‌سازی زبانی ماسک‌شده، مدل به‌عنوان رمزگذار در نظر گرفته می‌شود. هدف آموزشی همان BERT است: احتمال تعدادی توکن که به‌طور تصادفی انتخاب شده و در ورودی یا ماسک، یا با توکن تصادفی جایگزین، یا بدون تغییر نگه داشته شده‌اند بیشینه می‌شود. اگر دادهٔ دوزبانه را در پیش‌آموزش در نظر بگیریم، هر بار یک جفت جملهٔ هم‌تراز نمونه‌برداری می‌شود. سپس دو جمله کنار هم بسته‌بندی می‌شوند تا یک دنبالهٔ واحد برای آموزش ساخته شود. برای مثال، جفت جملهٔ انگلیسی–چینی زیر را در نظر بگیرید:

鲸鱼是哺乳动物。 ↔ Whales are mammals .

می‌توان آن‌ها را به یک دنباله تبدیل کرد:

[CLS] 鲸鱼是哺乳动物。[SEP] Whales are mammals . [SEP]

سپس درصد مشخصی از توکن‌ها را انتخاب و با [MASK] جایگزین می‌کنیم:

[CLS] [MASK] 是[MASK] 动物。[SEP] Whales [MASK] [MASK] . [SEP]

هدف پیش‌آموزش، بیشینه‌کردن حاصل‌ضرب احتمال توکن‌های ماسک‌شده با داشتن دنبالهٔ بالا است. با این شیوهٔ آموزش، مدل هم می‌تواند دنبالهٔ انگلیسی و چینی را بازنمایی کند و هم تناظر میان توکن‌های دو زبان را بیاموزد. برای مثال، پیش‌بینی توکن چینی 鲸鱼 ممکن است به اطلاعات توکن انگلیسی Whales نیاز داشته باشد. هم‌ترازکردن بازنمایی دو زبان، مدل را در اصل به یک مدل «ترجمه» تبدیل می‌کند؛ ازاین‌رو این هدف آموزشی «مدل‌سازی زبانی ترجمه» (translation language modeling) نیز نامیده می‌شود. شکل ۱.۷ این رویکرد را نشان می‌دهد.

یکی از مزایای مدل‌های پیش‌آموختهٔ چندزبانه، توان ذاتی آن‌ها در مدیریت جابه‌جایی کد (code-switching) است. در NLP و زبان‌شناسی، جابه‌جایی کد به تغییر بین زبان‌ها در یک متن گفته می‌شود. نمونهٔ زیر یک متن ترکیبی چینی–انگلیسی است:

周末我们打算去做hiking ,你想一起来吗?
(We plan to go hiking this weekend, would you like to join us?)

برای مدل‌های پیش‌آموختهٔ چندزبانه لازم نیست تشخیص دهیم یک توکن چینی است یا انگلیسی؛ هر توکن فقط یک مدخل در واژگان مشترک است. می‌توان این وضعیت را مانند ساخت یک زبان «جدید» تصور کرد که همهٔ زبان‌های مورد نظر ما را دربر می‌گیرد.

نتیجهٔ پیش‌آموزش چندزبانه از چند عامل اثر می‌پذیرد. با فرض ثابت‌بودن معماری مدل، باید اندازهٔ واژگان مشترک، تعداد (یا درصد) نمونه‌های هر زبان، اندازهٔ مدل و موارد مشابه مشخص شود. Conneau و همکاران [2020] چند نکتهٔ جالب دربارهٔ پیش‌آموزش چندزبانه در مقیاس بزرگ برای مدل‌های شبیه XLM مطرح کردند. نخست، با افزایش تعداد زبان‌های پشتیبانی‌شده، برای مدیریت آن‌ها به مدل بزرگ‌تری نیاز است. دوم، واژگان مشترک بزرگ‌تر به مدل‌کردن تنوع افزودهٔ زبان‌ها کمک می‌کند. سوم، زبان‌های کم‌منبع آسان‌تر از انتقال میان‌زبانی زبان‌های پرمنبع بهره می‌برند، به‌خصوص هنگامی که زبان‌های پرمنبع مشابه در پیش‌آموزش حضور داشته باشند. بااین‌حال، اگر مدل برای مدتی طولانی آموزش ببیند ممکن است تداخل رخ دهد؛ ادامهٔ این بحث در بخش بعدی کتاب آمده است.

امتیاز کاربران به این مقاله

☆☆☆☆☆

0 نفر امتیاز داده اند. میانگین: 0.0 از 5

 

0 نظر

نظر محترم شما در مورد مقاله های وب سایت برنامه نویسی و پایگاه داده

نظرات محترم شما در خدمات رسانی بهتر ما را یاری می نمایند. لطفا اگر مایل بودید یک نظر ما را مهمان فرمائید. آدرس ایمیل و وب سایت شما نمایش داده نخواهد شد.

0 / 500

اطلاعات تماس

  • آدرس:اصفهان-خیابان ام کلثوم غربی - بعد خیابان تخم چی - بیست متر بعد از پیتزا ننه شب - کوچه تعمیر گاه سمار زغالی - پلاک 354 - درب مشکی - طبقه هفتم
  • آدرس ایمیل:najafzade@gmail.com
  • وب سایت:http://www.a00b.com/
  • تلفن ثابت:(+98)9131253620
  • تلفن همراه:09131253620