PEFT (Parameter-Efficient Fine-Tuning) (HE)
כוונון עדין יעיל-פרמטרים (באנגלית: Parameter-Efficient Fine-Tuning, PEFT) — הוא מכלול שיטות להתאמת מודלים גדולים שעברו אימון מקדים, כגון מודלי שפה גדולים (LLM), למשימות ספציפיות תוך מינימום עלויות חישוביות ומשאבים. בניגוד לכוונון עדין מלא המסורתי (full fine-tuning), הדורש עדכון של כל פרמטרי המודל, שיטות PEFT מתמקדות בשינוי חלק קטן בלבד של המשקולות (פחות מ-1–5% מהמספר הכולל), תוך השארת עיקר המודל ללא שינוי ("קפוא")[1].
גישה זו מאפשרת לצמצם משמעותית את דרישות הזיכרון, נפח האחסון וזמן האימון, ומהפכת את תהליך ההתאמה של מודלי בסיס חזקים לנגיש יותר ועמיד בפני בעיית השכחה קטסטרופלית[2].
בעיות הכוונון העדין המלא
הכוונון העדין המלא המסורתי, שבו מתעדכנים כל פרמטרי המודל, מתמודד עם מספר בעיות קריטיות שהוו זרז לפיתוח PEFT:
- עלויות חישוביות גבוהות: עדכון מאות מיליארדי פרמטרים מצריך כוח חישובי עצום (GPU/TPU בעלי ביצועים גבוהים) ונפח זיכרון וידאו גדול (VRAM), מה שהופך את התהליך ליקר ובלתי נגיש עבור חוקרים רבים.
- חוסר יעילות באחסון: עבור כל משימה חדשה יש לאחסן עותק מלא של המודל, בגודל של מספר ג'יגה-בייט, מה שמוביל לגידול אקספוננציאלי בדרישות לשטח דיסק.
- שכחה קטסטרופלית (Catastrophic Forgetting): מודל המתאים את עצמו לנתונים חדשים "שוכח" את הידע הכללי שנרכש בשלב האימון המקדים, מה שפוגע בביצועיו במשימות אחרות.
- סיכון ל-Overfitting: על מערכי נתונים קטנים לכוונון עדין, מודלים עם מיליארדי פרמטרים נוטים "לשנן" דוגמאות אימון במקום ללמוד דפוסים מכלילים[2].
טקסונומיה של שיטות PEFT
ניתן לסווג שיטות PEFT לפי האופן שבו הן משנות את פרמטרי המודל. קיימות שלוש קטגוריות עיקריות: אדיטיביות, סלקטיביות ורה-פרמטריזציה[3].
שיטות אדיטיביות
שיטות אלו מקפיאות את כל המשקולות המקוריות של המודל ומוסיפות מודולים חדשים קטנים הניתנים לאימון.
- Adapters: השיטה האדיטיבית הקדומה ביותר. מודולים קטנים של רשתות נוירונים בארכיטקטורת "צוואר בקבוק" מוכנסים בין שכבות ה-transformer. רק משקולות ה-adapter הללו עוברות אימון[4].
- שיטות המבוססות על Soft Prompts: במקום לשנות את משקולות המודל, שיטות אלו מוסיפות לנתוני הקלט וקטורים הניתנים לאימון ("טוקנים וירטואליים") המנחים את התנהגות המודל. גרסאות מרכזיות:
- Prompt Tuning: מוסיף וקטורים הניתנים לאימון רק ל-embedding של הקלט.
- Prefix-Tuning: מוסיף קידומות וקטוריות הניתנות לאימון למצבים הסמויים בכל שכבת מנגנון ה-attention, המעניקות שליטה עדינה יותר[5].
- P-Tuning v2: הכללה של רעיון Prefix-Tuning, המיישמת prompt-ים הניתנים לאימון בכל שכבות המודל ומשיגה ביצועים הדומים לכוונון עדין מלא[6].
שיטות סלקטיביות
שיטות אלו אינן מוסיפות פרמטרים חדשים, אלא בוחרות ומכווננות תת-קבוצה קטנה של פרמטרים קיימים.
- BitFit: שיטה חסכנית במיוחד, המכווננת רק את וקטורי ההטיה (bias terms) ופרמטרי שכבות הנירמול, תוך עדכון פחות מ-0.1% מסך הפרמטרים.
- Diff Pruning: משתמשת במסכה הניתנת לאימון לקביעה דינמית של המשקולות שיש לעדכן בתהליך האימון[3].
שיטות רה-פרמטריזציה
קטגוריה זו מבוססת על ההשערה כי שינויי המשקולות להתאמת המודל בעלי "דרגה פנימית" נמוכה. במקום לעדכן מטריצות משקולות מלאות, שיטות אלו מעדכנות את הייצוג בדרגה נמוכה שלהן.
- LoRA (Low-Rank Adaptation): שיטת ה-PEFT הפופולרית ביותר כיום. היא מניחה כי עדכון מטריצת המשקולות `ΔW` ניתן לקרב על-ידי מכפלה של שתי מטריצות בדרגה נמוכה: `ΔW = BA`. בתהליך הכוונון העדין המטריצה המקורית `W` קפואה, ורק `A` ו-`B` עוברות אימון[7].
- QLoRA: משלב את LoRA עם טכניקות קוונטיזציה להפחתה נוספת של דרישות הזיכרון, ומאפשר לכוונן מודלים בעלי 65 מיליארד פרמטרים על GPU צרכני בודד[8].
השוואת ביצועים ומשאבים
שיטות 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, כוונון עדין מלא דורש תיאורטית מעל 780 GB VRAM, בעוד ש-QLoRA מאפשר לכווננו על GPU עם פחות מ-48 GB VRAM[8].
- נפח אחסון: נקודות ביקורת (checkpoints) הנשמרות לאחר PEFT תופסות מגה-בייטים ולא ג'יגה-בייטים. הדבר מאפשר לאחסן מאות "adapters" למשימות שונות בנפח שהיה תופס מודל אחד מכוונן במלואו.
תחומי יישום
שיטות PEFT, שפותחו במקור עבור NLP, הותאמו בהצלחה למגוון רחב של משימות:
- ראייה ממוחשבת (CV) ומודלים מולטי-מודליים (VLM): התאמת מודלים כגון Vision Transformer (ViT) ו-Segment Anything Model (SAM) למשימות סגמנטציית תמונות, לרבות בביו-רפואה.
- יצירה וניתוח קוד: כוונון LLM לפרטים הספציפיים של פרויקטי תוכנה מסוימים, API פנימיים או בסיסי קוד.
- מודלים גנרטיביים: "עיצוב סגנון" של מודלים ליצירת תמונות כגון Stable Diffusion באמצעות LoRA adapters (טכניקת 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.
הערות
- ↑ «Parameter-Efficient Fine-Tuning for Foundation Models». arXiv:2501.13787. [1]
- ↑ 2.0 2.1 «5 Problems Encountered Fine-Tuning LLMs with Solutions». Machine Learning Mastery. [2]
- ↑ 3.0 3.1 «PEFT: Parameter-Efficient Fine-Tuning Methods for LLMs». Hugging Face Blog. [3]
- ↑ 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]
- ↑ Li, X.L., Liang, P. «Prefix-Tuning: Optimizing Continuous Prompts for Generation». arXiv:2101.00190. [5]
- ↑ Liu, X., et al. «P-Tuning v2: Prompt Tuning Can Be Comparable to Fine-tuning Universally Across Scales and Tasks». arXiv:2110.07602. [6]
- ↑ Hu, E.J., et al. «LoRA: Low-Rank Adaptation of Large Language Models». arXiv:2106.09685. [7]
- ↑ 8.0 8.1 Dettmers, T., et al. «QLoRA: Efficient Finetuning of Quantized LLMs». arXiv:2305.14314. [8]
- ↑ 9.0 9.1 «Parameter Efficient Fine Tuning: A Comprehensive Analysis Across Applications». arXiv:2404.13506. [9]