Promptteknik til AI · Lektion

Hvornår skal De fine-tune

Signaler på, at prompting har nået sine grænser.

Lektion 2 af 413 trin

Hvornår skal De fine-tune er en gratis Promptteknik til AI-lektion på CoddyKit. Dette er lektion 2 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Promptteknik til AI, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Promptteknik til AI-kurset indeholder 4 lektioner i alt.

Finjustering kræver evidens

Finjustering er kun berettiget, når du kan pege på data, der viser, at promptning er nået til en grænse. Udløseren er aldrig en mavefornemmelse – det er en evaluering på et separat evalueringssæt, hvor den bedste reelle prompt bliver liggende under din kvalitetsgrænse trods gennemgang af optimeringstrappen.

  • Finjustering bytter fleksibilitet for konsistens, lavere omkostning pr. kald og indlært adfærd
  • Omkostningen er et dataflow, evalueringsinfrastruktur og genfinjustering, når grundmodellen udskiftes
  • Du skal kunne navngive den specifikke fejl, som promptning ikke kunne rette

Signal 1: Promptningsplateauet

Det tydeligste signal er et plateau på et fastlåst evalueringssæt. Du tilføjer eksempler, opdeler opgaven og tilføjer verificeringer – og scoren holder op med at forbedre sig, mens fejlene forbliver systematiske og ikke tilfældige.

Systematiske resterende fejl (modellen håndterer konsekvent den samme konstruktion forkert) betyder, at adfærden er svær at fremkalde gennem instruktioner. Det er et problem, der egner sig til finjustering. Tilfældige, spredte fejl betyder normalt, at prompten eller dataene stadig indeholder støj – fortsæt i stedet med at iterere.

# Track eval score vs prompt-iteration; flat tail = plateau
scores = [0.62, 0.71, 0.78, 0.79, 0.795, 0.796]  # diminishing returns
def plateaued(scores, window=3, eps=0.01):
    tail = scores[-window:]
    return (max(tail) - min(tail)) < eps

print(plateaued(scores))  # True -> prompting has stalled

Signal 2: Promptlængden bliver selve produktet

Når prompten er vokset til tusindvis af tokens med eksempler og regler, blot for at opretholde kvaliteten, betaler du en forsinkelses- og omkostningsafgift ved hvert kald for at efterligne indlært adfærd.

Hvis disse tokens beskriver stabil, gentagen adfærd (et fast format, en ensartet stil eller en routingbeslutning), kan finjustering indarbejde dem i vægtene – og gøre prompten en størrelsesorden mindre, samtidig med at adfærden bevares. Dette er promptdestillation, det mest almindelige legitime anvendelsesområde for finjustering.

Signal 3: Hård grænse for forsinkelse eller omkostninger

Hvis du har brug for, at en mindre, hurtigere og billigere model matcher en større models adfærd på en afgrænset opgave, er finjustering det rette værktøj. Du destillerer den store models uddata til en lille, finjusteret model.

Det er berettiget, når trafikmængden ligger over nulpunktet, forsinkelsesbudgettet er stramt, og opgaven er tilstrækkeligt afgrænset til, at en lille model kan mestre den. Uden for disse betingelser er det ekstra udviklingsarbejde ikke umagen værd.

# Distillation data: teacher (big model) labels -> student (small) trains
def make_distill_pair(prompt, teacher_fn):
    completion = teacher_fn(prompt)  # high-quality big-model output
    return {'messages': [
        {'role': 'user', 'content': prompt},
        {'role': 'assistant', 'content': completion},
    ]}

Signal 4: Særpræget format eller stil

Nogle uddata er så specifikke, at det koster mere at beskrive dem end at demonstrere dem i stor skala: et proprietært DSL, en intern skrivestil med tusindvis af små regler eller et stramt domæneskema med utallige betingede felter.

Når overholdelsen af formatet skal være næsten perfekt, og reglerne er for mange til at opregne i en prompt, lærer hundredvis af eksempler mønsteret mere pålideligt end brødtekst. Finjustering er fremragende til at internalisere implicit struktur, der ikke lader sig beskrive tydeligt.

Signal 5: Adfærd, som modellen modsætter sig

En model modsætter sig lejlighedsvis en instruktion: Den bliver ved med at tilføje forbehold, du har forbudt, nægter en harmløs opgave eller vender tilbage til en standardstil under belastning. Hvis tydelige, gentagne instruktioner plus eksempler ikke pålideligt kan undertrykke adfærden, er modstanden en forudindstilling, der er indlejret i grundmodellens vægte.

Finjustering kan tilsidesætte sådanne forudindstillinger. Kontrollér dog først, at modstanden er reel og ikke skyldes et problem med promptens tydelighed – hvis modstanden fejlagtigt tilskrives modellen, fører det til unødvendige træningskørsler.

Modsignaler: Hvornår du IKKE skal finjustere

Det er lige så vigtigt at genkende falske alarmer. Finjustér IKKE, når:

  • Forskellen handler om viden – hent den i stedet; finjustering indlejrer forældede fakta med informationstab
  • Specifikationen stadig ændrer sig hver uge – så skal du træne modellen igen hele tiden
  • Du har færre end nogle få hundrede rene eksempler – for lidt signal og høj risiko for overtilpasning
  • Fejlene er tilfældige og ikke systematiske – dataene eller prompten indeholder stadig støj
  • Du mangler en evalueringsramme – så kan du ikke se, om finjustering overhovedet hjalp

Kontrol af dataets parathed

Kvaliteten af finjusteringen er begrænset af datakvaliteten. Før du forpligter dig, skal du bestå en parathedskontrol: Der skal være tilstrækkeligt mange eksempler, de skal være afbalanceret på tværs af de tilfælde, du interesserer dig for, etiketterne skal være konsistente, og dataene skal være fri for lækage, der kunstigt oppuster evalueringsresultaterne.

Nogle få hundrede omhyggeligt kuraterede eksempler er bedre end titusindvis af støjfyldte eksempler. Hvis dine etiketter er uenige, lærer modellen støjen.

def data_ready(examples, min_n=300, max_dupe_ratio=0.05):
    n = len(examples)
    texts = [e['messages'][0]['content'] for e in examples]
    dupe_ratio = 1 - (len(set(texts)) / n)
    return n >= min_n and dupe_ratio <= max_dupe_ratio

# Returns False until you have enough deduped, curated examples

Vælg finjusteringsmetoden

Al finjustering indebærer ikke træning af alle modelvægte. Tilpas metoden til signalet:

  • LoRA og adaptere – billige, hurtige og reversible; ideelle til destillering af stil og format
  • Fuld finjustering – tungere; til dybe adfærdsændringer i kompetente åbne modeller
  • Præferencefinjustering (DPO-lignende) – når du har parvise gode/dårlige vurderinger i stedet for facitbesvarelser

Begynd med den letteste metode, som signalet kræver. Adaptere i LoRA-stil dækker størstedelen af produktionsscenarierne til en brøkdel af omkostningen.

Protokol for forhåndsforpligtelse

Før du starter en træningskørsel, skal du fastlægge eksperimentet, så resultatet kan fortolkes:

  • Fastlås et evalueringssæt, som modellen aldrig får at se under træningen
  • Registrér den bedste grundscore med kun promptning på dette sæt
  • Angiv den målsatte forbedring og den øvre omkostningsgrænse på forhånd
  • Definér tilbagerulningen: Hvis den finjusterede model ikke slår udgangspunktet med den målsatte forbedring, leverer du prompten

Uden et forhåndsfastlagt udgangspunkt og mål kan du ikke bevise, at finjusteringen stod mål med omkostningerne.

Saml signalerne

Saml signalerne i en samlet beslutning om at gå videre eller stoppe. Finjustering fortsætter kun, når promptningen er gået i stå, OG dataene er klar, OG forskellen handler om adfærd – ikke når et enkelt signal slår ud isoleret.

def should_fine_tune(plateaued, data_ready, gap_is_behavior,
                     spec_stable, has_eval_harness):
    return all([
        plateaued,        # prompting stalled on frozen eval
        data_ready,       # enough clean, deduped examples
        gap_is_behavior,  # not a knowledge gap (else use RAG)
        spec_stable,      # task definition has settled
        has_eval_harness, # can measure the lift
    ])

print(should_fine_tune(True, True, True, True, True))  # True -> proceed

Hurtigt tjek

På et fastlåst evalueringssæt er en models fejl tilfældige og spredte på tværs af mange forskellige inputtyper, og scoren stiger stadig markant, når du justerer eksemplerne. Hvad fortæller det om paratheden til finjustering?

Opsummering

Finjustér ud fra evidens, ikke intuition. De legitime signaler er et reelt plateau med systematiske fejl, en promptlængde, der er blevet selve produktet, en bindende grænse for forsinkelse eller omkostninger, særprægede formater eller adfærd, som grundmodellen modsætter sig.

  • Modsignaler: videnshuller, specifikationer i bevægelse, for lidt data, tilfældige fejl og ingen evalueringsramme
  • Bestå en kontrol af dataets parathed før træning – kvaliteten begrænser resultatet
  • Vælg den letteste metode (LoRA-lignende først), som signalet kræver
  • Fastlæg på forhånd et fastlåst evalueringssæt, et udgangspunkt, en målsat forbedring og en tilbagerulning
  • Gå kun videre, når plateau, dataparathed og adfærdsforskel alle er til stede
Gratis at komme i gang

Lær Promptteknik til AI med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
53
Lektioner
199

Ofte stillede spørgsmål

Er lektionen “Hvornår skal De fine-tune” gratis?

Ja — alle 3 lektioner i læringssporet Promptteknik til AI, inklusive “Hvornår skal De fine-tune”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Promptteknik til AI-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Hvornår skal De fine-tune”?

Signaler på, at prompting har nået sine grænser. Du øver dig i Promptteknik til AI med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Promptteknik til AI?

Der kræves ingen tidligere erfaring. Promptteknik til AI på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 2 af 4.

Hvor lang tid tager lektionen “Hvornår skal De fine-tune”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Promptteknik til AI-lektion?

Ja. Alle Promptteknik til AI-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Hvornår prompting er nok
  2. Hvornår skal De fine-tune
  3. Hybrid: prompt + let tuning
  4. Evaluering af beslutningen
← Tilbage til Promptteknik til AI