مقدمه

با گسترش مدل‌های زبانی بزرگ (LLM)، روش‌های فعال‌سازی و بهینه‌سازی آن‌ها به‌عنوان موضوع پژوهشی سرآمد قرار گرفته‌اند. یکی از مهمترین گام‌ها در این مسیر، فاین‌تیونینگ مدل‌های 20 میلیارد پارامتر با استفاده از یادگیری تقویتی (RLHF) است. در این مقاله، نگاهی دقیق به روش‌های فاین‌تیونینگ با کتابخانه‌های TRL و PEFT می‌اندازیم و چگونگی اجرای آن بر روی کارت گرافیک 24GB مصرفی را بررسی می‌کنیم.

امکانات فاین‌تیونینگ با TRL و PEFT

  • ورود سریع به مدل‌های 20B با پردازش 8‑بیتی
  • استفاده از Low‑Rank Adapters برای کاهش مصرف حافظه
  • یکپارچگی کامل با چارچوبهای پایتون و PyTorch
  • پشتیبانی از Pipeline های RLHF و قدرت اجرایی بالا

TRĪL یک کتابخانه متن‌باز است که به‌صورت ویژه برای آموزش مقیاس‌های بزرگ طراحی شده، در حالی که PEFT ابزار افزایشی برای تنظیم دقیق مدل‌ها بدون نیاز به بارگذاری کل پارامترهای اولیه است. ترکیب این دو امکان می‌دهد تا فاین‌تیونینگ مدل‌های 20B را بر روی GPU‌های مصرفی با حافظه 24GB انجام دهیم.

نحوه اجرای آموزش در GPU 24GB

مرحله‌ به‌مرحله روش انجام فاین‌تیونینگ این چنین است:

  • بارگذاری مدل فعال با دقت 8‑بیتی برای کاهش مصرف حافظه.
  • افزودن Low‑Rank Adapters به مدل برای کاهش پارامترهای قابل آموزش.
  • استفاده از همان مدل برای دریافت logits مرجع و فعال در حلقه RLHF.
  • اجرای حلقه آموزش در GPU 24GB با بهره‌گیری از Mixed Precision و تقسیم بار.

نتیجه‌گیری این است که با بهره‌گیری از PEFT، می‌توان مدل 20B را بدون نیاز به مجموعه‌ای عظیم از GPU‌های بالانس‌شده، بر روی یک کارت گرافیک مصرفی آموزش داد.

نتایج و نکات کلیدی

نتایج آزمایش نشان دادند که مدل فاین‌تیون‌شده در برابر مجموعه‌های آموزشی RLHF عملکرد قابل قبولی دارد و پشتیبانی از Low‑Rank Adapters باعث می‌شود مصرف حافظه حدود 40٪ کاهش یابد. نکاتی که در این مسیر باید رعایت شوند عبارتند از:

  • انتخاب دقت 8‑بیتی برای ورودی و خروجی مدل.
  • تنظیم مناسب نرخ یادگیری و پارامترهای بهینه‌سازی.
  • استفاده از داده‌های متنوع و تعادل بین کیفیت و حجم در مجموعه RLHF.

این دستاورد نشان می‌دهد که پلتفرم‌های متن‌باز مانند Hugging Face، با ارائه ابزارهای پیشرفته، می‌توانند جعبه ابزارهای فاین‌تیونینگ مدل‌های بزرگ را برای پژوهشگران و توسعه‌دهندگان عمومی‌تر و قابل دسترسی‌تر کنند.

پرسش‌های پرتکرار

آیا می‌توانم همین روش را روی GPU های دیگر استفاده کنم؟

بله، فقط باید اطمینان حاصل کنید که حافظه GPU حداقل 24GB را دارد یا از تکنیک‌های تقسیم مدل استفاده کنید. در غیر این صورت، انجام فاین‌تیونینگ خواهد بود محدود شده.

مزیت استفاده از PEFT در مقایسه با فاین‌تیونینگ سنتی چیست؟

PEFT با استفاده از Low‑Rank Adapters پارامترهای قابل آموزش را به‌طور قابل‌توجه کاهش می‌دهد، که باعث صرفه‌جویی در حافظه، سرعت بیشتر و امکان اجرای مدل‌های بزرگ روی سخت‌افزارهای کم‌منبع می‌شود.