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

From Systems analysis Wiki
Jump to navigation Jump to search

پیرامیٹر-مؤثر فائن-ٹیوننگ (انگریزی: Parameter-Efficient Fine-Tuning, PEFT) — یہ بڑے پیشگی تربیت یافتہ ماڈلز، جیسے کہ بڑے زبان کے ماڈلز (LLM)، کو مخصوص کاموں کے لیے کم سے کم کمپیوٹیشنل اور وسائل کی لاگت کے ساتھ ڈھالنے کے طریقوں کا مجموعہ ہے۔ روایتی مکمل fine-tuning کے برعکس، جس میں ماڈل کے تمام پیرامیٹرز کو اپ ڈیٹ کرنا پڑتا ہے، PEFT طریقے صرف ایک چھوٹے حصے (کل تعداد کے 1-5% سے کم) میں ترمیم پر توجہ مرکوز کرتے ہیں اور ماڈل کے بنیادی حصے کو غیر تبدیل شدہ («منجمد») رکھتے ہیں[1]۔

یہ طریقہ میموری، ذخیرہ اندوزی کی جگہ اور تربیت کے وقت کی ضروریات کو نمایاں طور پر کم کرنے کی اجازت دیتا ہے، جس سے طاقتور بنیادی ماڈلز کے ڈھالنے کا عمل زیادہ قابل رسائی اور تباہ کن بھول جانے کے مسئلے کے خلاف زیادہ مستحکم ہو جاتا ہے[2]۔

مکمل fine-tuning کے مسائل

روایتی مکمل fine-tuning، جس میں ماڈل کے تمام پیرامیٹرز اپ ڈیٹ ہوتے ہیں، کئی اہم مسائل کا سامنا کرتا ہے جو PEFT کی ترقی کا محرک بنے:

  • زیادہ کمپیوٹیشنل لاگت: سیکڑوں اربوں پیرامیٹرز کو اپ ڈیٹ کرنے کے لیے بہت زیادہ کمپیوٹیشنل طاقت (اعلیٰ کارکردگی کے GPU/TPU) اور ویڈیو میموری (VRAM) کی بڑی مقدار درکار ہوتی ہے، جو اس عمل کو مہنگا اور بہت سے محققین کے لیے ناقابل رسائی بناتی ہے۔
  • ذخیرہ اندوزی کی ناکارگی: ہر نئے کام کے لیے ماڈل کی ایک مکمل، کئی گیگا بائٹ نقل رکھنی پڑتی ہے، جو ڈسک اسپیس کی ضروریات میں تیزی سے اضافے کا باعث بنتی ہے۔
  • تباہ کن بھول جانا (Catastrophic Forgetting): ماڈل نئے ڈیٹا کے مطابق ڈھلتے ہوئے پیشگی تربیت کے دوران حاصل کردہ عمومی علم کو "بھول" جاتا ہے، جس سے دیگر کاموں پر اس کی کارکردگی کم ہو جاتی ہے۔
  • Overfitting کا خطرہ: چھوٹے datasets پر، اربوں پیرامیٹرز والے ماڈل عمومی patterns سیکھنے کی بجائے تربیتی مثالوں کو "یاد" کرنے کی طرف مائل ہوتے ہیں[2]۔

PEFT طریقوں کی درجہ بندی

PEFT طریقوں کو اس بنیاد پر درجہ بند کیا جا سکتا ہے کہ وہ ماڈل کے پیرامیٹرز کو کس طرح تبدیل کرتے ہیں۔ تین بنیادی زمرے ہیں: اضافی (additive)، منتخب (selective) اور دوبارہ پیرامیٹرائزیشن (reparameterization)[3]۔

اضافی طریقے

یہ طریقے ماڈل کے تمام اصل وزنوں کو منجمد کر دیتے ہیں اور نئے، چھوٹے قابل تربیت modules شامل کرتے ہیں۔

  • Adapters: سب سے قدیم اضافی طریقہ۔ «بوتل کی گردن» آرکیٹیکچر والے چھوٹے Neural Network modules کو transformer کی تہوں کے درمیان داخل کیا جاتا ہے۔ صرف ان adapters کے وزنوں کو تربیت دی جاتی ہے[4]۔
  • «نرم» Prompts پر مبنی طریقے (Soft Prompts): ماڈل کے وزنوں کو تبدیل کرنے کی بجائے، یہ طریقے input data میں قابل تربیت vectors («مجازی tokens») شامل کرتے ہیں جو ماڈل کے رویے کی رہنمائی کرتے ہیں۔ اہم اقسام:
    • Prompt Tuning: صرف input embeddings میں قابل تربیت vectors شامل کرتا ہے۔
    • Prefix-Tuning: attention mechanism کی ہر تہ پر hidden states میں قابل تربیت vector prefixes شامل کرتا ہے، جو زیادہ باریک کنٹرول فراہم کرتا ہے[5]۔
    • P-Tuning v2: Prefix-Tuning کے خیال کی توسیع جو ماڈل کی تمام تہوں پر قابل تربیت prompts لاگو کرتی ہے، مکمل fine-tuning کے مقابل کارکردگی حاصل کرتی ہے[6]۔

منتخب طریقے

یہ طریقے نئے پیرامیٹرز شامل نہیں کرتے، بلکہ موجودہ پیرامیٹرز کے ایک چھوٹے ذیلی مجموعے کو منتخب کر کے fine-tune کرتے ہیں۔

  • BitFit: ایک انتہائی کفایتی طریقہ جو صرف bias terms اور normalization تہوں کے پیرامیٹرز کو fine-tune کرتا ہے، کل پیرامیٹرز کے 0.1% سے کم کو اپ ڈیٹ کرتا ہے۔
  • Differential Pruning (Diff Pruning): تربیت کے عمل کے دوران یہ متعین کرنے کے لیے کہ کون سے وزنوں کو اپ ڈیٹ کیا جائے، ایک قابل تربیت mask استعمال کرتا ہے[3]۔

دوبارہ پیرامیٹرائزیشن کے طریقے

یہ زمرہ اس مفروضے پر مبنی ہے کہ ماڈل کی ڈھالنے کے لیے وزنوں میں تبدیلیاں کم «اندرونی rank» رکھتی ہیں۔ مکمل سائز کی وزن matrices کو اپ ڈیٹ کرنے کی بجائے، یہ طریقے ان کی کم rank نمائندگی کو اپ ڈیٹ کرتے ہیں۔

  • LoRA (Low-Rank Adaptation): آج کل کا سب سے مقبول PEFT طریقہ۔ اس کا خیال یہ ہے کہ وزن matrix کی تازہ کاری `ΔW` کو دو کم rank matrices کی ضرب سے تخمینہ لگایا جا سکتا ہے: `ΔW = BA`۔ fine-tuning کے دوران اصل matrix `W` منجمد رہتی ہے اور صرف `A` اور `B` کو تربیت دی جاتی ہے[7]۔
  • QLoRA: میموری کی ضروریات کو مزید کم کرنے کے لیے LoRA کو quantization تکنیکوں کے ساتھ ملاتا ہے، جس سے 65 ارب پیرامیٹرز والے ماڈلز کو ایک consumer GPU پر fine-tune کرنا ممکن ہو جاتا ہے[8]۔

کارکردگی اور وسائل کا موازنہ

PEFT طریقے لاگت میں بنیادی کمی کے ساتھ مکمل fine-tuning کے مقابل کارکردگی حاصل کرنے کی اجازت دیتے ہیں۔

PEFT طریقوں کی موازناتی کارکردگی اور مؤثریت
ماڈل طریقہ قابل تربیت پیرامیٹرز (%) benchmark پر نتیجہ (Avg. Accuracy) ماخذ
BERT-Large مکمل fine-tuning 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 ماڈل کے لیے مکمل fine-tuning نظری طور پر >780 GB VRAM کا تقاضا کرتی ہے، جبکہ QLoRA اسے <48 GB VRAM والے GPU پر fine-tune کرنے کی اجازت دیتا ہے[8]۔
  • ذخیرہ اندوزی کی مقدار: PEFT کے بعد محفوظ کیے گئے checkpoints گیگا بائٹس کی بجائے میگا بائٹس میں ہوتے ہیں۔ اس سے مختلف کاموں کے لیے سینکڑوں «adapters» اس جگہ میں ذخیرہ کرنا ممکن ہو جاتا ہے جو ایک مکمل fine-tune شدہ ماڈل لیتا۔

استعمال کے شعبے

ابتداً NLP کے لیے تیار کیے گئے، PEFT طریقوں کو کاموں کی ایک وسیع رینج کے لیے کامیابی سے ڈھالا گیا ہے:

  • کمپیوٹر ویژن (CV) اور ملٹی موڈل ماڈلز (VLM): Vision Transformer (ViT) اور Segment Anything Model (SAM) جیسے ماڈلز کو تصویر کی سیگمنٹیشن کے کاموں کے لیے ڈھالنا، بشمول بائیو میڈیسن میں۔
  • کوڈ کی تخلیق اور تجزیہ: مخصوص سافٹ ویئر پروجیکٹس، اندرونی APIs یا کوڈ بیسز کی خصوصیات پر LLM کو ترتیب دینا۔
  • تخلیقی ماڈلز: LoRA adapters (Dreambooth تکنیک) کے ذریعے Stable Diffusion جیسے تصویر تخلیق کرنے والے ماڈلز کی «اسٹائلائزیشن»۔
  • تقریر کی ترکیب: مخصوص آواز، لہجے یا جذباتی رنگ کے ساتھ تقریر پیدا کرنے کے لیے ماڈلز کو ڈھالنا۔

حوالہ جات

  • GitHub پر PEFT library کا repository
  • Hugging Face کی جانب سے PEFT library کی سرکاری دستاویزات

کتابیات

  • 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. [1]
  2. 2.0 2.1 «5 Problems Encountered Fine-Tuning LLMs with Solutions». Machine Learning Mastery. [2]
  3. 3.0 3.1 «PEFT: Parameter-Efficient Fine-Tuning Methods for LLMs». Hugging Face Blog. [3]
  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. [4]
  5. Li, X.L., Liang, P. «Prefix-Tuning: Optimizing Continuous Prompts for Generation». arXiv:2101.00190. [5]
  6. Liu, X., et al. «P-Tuning v2: Prompt Tuning Can Be Comparable to Fine-tuning Universally Across Scales and Tasks». arXiv:2110.07602. [6]
  7. Hu, E.J., et al. «LoRA: Low-Rank Adaptation of Large Language Models». arXiv:2106.09685. [7]
  8. 8.0 8.1 Dettmers, T., et al. «QLoRA: Efficient Finetuning of Quantized LLMs». arXiv:2305.14314. [8]
  9. 9.0 9.1 «Parameter Efficient Fine Tuning: A Comprehensive Analysis Across Applications». arXiv:2404.13506. [9]