Hvad er fine-tuning af sprogmodeller?

Fine-tuning af sprogmodeller er en metode, hvor en allerede trænet model videreuddannes på udvalgte eksempler, så den bliver bedre til en bestemt opgave, tone eller datanær arbejdsgang. Metoden ændrer modeladfærd, men erstatter ikke gode data, test, opdaterede kilder eller sikker håndtering af følsomme oplysninger.

Artiklens hovedpointer:

Fine-tuning af sprogmodeller betyder, at en allerede trænet model videreuddannes på udvalgte eksempler til en bestemt opgave, tone eller struktur. Metoden er mest relevant, når adfærd skal gentages stabilt, mens opdateret viden ofte kræver eksterne datakilder, test og sikker datastyring.

Hvordan adskiller fine-tuning sig fra almindelig brug af en sprogmodel?

Almindelig brug af en sprogmodel handler om at give modellen en forespørgsel, instruktioner, eksempler eller relevant kontekst i selve kaldet. Fine-tuning går et skridt dybere: modellen trænes videre på et datasæt, så noget af den ønskede adfærd bliver indlejret i modellens vægte eller i et tilknyttet adapterlag.

En fortrænet model har allerede lært sproglige mønstre, faktaassociationer og opgaveformer fra meget store datamængder. Det er den type model, der ligger bag mange GPT-systemer, som du kan læse mere om i gennemgangen af generative pre-trained transformers. Fine-tuning bruger den fortrænede model som udgangspunkt i stedet for at begynde fra nul.

Forskellen kan sammenlignes med tre niveauer. Først kan du styre modellen med en konkret instruktion i hver forespørgsel. Derefter kan du give modellen eksterne dokumenter eller søgbare data, som den skal bruge i svaret. Til sidst kan du finjustere modellen, hvis samme adfærd skal gentages på tværs af mange forespørgsler, og hvis der findes gode træningseksempler.

Fine-tuning er derfor ikke en genvej til generel intelligens. Den gør typisk modellen mere stabil i et afgrænset mønster, for eksempel format, klassifikation, domænesprog eller bestemte svarregler. Den gør ikke automatisk modellen mere opdateret, mere faktuel eller mere sikker i alle sammenhænge.

Hvad sker der teknisk under en finjustering?

Under en finjustering fortsætter træningen af en fortrænet model på et mindre datasæt, der er valgt til en bestemt opgave eller et bestemt domæne. Hugging Face beskriver fine-tuning som videre træning af en stor fortrænet model på et mere specifikt datasæt, hvor processen kræver mindre data, tid og beregning end fortræning fra bunden.

Træningen sker normalt ved, at modellen ser mange eksempler på input og ønsket output. For hvert eksempel beregnes forskellen mellem modellens svar og det ønskede svar. Derefter justeres udvalgte vægte eller adapterparametre, så modellen gradvist får større sandsynlighed for at producere det ønskede mønster.

Det kan være supervised fine-tuning, hvor datasættet indeholder facitnære svar. Det kan også være præferencebaseret finjustering, hvor modellen lærer af eksempler på bedre og dårligere svar. Nogle leverandører tilbyder desuden mere specialiserede metoder, men metoden og tilgængeligheden afhænger af den konkrete platform.

Teknisk er målet ikke at gemme hvert eksempel ordret. Målet er at ændre sandsynlighedsfordelingen, så modellen oftere vælger de mønstre, der passer til træningssættet. Hvis datasættet er snævert, fejlbehæftet eller for lille, kan modellen dog lære de forkerte signaler eller blive for bundet til eksemplerne.

Hvornår giver fine-tuning mere mening end instruktioner eller RAG?

Fine-tuning giver mest mening, når problemet handler om adfærd, format eller beslutningsmønster, som skal gentages pålideligt. Hvis problemet i stedet handler om opdateret viden, dokumentopslag eller citérbare kilder, er retrieval-augmented generation ofte mere relevant, fordi oplysningerne kan ligge uden for modellen og opdateres uden ny træning.

En nyttig skelnen er at spørge, om modellen mangler en vane eller mangler viden. Mangler den en vane, for eksempel et bestemt klassifikationsskema eller en fast måde at strukturere svar på, kan finjustering være relevant. Mangler den viden, for eksempel aktuelle priser, interne procedurer eller nye dokumenter, bør du normalt se på retrieval, databaser eller almindelig kontekst først.

Fine-tuning er også relevant, når lange gentagne instruktioner gør hvert modelkald dyrt, tungt eller ustabilt. Hvis mange eksempler ikke kan være i en enkelt kontekst, kan et træningssæt hjælpe modellen med at lære mønsteret. Det kræver dog, at du kan måle, om den finjusterede model faktisk er bedre end en enklere løsning.

Typiske valg mellem styringsmetoder
BehovMest oplagte metodeHvorfor?
Fast svarformat eller klassifikationFine-tuningModellen kan trænes på mange eksempler på korrekt form og grænsetilfælde.
Aktuelle eller interne faktaRAG eller databaseopslagViden kan opdateres uden at ændre modellens vægte.
Enkel engangsopgaveKlar instruktion og få eksemplerTræning er unødvendig, hvis styringen kun bruges få gange.
Domænesprog med gentagne mønstreFine-tuning kombineret med testTræningsdata kan gøre terminologi og struktur mere stabil.

Hvilke data kræver en brugbar finjustering?

Et brugbart træningssæt skal vise den adfærd, du faktisk vil have i drift. Det er bedre med færre, kontrollerede og repræsentative eksempler end med mange eksempler, hvor kvaliteten er blandet. Datasættet bør dække normale tilfælde, grænsetilfælde, uønskede svarmønstre og de situationer, hvor modellen tidligere fejlede.

Hvis modellen skal klassificere kundebeskeder, bør datasættet indeholde realistiske beskeder, korrekte labels og eksempler på tvivlstilfælde. Hvis modellen skal skrive i et bestemt format, bør hvert eksempel vise både input og præcist ønsket output. Hvis modellen skal følge interne regler, skal reglerne omsættes til klare træningseksempler og ikke blot antages som baggrundsviden.

Det er også nødvendigt at holde træningsdata og testdata adskilt. Testdata skal ligne driftssituationen, men må ikke være de samme eksempler, som modellen blev trænet på. Ellers kan modellen se god ud i evalueringen uden at være bedre på nye forespørgsler.

Datakvalitet handler ikke kun om korrekthed. Det handler også om rettigheder, personoplysninger, forretningshemmeligheder, sprogvariation, bias og dokumenteret oprindelse. En organisation bør kunne forklare, hvorfor data må bruges, hvem der har kvalitetssikret dem, og hvilke typer data der bevidst er udeladt.

Hvad er forskellen på fuld fine-tuning og parameter-effektiv finjustering?

Ved fuld fine-tuning kan mange eller alle modellens vægte ændres. Det kan give stor fleksibilitet, men er ofte dyrt, hukommelseskrævende og vanskeligt at administrere for meget store modeller. Jo flere parametre der ændres, desto større bliver også behovet for omhyggelig evaluering, versionsstyring og driftsovervågning.

Parameter-effektiv finjustering, ofte forkortet PEFT, ændrer kun et mindre antal ekstra eller udvalgte parametre. Hugging Face beskriver PEFT som metoder, der tilpasser store fortrænede modeller uden at finjustere alle modelparametre, fordi fuld finjustering kan være uforholdsmæssigt dyr. Det reducerer typisk beregnings- og lagerkrav.

Praktisk betyder det, at basismodellen kan være den samme, mens forskellige adaptere eller ekstra lag repræsenterer forskellige opgaver. En organisation kan dermed have én generel model og flere mindre tilpasninger, for eksempel én til klassifikation, én til teknisk support og én til fast rapportstruktur.

Det ændrer dog ikke kravet om evaluering. En parameter-effektiv model kan stadig overtilpasses, lære uønskede mønstre eller give upræcise svar. Fordelen er primært, at træning og drift kan blive mere håndterbar, ikke at kvaliteten automatisk bliver højere.

Hvordan hænger LoRA og adaptere sammen med moderne finjustering?

LoRA, Low-Rank Adaptation, er en udbredt metode inden for parameter-effektiv finjustering. I stedet for at ændre hele basismodellen fryses de fortrænede vægte, mens små trænbare lav-rang-komponenter tilføjes bestemte dele af modellen. Det gør det muligt at lære en opgavetilpasning med langt færre trænbare parametre.

LoRA-paperet fra Hu og medforfattere beskriver netop denne idé: den fortrænede models vægte fastholdes, og der indsættes trænbare lav-rang-matricer i modelarkitekturen. Paperet dokumenterer store reduktioner i trænbare parametre og GPU-hukommelse i de undersøgte opsætninger, sammenlignet med fuld finjustering.

Adaptere er en bredere familie af tilpasninger, hvor små ekstra komponenter kobles på modellen. De kan gøre det lettere at skifte mellem opgaver uden at gemme en fuld kopi af modellen for hver opgave. Det er især relevant, når en model skal bruges i flere arbejdsgange med forskellige krav.

For at forstå hvorfor disse metoder fylder meget i moderne sprogmodeller, hjælper det at se på modelstørrelse. En artikel om parameterstørrelser i sprogmodeller forklarer, hvorfor antallet af modelparametre påvirker både beregning, hukommelse og driftsvalg.

Hvilke opgaver egner sig bedst til fine-tuning?

Fine-tuning egner sig bedst til opgaver, hvor der findes mange eksempler på den ønskede adfærd, og hvor gevinsten kan måles. Det gælder især opgaver med gentaget struktur. Eksempler er klassifikation, normalisering af tekst, faste outputskemaer, domænespecifik terminologi, svar i en bestemt stil og korrektion af gentagne instruktionsfejl.

En finjusteret model kan være nyttig, hvis en supportfunktion altid skal kategorisere henvendelser efter samme taksonomi. Den kan også være relevant, hvis en organisation har et særligt teknisk sprog, hvor en generel model ofte vælger for brede eller for uformelle formuleringer. I begge tilfælde skal træningssættet vise både gode svar og typiske fejl.

Opgaver med klart facit er ofte lettere at evaluere. Hvis output kan bedømmes med nøjagtighed, precision, recall, formatkontrol eller menneskelig kvalitetsvurdering efter faste kriterier, er det lettere at afgøre, om finjusteringen er investeringen værd.

Opgaver med høj variation kan stadig finjusteres, men de kræver mere planlægning. Hvis modellen både skal forstå mange teksttyper, følge komplekse regler og bruge opdateret viden, bør fine-tuning sjældent stå alene. Her er kombinationer med søgning, datalagre, regler og efterkontrol ofte mere robuste.

Hvilke opgaver egner sig dårligt til fine-tuning?

Fine-tuning egner sig dårligt, når hovedproblemet er manglende eller skiftende viden. Hvis modellen skal svare på baggrund af dokumenter, der ændrer sig dagligt, er det normalt bedre at hente de relevante oplysninger ved forespørgslen. Det giver også bedre sporbarhed, fordi brugeren kan se, hvilke kilder svaret bygger på.

Metoden er også svag, hvis organisationen ikke kan formulere, hvad et godt svar er. Uklare kvalitetskriterier giver uklare træningsdata. Hvis de personer, der mærker eller skriver træningseksempler, er uenige, kan modellen lære inkonsistente signaler.

Fine-tuning er heller ikke nok til at rette alle faktuelle fejl. En model kan stadig hallucinere, især hvis den bliver bedt om at svare uden tilstrækkelig kontekst. Den kan også fastholde forældede mønstre fra træningsdata. Hvis faktuel nøjagtighed er afgørende, bør modellen kobles til kontrollerede kilder og efterprøves systematisk.

Endelig er fine-tuning et dårligt førstevalg, hvis problemet kan løses med enklere midler. Mange formatproblemer kan klares med skemaer, validering eller korte eksempler. Mange vidensproblemer kan klares med søgning og AI embeddings. Træning bør først vælges, når den forventede gevinst er konkret.

Hvordan bør en organisation teste en finjusteret model?

Testen bør begynde før træningen. Først skal der etableres en baseline: hvordan klarer den almindelige basismodel opgaven uden finjustering? Dernæst skal der laves et evalueringssæt med realistiske eksempler, som ikke indgår i træningsdata. Det gør forbedringen målbar.

OpenAI beskriver modeloptimering som en gentagen proces med evaluering, instruktioner, eventuel fine-tuning, måling på repræsentative testdata og justering af datasættet. Den tankegang er leverandøruafhængig: uden en målbar test kan en finjusteret model virke bedre, blot fordi den svarer mere genkendeligt.

Testen bør omfatte både normale og vanskelige tilfælde. Normale tilfælde viser, om modellen løser kerneopgaven. Vanskelige tilfælde viser, om modellen håndterer tvetydighed, manglende oplysninger, uønskede forespørgsler og data uden for træningsmønstret.

For en sprogmodel bør evalueringen også kontrollere format, tone, faktuel nøjagtighed, fejltyper, svarlængde, afvisninger, følsomme oplysninger og stabilitet over tid. Hvis modellen indgår i en arbejdsgang, bør testen måle hele arbejdsgangen og ikke kun modellens isolerede tekstsvar.

Hvilke sikkerheds- og datarisici skal vurderes?

Træningsdata er et centralt risikopunkt. Hvis datasættet indeholder personoplysninger, fortrolige aftaler, adgangsoplysninger eller interne vurderinger, kan der opstå problemer med databeskyttelse, rettigheder og informationssikkerhed. Det gælder både ved egen træning og ved brug af en ekstern modeludbyder.

OWASP peger blandt andet på training data poisoning og sensitive information disclosure som risici i LLM-applikationer. I en fine-tuning-sammenhæng betyder det, at datakilden skal kontrolleres, og at modellen skal testes for, om den utilsigtet kan gengive følsomme detaljer eller lære skadelige mønstre.

NISTs profil for generativ AI beskriver, at risici kan opstå på tværs af design, udvikling, deployment, drift og udfasning, og at risici blandt andet afhænger af trænings- og finjusteringsdata, modeladgang og konkret anvendelse. Det passer godt til fine-tuning, fordi træningen skaber en ny modelvariant, der skal forvaltes som et selvstændigt system.

En praktisk risikovurdering bør derfor besvare fem spørgsmål: Hvilke data må bruges? Hvem har kvalitetssikret dem? Hvor trænes modellen? Hvem kan tilgå den finjusterede model? Hvordan stoppes eller rulles modellen tilbage, hvis den giver uønskede svar?

Hvordan kan fine-tuning indgå i en praktisk beslutningsrækkefølge?

En enkel beslutningsrækkefølge starter med at formulere fejlen præcist. Er problemet, at modellen ikke kender fakta, ikke følger formatet, ikke forstår domænesproget eller ikke kan klassificere stabilt? Hver fejltype peger på en anden løsning.

  1. Definér den konkrete opgave og et målbart succeskriterium.
  2. Test først en basismodel med klare instruktioner og få eksempler.
  3. Brug RAG eller kontrollerede datakilder, hvis problemet handler om opdateret eller intern viden.
  4. Vælg fine-tuning, hvis problemet handler om gentaget adfærd, format, klassifikation eller domænesprog.
  5. Byg et adskilt testdatasæt, før træningen begynder.
  6. Kontrollér datarettigheder, sikkerhed, adgang og leverandørvilkår.
  7. Sammenlign den finjusterede model med baseline, før den sættes i drift.

Leverandørvalg bør indgå tidligt. Muligheder for fine-tuning ændrer sig over tid, og de er ikke ens på tværs af åbne modeller, cloudtjenester og lukkede API-platforme. OpenAI oplyser eksempelvis i sin aktuelle modeloptimeringsdokumentation, at deres fine-tuning-platform afvikles for nye brugere, mens eksisterende finjusterede modeller kan bruges til inference indtil deres basismodeller udfases.

For åbne modeller afhænger valget ofte af modellicens, hardware, framework, modelarkitektur og drift. En finjustering på en transformer-model kan være teknisk tilgængelig, men stadig uegnet, hvis data ikke er gode nok, eller hvis organisationen ikke kan overvåge modellen efter lancering.

Den mest robuste brug af fine-tuning er derfor snæver og målbar. Den starter med et dokumenteret problem, bygger på kontrollerede eksempler og afsluttes ikke ved træningen. Den fortsætter med evaluering, driftsovervågning og en plan for at opdatere eller fjerne modelvarianten, når opgaven, data eller leverandørvilkår ændrer sig.

Hvilke kilder ligger til grund?

Definitionen af finjustering bygger på Hugging Face-dokumentationen om fine-tuning, mens afsnittene om parameter-effektiv finjustering bygger på Hugging Face PEFT-dokumentationen og forskningsartiklen LoRA: Low-Rank Adaptation of Large Language Models. Beslutnings- og evalueringsdelen er holdt op mod OpenAI-dokumentationen om modeloptimering, og sikkerhedsafsnittet er kontrolleret mod OWASP Top 10 for Large Language Model Applications.