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

From Systems analysis Wiki
Jump to navigation Jump to search

Parametereffektiv finjustering (eng. Parameter-Efficient Fine-Tuning, PEFT) — är en samling metoder för att anpassa stora förtränade modeller, såsom stora språkmodeller (LLM), till specifika uppgifter med minimala beräknings- och resurskostnader. Till skillnad från traditionell fullständig finjustering (full fine-tuning), som kräver uppdatering av alla modellparametrar, fokuserar PEFT-metoder på att modifiera endast en liten del av vikterna (mindre än 1–5 % av det totala antalet) och lämnar huvuddelen av modellen oförändrad («frusen»)[1].

Detta tillvägagångssätt gör det möjligt att avsevärt minska kraven på minne, lagringsutrymme och träningstid, vilket gör anpassningsprocessen för kraftfulla grundmodeller mer tillgänglig och motståndskraftig mot problemet med katastrofal glömska[2].

Problem med fullständig finjustering

Traditionell fullständig finjustering, där alla modellparametrar uppdateras, stöter på ett antal kritiska problem som utgjorde drivkraften bakom utvecklingen av PEFT:

  • Höga beräkningskostnader: Uppdatering av hundratals miljarder parametrar kräver enorma beräkningsresurser (högpresterande GPU/TPU) och stora mängder videominne (VRAM), vilket gör processen dyr och otillgänglig för många forskare.
  • Lagringsineffektivitet: För varje ny uppgift måste en fullständig, flera gigabyte stor kopia av modellen lagras, vilket leder till en exponentiell ökning av kraven på diskutrymme.
  • Katastrofal glömska (Catastrophic Forgetting): Modellen «glömmer», när den anpassas till nya data, den allmänna kunskap som förvärvades under förträningsfasen, vilket försämrar dess prestanda på andra uppgifter.
  • Risk för överanpassning (Overfitting): På små dataset tenderar modeller med miljarder parametrar att «memorera» träningsexempel i stället för att lära sig generaliserbara mönster[2].

Taxonomi över PEFT-metoder

PEFT-metoder kan klassificeras utifrån hur de modifierar modellparametrarna. Det finns tre huvudkategorier: additiva, selektiva och reparametriserings­baserade[3].

Additiva metoder

Dessa metoder fryser alla ursprungliga modellvikter och lägger till nya, små träningsbara moduler.

  • Adaptrar (Adapters): Den tidigaste additiva metoden. Små neurala nätverksmoduler med en «flaskhals»-arkitektur infogas mellan transformerlagren. Endast vikterna i dessa adaptrar tränas[4].
  • Metoder baserade på «mjuka» promptar (Soft Prompts): I stället för att ändra modellvikterna lägger dessa metoder till träningsbara vektorer («virtuella token») till indata, som styr modellens beteende. Viktiga varianter:
    • Prompt Tuning: Lägger till träningsbara vektorer endast till indata-embeddings.
    • Prefix-Tuning: Lägger till träningsbara vektorprefix till de dolda tillstånden i varje lager i uppmärksamhetsmekanismen, vilket ger en finare styrning[5].
    • P-Tuning v2: En generalisering av Prefix-Tuning-idén som tillämpar träningsbara promptar på alla modellager och uppnår prestanda jämförbar med fullständig finjustering[6].

Selektiva metoder

Dessa metoder lägger inte till nya parametrar utan väljer ut och finjusterar en liten delmängd av redan befintliga.

  • BitFit: En extremt resurssparande metod som enbart finjusterar biasvektorer (bias terms) och parametrar i normaliseringslager, och uppdaterar mindre än 0,1 % av det totala antalet parametrar.
  • Differentiell pruning (Diff Pruning): Använder en träningsbar mask för att dynamiskt bestämma vilka vikter som ska uppdateras under träningen[3].

Reparametriserings­baserade metoder

Denna kategori bygger på hypotesen att viktförändringarna vid modellanpassning har en låg «inre rang». I stället för att uppdatera fullstorleks­viktmatriser uppdaterar dessa metoder deras lågrangsrepresentation.

  • LoRA (Low-Rank Adaptation): Den mest populära PEFT-metoden i dag. Den förutsätter att uppdateringen av viktmatrisen `ΔW` kan approximeras med produkten av två lågrangsmatriser: `ΔW = BA`. Under finjusteringen fryses den ursprungliga matrisen `W` medan endast `A` och `B` tränas[7].
  • QLoRA: Kombinerar LoRA med kvantisingstekniker för att ytterligare minska minneskraven och möjliggör finjustering av modeller med 65 miljarder parametrar på ett enda konsument-GPU[8].

Jämförelse av prestanda och resurser

PEFT-metoder gör det möjligt att uppnå prestanda jämförbar med fullständig finjustering med en radikal minskning av kostnaderna.

Jämförande prestanda och effektivitet hos PEFT-metoder
Modell Metod Träningsbara parametrar (%) Resultat på benchmark (Avg. Accuracy) Källa
BERT-Large Fullständig finjustering 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 (variant av LoRA) 0.84% 78.1% [9]

Viktigaste fördelarna med PEFT vad gäller resursbesparingar:

  • GPU-minne (VRAM): För modellen LLaMA 65B kräver fullständig finjustering teoretiskt >780 GB VRAM, medan QLoRA gör det möjligt att finjustera den på ett GPU med <48 GB VRAM[8].
  • Lagringsutrymme: Kontrollpunkter sparade efter PEFT tar megabyte, inte gigabyte, i anspråk. Det gör det möjligt att lagra hundratals «adaptrar» för olika uppgifter inom det utrymme som en enda fullständigt finjusterad modell skulle kräva.

Användningsområden

Metoder som ursprungligen utvecklades för NLP har framgångsrikt anpassats för ett brett spektrum av uppgifter:

  • Datorseende (CV) och multimodala modeller (VLM): Anpassning av modeller som Vision Transformer (ViT) och Segment Anything Model (SAM) för bildsegmenteringsuppgifter, bland annat inom biomedicin.
  • Kodgenerering och kodanalys: Konfigurering av LLM för specifika programvaruprojekt, interna API:er eller kodbaser.
  • Generativa modeller: «Stilisering» av bildgenereringsmodeller som Stable Diffusion med hjälp av LoRA-adaptrar (Dreambooth-tekniken).
  • Talsyntés: Anpassning av modeller för att generera tal med en viss röst, intonation eller emotionell färgning.

Länkar

  • Biblioteksrepositorie för PEFT på GitHub
  • Officiell dokumentation för PEFT-biblioteket från Hugging Face

Litteratur

  • 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.

Noter

  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]