Hoppa till innehållet
AI-grafen
F· AI engineeringProjekt· ca 180 min· container

Projekt 4: Finjustera en modell med LoRA

Förträna en liten teckenmodell på en text, finjustera den med LoRA på en annan stil, jämföra rank 1/4/16 och full finjustering på perplexitet, tränade parametrar och katastrofal glömska — och skriva ner slutsatsen i labbjournalen.

Lär ut: capstone-f-finjustering · Kräver: lorabygg-gpt-fran-grundenmodellutvardering

Teori

Basmodellen kan bara det den förtränats på. LoRA lägger till BA i attention-projektionerna (och ev. MLP) och tränar bara dem. Mät på tre saker: perplexitet på den nya stilen, parametrar som tränats, och perplexitet på den gamla texten efteråt (glömska).

Deluppgifter

  1. LoRA-injektion — `inject_lora(model, r, alpha, targets)` byter angivna nn.Linear (namn innehåller 'qkv'/'proj'/'mlp') mot LoRALinear och fryser resten; `count_trainable(model)`.
  2. perplexitet — `perplexity(model, data, ctx)` = exp(medel-cross-entropy) över löpande fönster.
  3. experimentet — `experiment(ranks, steps, seed)` → dict per konfiguration {ppl_new, ppl_old, trainable}, inklusive 'full'.

Evals: lora-r4-forbattrar (ppl_gain_r4 >= 1.2)

Logga in för att köra laborationen.

Förväntade resultat

LoRA r=4 sänker perplexiteten på nya stilen med minst 20 % jämfört med basmodellen, tränar < 15 % av parametrarna, och glömmer mindre än full finjustering (ppl_old lägre).

Vanliga fel

  • Injicerar LoRA i embeddings/head också — då tränas för mycket.
  • Glömmer frysa basen → 'LoRA' blir full finjustering.
  • Mäter perplexitet på träningsfönstren.