Training large language models (FA)

From Systems analysis Wiki
Jump to navigation Jump to search

آموزش مدل‌های زبانی بزرگ (LLM) فرآیندی پیچیده و منابع‌بر است که طی آن یک شبکه عصبی با میلیاردها پارامتر بر روی حجم عظیمی از داده‌های متنی آموزش می‌بیند تا زبان انسانی را درک کرده و تولید کند. این فرآیند سنگ بنای ساخت LLMهای مدرن نظیر GPT، BERT، Claude و Gemini به شمار می‌رود.

مبانی نظری آموزش

معماری Transformer و مکانیزم توجه

LLMهای مدرن تقریباً به طور کامل بر پایه معماری Transformer بنا شده‌اند که پردازش کارآمد دنباله‌های طولانی متن را ممکن می‌سازد. مؤلفه کلیدی این معماری مکانیزم self-attention است که به مدل امکان می‌دهد اهمیت هر کلمه را در بافت کل دنباله بسنجد. این ویژگی باعث می‌شود وابستگی‌های دوردست شناسایی شوند و داده‌ها به صورت موازی پردازش گردند، که آموزش را در مقایسه با شبکه‌های بازگشتی (RNN) به طور قابل توجهی سرعت می‌بخشد.

وظیفه اصلی: پیش‌بینی token بعدی

وظیفه بنیادینی که اکثر LLMها (به ویژه مدل‌های مولد مانند GPT) بر اساس آن آموزش می‌بینند، مدل‌سازی زبانی است. مدل می‌آموزد که token بعدی (کلمه یا بخشی از کلمه) را در یک دنباله بر اساس تمام token‌های پیشین پیش‌بینی کند. به طور رسمی، مدل احتمال دنباله P(X) را از طریق بسط آن با قانون زنجیر بیشینه می‌کند:

P(X)=t=1TP(xt|x1,,xt1)

برای آموزش از تابع خطای کراس‌آنتروپی استفاده می‌شود که اختلاف میان توزیع احتمال پیش‌بینی‌شده توسط مدل و token واقعی بعدی را اندازه می‌گیرد.

مراحل آموزش

فرآیند آموزش LLM معمولاً از دو مرحله اصلی تشکیل می‌شود.

۱. پیش‌آموزش (Pre-training)

این گسترده‌ترین و از نظر محاسباتی پرهزینه‌ترین مرحله است که مدل در طی آن دانش بنیادین خود درباره زبان و جهان را کسب می‌کند.

  • داده‌ها: مدل بر روی پیکره‌های عظیمی از متن بدون برچسب آموزش می‌بیند که حجم آن‌ها می‌تواند به تریلیون‌ها token برسد. منابع داده شامل صفحات وب (مانند Common Crawl)، ویکی‌پدیا، کتابخانه‌های دیجیتال کتاب (Google Books) و مخازن کد (GitHub) می‌شوند.
  • هدف: شکل‌دهی بازنمایی‌های زبانی جهانی. مدل گرامر، نحو، حقایق و حتی برخی عناصر استدلال منطقی را فرا می‌گیرد.
  • فرآیند: این آموزش خودنظارتی (self-supervised learning) است که در آن برچسب‌ها (token‌های صحیح بعدی) از خود داده‌ها استخراج می‌شوند. آموزش ممکن است هفته‌ها یا ماه‌ها بر روی خوشه‌هایی از هزاران GPU یا TPU به طول انجامد.

۲. fine-tuning و Alignment

پس از پیش‌آموزش، مدل «خام» باید برای وظایف خاص تطبیق یافته و با انتظارات انسانی همراستا شود.

  • Supervised Fine-tuning: مدل بر روی مجموعه داده کوچک اما باکیفیتی از داده‌های برچسب‌گذاری‌شده (مثلاً جفت‌های «دستورالعمل-پاسخ») fine-tune می‌شود تا بیاموزد از دستورات پیروی کند.
  • آموزش با تقویت بر اساس بازخورد انسانی (RLHF): این روش کلیدی برای alignment است. این فرآیند شامل چند مرحله است:
    1. برچسب‌گذارهای انسانی چندین پاسخ مدل به یک درخواست واحد را از بهترین تا بدترین رتبه‌بندی می‌کنند.
    2. بر اساس این داده‌ها یک مدل پاداش (reward model) آموزش می‌بیند که یاد می‌گیرد پیش‌بینی کند انسان کدام پاسخ را ترجیح می‌دهد.
    3. LLM اصلی با استفاده از الگوریتم‌های تقویتی (مانند PPO) و با بهره‌گیری از مدل پاداش به عنوان منبع سیگنال fine-tune می‌شود تا پاسخ‌های مفیدتر، صادقانه‌تر و ایمن‌تری تولید کند.

این رویکرد دو مرحله‌ای (pre-training + fine-tuning/alignment) به استاندارد صنعت تبدیل شده و امکان ساخت مدل‌های زبانی قدرتمند و در عین حال قابل کنترل را فراهم می‌آورد.

جنبه‌های عملی

داده‌ها: جمع‌آوری، مقیاس و آماده‌سازی

کیفیت و مقیاس داده‌ها عوامل تعیین‌کننده موفقیت LLM هستند.

  • جمع‌آوری: از منابع متنوع استفاده می‌شود تا پوشش گسترده‌ای از موضوعات، سبک‌ها و زبان‌ها تضمین گردد.
  • پاکسازی و فیلترینگ: مرحله‌ای حیاتی که شامل حذف موارد تکراری، فیلتر کردن محتوای بی‌کیفیت یا مسموم و متعادل‌سازی منابع می‌شود تا مدل بر روی زبان خاص اینترنتی بیش‌آموزش نبیند.
  • توکن‌سازی: متن با استفاده از الگوریتم‌هایی مانند BPE یا SentencePiece به token (کلمه یا زیرکلمه) تقسیم می‌شود. انتخاب توکن‌ساز و اندازه واژگان مستقیماً بر کارایی و کیفیت مدل تأثیر می‌گذارد.

آموزش توزیع‌شده و منابع محاسباتی

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

  • سخت‌افزار: از ابررایانه‌هایی متشکل از هزاران GPU (مانند NVIDIA A100/H100) یا TPU (Google) که با شبکه‌های پرسرعت (مانند InfiniBand) به هم متصل هستند استفاده می‌شود.
  • موازی‌سازی: برای توزیع محاسبات از طرح‌های پیچیده موازی‌سازی استفاده می‌شود:
    • Data Parallelism: هر نسخه از مدل بر روی GPU خود بخشی از داده‌ها را پردازش می‌کند.
    • Model Parallelism: خود مدل به بخش‌هایی تقسیم می‌شود که روی GPUهای مختلف قرار می‌گیرند. این شامل موازی‌سازی تانسوری (تقسیم ماتریس‌ها) و موازی‌سازی خط‌لوله‌ای (تقسیم لایه‌ها) می‌شود.
    • ZeRO (Zero Redundancy Optimizer): فناوری توسعه‌یافته توسط Microsoft DeepSpeed که با حذف تکرار پارامترها، گرادیان‌ها و حالت‌های بهینه‌ساز، آموزش مدل‌های بسیار بزرگ‌تر را ممکن می‌سازد.
  • فریم‌ورک‌ها: برای پیاده‌سازی این طرح‌های پیچیده از فریم‌ورک‌های تخصصی مانند DeepSpeed، Megatron-LM و Hugging Face Accelerate استفاده می‌شود.

تکامل تاریخی رویکردها

  • دهه‌های ۱۹۸۰-۱۹۹۰: مدل‌های زبانی آماری مبتنی بر n-gram.
  • ۲۰۰۱-۲۰۱۰: ظهور مدل‌های زبانی عصبی مبتنی بر RNN و LSTM که وابستگی‌های بلندمدت را بهتر شناسایی می‌کردند.
  • ۲۰۱۷: انتشار مقاله «Attention Is All You Need» و ظهور معماری Transformer که آموزش موازی را ممکن ساخت.
  • ۲۰۱۸-۲۰۱۹: ظهور اولین Transformerهای پیش‌آموزش‌دیده یعنی GPT-1 و BERT که الگوی «pre-training + fine-tuning» را تثبیت کردند.
  • ۲۰۲۰: انتشار GPT-3 نقطه عطفی در مقیاس بود و ظهور قابلیت‌های نوظهور few-shot را رقم زد.
  • ۲۰۲۲: راه‌اندازی ChatGPT و مقبولیت عمومی RLHF به عنوان روش کلیدی برای ساخت دستیارهای AI مفید و ایمن.
  • ۲۰۲۳-اکنون: عصر مدل‌های چندوجهی (GPT-4، Gemini)، رقابت برای افزایش پنجره زمینه و توسعه قابلیت‌های عاملی.

پیوندها

  • معرفی LLM — دوره آموزشی Hugging Face

منابع

  • Vaswani, A. et al. (2017). Attention Is All You Need. NIPS.
  • Devlin, J. et al. (2019). BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. NAACL.
  • Brown, T. et al. (2020). Language Models are Few-Shot Learners. NIPS.
  • Ouyang, L. et al. (2022). Training language models to follow instructions with human feedback. arXiv:2203.02155.