پیش‌آموزش و تنظیم دقیق

اهداف پیش‌آموزش BERT و GPT را مقایسه کنی و تعداد پارامترهای قابل‌آموزش LoRA را حساب کنی.

14 دقیقه مطالعه · 5 سؤال تمرینی · یادگیری ماشین میانی و پیشرفته

پیش‌آموزش خودنظارتی: GPT و BERT

ایده: روی حجم عظیمی از متن بدون برچسب یک هدف خودنظارتی را بهینه کنیم تا بازنمایی‌های عمومی زبان یاد گرفته شود، و بعد مدل را برای وظیفه‌ی خاص تطبیق دهیم.

GPT (فقط رمزگشا، ماسک علّی): مدل‌سازی زبان علّی، یعنی پیش‌بینی توکن بعدی:

L=−∑tlog⁡p(xt∣x<t)\mathcal{L} = -\sum_t \log p(x_t \mid x_{<t})

BERT (فقط رمزگذار، توجه دوطرفه): مدل‌سازی زبان ماسک‌شده (MLM). حدود ۱۵٪ توکن‌ها برای پیش‌بینی انتخاب می‌شوند؛ از این‌ها ۸۰٪ با [MASK]، ۱۰٪ با توکن تصادفی جایگزین می‌شوند و ۱۰٪ بدون تغییر می‌مانند. ترکیب ۸۰/۱۰/۱۰ عدم تطابق بین پیش‌آموزش و تنظیم دقیق را (که در آن [MASK] وجود ندارد) کم می‌کند. BERT هدف دوم «پیش‌بینی جمله‌ی بعدی» (NSP) هم داشت.

T5 (رمزگذار-رمزگشا) بازه‌هایی از متن را خراب می‌کند و رمزگشا آن‌ها را بازسازی می‌کند.

تنظیم دقیق و یادگیری درون‌متنی

  • تنظیم دقیق کامل (Full Fine-tuning): یک سر کوچک (مثلاً خطی روی بازنمایی [CLS] در BERT) اضافه می‌کنیم و همه‌ی پارامترها را با نرخ یادگیری کوچک روی داده‌ی برچسب‌دار آموزش می‌دهیم.
  • استخراج ویژگی: مدل پیش‌آموخته منجمد است و فقط سر جدید آموزش می‌بیند. ارزان‌تر است ولی معمولاً دقت کمتری دارد.
  • یادگیری درون‌متنی (In-context Learning): در مدل‌های زبانی بزرگ مثل GPT-3، چند مثال در خود ورودی (Prompt) قرار می‌گیرد و هیچ وزنی به‌روز نمی‌شود.

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

تنظیم دقیق کم‌هزینه: LoRA

تنظیم دقیق کامل برای هر وظیفه یک کپی کامل از مدل می‌خواهد. روش‌های تنظیم دقیق کم‌پارامتر (PEFT) فقط بخش کوچکی را آموزش می‌دهند.

LoRA فرض می‌کند تغییر لازم در وزن‌ها رتبه‌ی پایین دارد. وزن پیش‌آموخته‌ی W0∈Rd×kW_0 \in \mathbb{R}^{d \times k} منجمد می‌ماند و:

W=W0+αr BA,B∈Rd×r,  A∈Rr×k,  r≪min⁡(d,k)W = W_0 + \frac{\alpha}{r}\,BA, \qquad B \in \mathbb{R}^{d \times r},\; A \in \mathbb{R}^{r \times k},\; r \ll \min(d, k)
  • تعداد پارامترهای قابل‌آموزش: r(d+k)r(d + k) به‌جای dkdk.
  • AA تصادفی و BB صفر مقداردهی می‌شود، پس در شروع BA=0BA = 0 و مدل دقیقاً همان مدل پیش‌آموخته است.
  • پس از آموزش می‌شود BABA را در W0W_0 ادغام کرد؛ پس در استنتاج تأخیر اضافه‌ای ندارد.

تمرین‌های این درس را حل کن (رایگان)