Slik finjusterer du en AI-modell fra laptopen

Nøkkelinnsikt
- Finjustering krever ikke utviklerkompetanse. InstructLab bruker YAML-filer med spørsmål og svar som hvem som helst kan skrive, og senker terskelen dramatisk for hvem som kan tilpasse AI-modeller.
- Syntetisk data løser et av de største problemene med finjustering: at du trenger enorme mengder treningsdata. En lokal modell genererer hundrevis av eksempler fra noen få du har laget selv.
- Hele prosessen skjer lokalt uten tredjeparter. Det gjør finjustering aktuelt for sensitive domener som forsikring og juss, der datakontroll er kritisk.
Dette er et AI-generert sammendrag. Kildevideoen kan inneholde demonstrasjoner, visuelt innhold og ytterligere kontekst.
Kort fortalt
Cedric Clyburn er Senior Developer Advocate hos Red Hat og viser i denne videoen hvordan du tar en åpen kildekode-LLM (stor språkmodell) og spesialiserer den for et bestemt fagområde, alt fra din egen laptop. Verktøyet heter InstructLab og er et samarbeidsprosjekt mellom Red Hat og IBM. Det beste: du trenger hverken være utvikler eller dataforsker for å gjøre dette.
Les også:
Problemet med generelle AI-modeller
LLM-er er gode på alt i middels grad. Spør du en om forsikringsvilkår eller en spesifikk bransjestandard, får du et svar som høres greit ut, men som ikke nødvendigvis er korrekt for din kontekst. Du kan legge inn instruksjoner i prompten, for eksempel "svar som en erfaren forsikringsskadebehandler med kjennskap til disse reglene", men det er tungvint og upålitelig.
Løsningen er finjustering (fine-tuning på engelsk): å trene modellen videre på dine egne data, slik at den faktisk forstår fagområdet ditt. Da slipper du å forklare det i hver eneste prompt, og modellen blir raskere, billigere i bruk og mer presis.
InstructLab gjør dette tilgjengelig for alle, ikke bare maskinlæringseksperter.
Tre steg til en spesialisert modell
Steg 1: Samle treningsdata
InstructLab organiserer treningsdataene dine i en taksonomi, en hierarkisk mappestruktur delt inn i to kategorier:
- Skills (ferdigheter): Hva skal modellen kunne gjøre? For eksempel lese markdown-tabeller eller skrive på en bestemt måte.
- Knowledge (kunnskap): Hva skal modellen vite? For eksempel fakta om et bestemt fagområde.
Dataene skrives som enkle YAML-filer (et lettvekts tekstformat for strukturert data) med spørsmål og svar. Ingen kode, ingen spesialkompetanse.
Kilde: IBM Technology (YouTube)
Steg 2: Syntetisk data løser datamangelen
Her er problemet: finjustering krever mye treningsdata. Mye mer enn det du rekker å skrive selv på en ettermiddag. InstructLab har en elegant løsning: den bruker en lokal AI-modell til å generere hundrevis av nye treningseksempler basert på de få du har laget selv.
I demoen bruker Cedric modellen Merlinite-7B — en LLM med 7 milliarder parametre (et tall som sier noe om modellens størrelse), bygget på den åpne kildekode-modellen Mistral. Han stiller modellen et enkelt spørsmål: hvilken film hadde flest Oscar-nominasjoner i 2024?
Svaret er feil.
Kilde: IBM Technology (YouTube)
Modellen svarer "The Irishman". Det er en film fra 2019. Det riktige svaret er Oppenheimer, men modellen ble trent før Oscar-utdelingen i 2024 fant sted. Nå er oppgaven å rette opp dette.
Cedric legger inn korrekt informasjon i taksonomien og kjører kommandoen ilab data generate. I demoen genereres tre nye treningseksempler, men i praksis kan du generere langt flere. Og fordi ikke all data er god data, filtreres eksempler av lav kvalitet automatisk bort.
Kilde: IBM Technology (YouTube)
Steg 3: Finjustering med LoRA
Med treningsdataene på plass er det tid for selve finjusteringen. Kommandoen er ilab model train, og under panseret bruker InstructLab en teknikk kalt LoRA (Low-Rank Adaptation — en metode som bare oppdaterer en liten del av modellens parametre i stedet for alle). Det er nettopp dette som gjør det mulig å kjøre hele prosessen på en vanlig laptop.
Kilde: IBM Technology (YouTube)
Selve treningsprosessen tar noen timer avhengig av maskinvaren din, men resultatet er en ny, finjustert modell.
Resultatet: modellen svarer nå riktig
Cedric starter den finjusterte modellen og stiller det samme spørsmålet igjen. Denne gangen svarer modellen "Oppenheimer" uten nøling, og gir i tillegg detaljer om nominasjonskategoriene.
Kilde: IBM Technology (YouTube)
Hvem er dette nyttig for?
Oscar-eksempelet er pedagogisk, men de virkelige bruksområdene ligger andre steder. Cedric trekker frem to konkrete eksempler:
Forsikring: Et forsikringsselskap kan finjustere en modell på tidligere skadesaker og beste praksis. Resultatet er et internt AI-verktøy som hjelper skadebehandlere raskt og riktig, uten at sensitive saksopplysninger forlater bedriften.
Juss: Et advokatfirma kan trene en modell på tidligere kontrakter for å hjelpe med gjennomgang av nye. Igjen uten at konfidensielle dokumenter lastes opp til en tredjepart.
Kilde: IBM Technology (YouTube)
Det er det siste punktet som er det viktigste: hele prosessen skjer lokalt. Ingen data sendes til OpenAI, Google eller andre skyplattformer. Modellen kan kjøres on-premise (på egne servere), i skyen eller deles med andre, men dataene forblir under din kontroll.
En åpen modell alle kan bidra til
InstructLab er ikke bare et verktøy for bedrifter. Prosjektet er bygget rundt en tanke om at AI-modeller bør utvikles i fellesskap. Bidragene dine til taksonomien kan deles oppstrøms, slik at andre kan dra nytte av dem og modellen stadig blir bedre.
Det er et ganske annet perspektiv enn å sende data til en lukket modell og håpe at neste versjon er litt bedre.
Ordliste
| Begrep | Forklaring |
|---|---|
| Finjustering (fine-tuning) | Å trene en ferdig AI-modell videre på spesifikke data, slik at den blir ekspert på et bestemt område |
| LLM (Large Language Model) | Stor språkmodell — AI trent på enorme mengder tekst for å forstå og generere språk |
| Taksonomi (taxonomy) | En hierarkisk mappestruktur i InstructLab for å organisere treningsdata i ferdigheter og kunnskap |
| Syntetisk data (synthetic data) | Treningsdata generert av en annen AI-modell, basert på noen få eksempler du har laget selv |
| LoRA (Low-Rank Adaptation) | En finjusteringsteknikk som bare oppdaterer en liten del av modellens parametre, slik at treningen kan gjøres på en vanlig laptop |
| RAG (Retrieval-Augmented Generation) | En teknikk der AI-en slår opp i eksterne dokumenter før den svarer, i stedet for å basere seg kun på det den har lært |
| Inferens (inference) | Det som skjer når AI-modellen faktisk genererer et svar på spørsmålet ditt |
| Kvantisering (quantization) | Å gjøre modellen mindre ved å redusere presisjonen på tallene den bruker, slik at den kan kjøre på enklere maskinvare |
Kilder og ressurser
Vil du vite mer? Se hele videoen på YouTube →