PEFT (Parameter-Efficient Fine-Tuning) (FA)

From Systems analysis wiki
Jump to navigation Jump to search

تنظیم‌دقیق پارامتر-کارآمد (به انگلیسی: Parameter-Efficient Fine-Tuning, PEFT) — مجموعه‌ای از روش‌های انطباق مدل‌های بزرگ از پیش آموزش‌دیده، مانند مدل‌های زبانی بزرگ (LLM)، با کمترین هزینه‌های محاسباتی و منابعی برای وظایف خاص است. برخلاف تنظیم‌دقیق کامل سنتی (full fine-tuning) که به‌روزرسانی تمام پارامترهای مدل را می‌طلبد، روش‌های PEFT تنها بر تغییر بخش کوچکی از وزن‌ها (کمتر از ۱ تا ۵ درصد از کل) تمرکز دارند و بخش اصلی مدل را دست‌نخورده («منجمد») نگه می‌دارند[1].

این رویکرد به‌طور چشمگیری نیازمندی‌های حافظه، فضای ذخیره‌سازی و زمان آموزش را کاهش می‌دهد و فرایند انطباق مدل‌های بنیادین قدرتمند را در دسترس‌تر ساخته و در برابر مشکل فراموشی فاجعه‌آمیز مقاوم‌تر می‌کند[2].

مشکلات تنظیم‌دقیق کامل

تنظیم‌دقیق کامل سنتی که در آن تمام پارامترهای مدل به‌روزرسانی می‌شوند، با چندین مشکل اساسی روبه‌رو است که محرک توسعه PEFT شدند:

  • هزینه‌های محاسباتی بالا: به‌روزرسانی صدها میلیارد پارامتر به توان محاسباتی عظیم (GPU/TPU پرکارایی) و حجم زیادی از حافظه ویدیویی (VRAM) نیاز دارد که فرایند را گران و برای بسیاری از پژوهشگران غیرقابل دسترس می‌کند.
  • ناکارآمدی ذخیره‌سازی: برای هر وظیفه جدید باید یک نسخه کامل چندین گیگابایتی از مدل ذخیره شود که به رشد تصاعدی نیازمندی‌های فضای دیسک منجر می‌شود.
  • فراموشی فاجعه‌آمیز (Catastrophic Forgetting): مدل در حین انطباق با داده‌های جدید، دانش عمومی کسب‌شده در مرحله پیش‌آموزش را «فراموش» می‌کند و عملکردش در سایر وظایف کاهش می‌یابد.
  • خطر بیش‌برازش (Overfitting): روی مجموعه داده‌های کوچک، مدل‌هایی با میلیاردها پارامتر تمایل دارند نمونه‌های آموزشی را «حفظ» کنند به‌جای یادگیری الگوهای تعمیم‌پذیر[2].

طبقه‌بندی روش‌های PEFT

روش‌های PEFT را می‌توان بر اساس شیوه تغییر پارامترهای مدل دسته‌بندی کرد. سه دسته اصلی وجود دارند: افزایشی، انتخابی و بازپارامترسازی[3].

روش‌های افزایشی

این روش‌ها تمام وزن‌های اصلی مدل را منجمد کرده و ماژول‌های کوچک و قابل آموزش جدیدی اضافه می‌کنند.

  • Adapters (آداپتورها): اولین روش افزایشی. ماژول‌های کوچک شبکه عصبی با معماری «گلوگاه» بین لایه‌های transformer درج می‌شوند. تنها وزن‌های این آداپتورها آموزش می‌بینند[4].
  • روش‌های مبتنی بر Soft Prompt: به‌جای تغییر وزن‌های مدل، این روش‌ها بردارهای قابل آموزش («توکن‌های مجازی») را به داده‌های ورودی اضافه می‌کنند تا رفتار مدل را هدایت کنند. گونه‌های اصلی:
    • Prompt Tuning: بردارهای قابل آموزش را فقط به embedding های ورودی اضافه می‌کند.
    • Prefix-Tuning: پیشوندهای برداری قابل آموزش را به حالت‌های پنهان در هر لایه مکانیزم attention اضافه می‌کند و کنترل دقیق‌تری فراهم می‌آورد[5].
    • P-Tuning v2: تعمیمی از ایده Prefix-Tuning که prompt های قابل آموزش را در تمام لایه‌های مدل اعمال می‌کند و به عملکردی قابل مقایسه با تنظیم‌دقیق کامل می‌رسد[6].

روش‌های انتخابی

این روش‌ها پارامتر جدیدی اضافه نمی‌کنند، بلکه زیرمجموعه کوچکی از پارامترهای موجود را انتخاب و تنظیم‌دقیق می‌کنند.

  • BitFit: روشی بسیار اقتصادی که تنها بردارهای انحراف (bias terms) و پارامترهای لایه‌های نرمال‌سازی را تنظیم‌دقیق می‌کند و کمتر از ۰.۱ درصد از کل پارامترها را به‌روزرسانی می‌نماید.
  • Diff Pruning (هرس تفاضلی): از یک ماسک قابل آموزش برای تعیین پویای وزن‌هایی که باید در فرایند آموزش به‌روزرسانی شوند استفاده می‌کند[3].

روش‌های بازپارامترسازی

این دسته بر این فرضیه استوار است که تغییرات وزن برای انطباق مدل دارای «رتبه درونی» پایینی هستند. به‌جای به‌روزرسانی ماتریس‌های وزن کامل، این روش‌ها نمایش کم‌رتبه آن‌ها را به‌روزرسانی می‌کنند.

  • LoRA (Low-Rank Adaptation): محبوب‌ترین روش PEFT در حال حاضر. این روش فرض می‌کند که به‌روزرسانی ماتریس وزن `ΔW` را می‌توان با حاصل‌ضرب دو ماتریس کم‌رتبه تقریب زد: `ΔW = BA`. در فرایند تنظیم‌دقیق، ماتریس اصلی `W` منجمد می‌ماند و تنها `A` و `B` آموزش می‌بینند[7].
  • QLoRA: LoRA را با تکنیک‌های کوانتیزاسیون ترکیب می‌کند تا نیازمندی‌های حافظه را بیشتر کاهش دهد و امکان تنظیم‌دقیق مدل‌های با ۶۵ میلیارد پارامتر را روی یک GPU مصرف‌کننده فراهم می‌آورد[8].

مقایسه عملکرد و منابع

روش‌های PEFT امکان دستیابی به عملکردی قابل مقایسه با تنظیم‌دقیق کامل را با کاهش چشمگیر هزینه‌ها فراهم می‌کنند.

مقایسه عملکرد و کارایی روش‌های PEFT
مدل روش پارامترهای قابل آموزش (%) نتیجه بر روی benchmark (Avg. Accuracy) منبع
BERT-Large تنظیم‌دقیق کامل 100% 80.4 (GLUE) [4]
BERT-Large Adapters 3.6% 80.0 (GLUE) [4]
LLaMA-7B LoRA 0.83% 74.7% [9]
LLaMA-7B DoRA (گونه‌ای از LoRA) 0.84% 78.1% [9]

مزایای کلیدی PEFT در صرفه‌جویی منابع:

  • حافظه GPU (VRAM): برای مدل LLaMA 65B تنظیم‌دقیق کامل به‌طور نظری به بیش از ۷۸۰ گیگابایت VRAM نیاز دارد، در حالی که QLoRA امکان تنظیم‌دقیق آن را روی GPU با کمتر از ۴۸ گیگابایت VRAM فراهم می‌کند[8].
  • حجم ذخیره‌سازی: نقاط بازیابی (checkpoint) ذخیره‌شده پس از PEFT چند مگابایت حجم دارند نه چند گیگابایت. این امکان را می‌دهد که صدها «آداپتور» برای وظایف مختلف در حجمی معادل یک مدل کاملاً تنظیم‌شده نگهداری شوند.

حوزه‌های کاربرد

روش‌های PEFT که در ابتدا برای NLP توسعه یافتند، به‌موفقیت برای طیف گسترده‌ای از وظایف سازگار شده‌اند:

  • بینایی ماشین (CV) و مدل‌های چندوجهی (VLM): انطباق مدل‌هایی مانند Vision Transformer (ViT) و Segment Anything Model (SAM) برای وظایف تقسیم‌بندی تصویر، از جمله در زیست‌پزشکی.
  • تولید و تحلیل کد: تنظیم LLM بر اساس ویژگی‌های پروژه‌های نرم‌افزاری خاص، API های داخلی یا پایگاه‌های کد.
  • مدل‌های مولد: «سبک‌سازی» مدل‌های تولید تصویر مانند Stable Diffusion با استفاده از آداپتورهای LoRA (تکنیک Dreambooth).
  • سنتز گفتار: انطباق مدل‌ها برای تولید گفتار با صدا، لحن یا رنگ احساسی خاص.

پیوندها

  • مخزن کتابخانه PEFT در GitHub
  • مستندات رسمی کتابخانه PEFT از Hugging Face

منابع

  • Hu, E.J. et al. (2021). LoRA: Low-Rank Adaptation of Large Language Models. arXiv:2106.09685.
  • Dettmers, T. et al. (2023). QLoRA: Efficient Finetuning of Quantized LLMs. arXiv:2305.14314.
  • Houlsby, N. et al. (2019). Parameter-Efficient Transfer Learning for NLP. ICML 2019.
  • Li, X.L.; Liang, P. (2021). Prefix-Tuning: Optimizing Continuous Prompts for Generation. arXiv:2101.00190.
  • Liu, X. et al. (2022). P-Tuning v2: Prompt Tuning Can Be Comparable to Fine-tuning Universally Across Scales and Tasks. arXiv:2110.07602.
  • Ben Zaken, E.; Ravfogel, S.; Goldberg, Y. (2021). BitFit: Simple Parameter-Efficient Fine-Tuning for Transformer-Based Masked Language Models. arXiv:2106.10199.
  • Guo, D.; Rush, A.M.; Kim, Y. (2020). Parameter-Efficient Transfer Learning with Diff Pruning. arXiv:2012.07463.
  • Jiang, Z. et al. (2024). MoRA: High-Rank Updating for Parameter-Efficient Fine-Tuning. arXiv:2405.12130.
  • Mao, K. et al. (2024). A Survey on LoRA of Large Language Models. arXiv:2407.11046.
  • Chen, S. et al. (2024). Parameter-Efficient Fine Tuning: A Comprehensive Analysis Across Applications. arXiv:2404.13506.
  • Zhang, J. et al. (2025). Parameter-Efficient Fine-Tuning for Foundation Models. arXiv:2501.13787.

یادداشت‌ها

  1. «Parameter-Efficient Fine-Tuning for Foundation Models». arXiv:2501.13787. [۱]
  2. 2.0 2.1 «5 Problems Encountered Fine-Tuning LLMs with Solutions». Machine Learning Mastery. [۲]
  3. 3.0 3.1 «PEFT: Parameter-Efficient Fine-Tuning Methods for LLMs». Hugging Face Blog. [۳]
  4. 4.0 4.1 4.2 Houlsby, N., et al. «Parameter-Efficient Transfer Learning for NLP». Proceedings of the 36th International Conference on Machine Learning. [۴]
  5. Li, X.L., Liang, P. «Prefix-Tuning: Optimizing Continuous Prompts for Generation». arXiv:2101.00190. [۵]
  6. Liu, X., et al. «P-Tuning v2: Prompt Tuning Can Be Comparable to Fine-tuning Universally Across Scales and Tasks». arXiv:2110.07602. [۶]
  7. Hu, E.J., et al. «LoRA: Low-Rank Adaptation of Large Language Models». arXiv:2106.09685. [۷]
  8. 8.0 8.1 Dettmers, T., et al. «QLoRA: Efficient Finetuning of Quantized LLMs». arXiv:2305.14314. [۸]
  9. 9.0 9.1 «Parameter Efficient Fine Tuning: A Comprehensive Analysis Across Applications». arXiv:2404.13506. [۹]