AI er ikke magi: Derfor bør du som utvikler vite hvordan det faktisk fungerer
– Jeg tror at utviklere som forstår hvordan disse modellene er bygget opp vil få et fortrinn fremover, skriver Roger Gullhaug, som har skrevet boka som kan hjelpe deg.
De fleste utviklere har nå fått et forhold til ChatGPT, GitHub Copilot eller Claude. Vi bruker dem til å skrive kode, få ideer, oppsummere tekster og løse problemer, og det fungerer imponerende bra. Så bra at det hele nesten føles magisk.
Lenge brukte jeg bare AI som verktøy, men uten egentlig å vite hvordan de faktisk fungerte.
LLM-er kanskje den mest revolusjonerende teknologien vi har sett siden internett, og som en teknologientusiast så kjente jeg et behov for å virkelig forstå hvordan denne teknologien fungerer.
Så i vår bestemte jeg meg for å lære det. Ikke på overflatenivå, men i detalj. Jeg leste bøker, så foredrag, pløyde meg gjennom haugevis med bloggartikler og YouTube-videoer.
Etter hvert satt jeg med hundrevis av sider med notater. De har jeg nå samlet i en liten bok: "The Inner Workings of Large Language – Models – How Neural Networks Learn Language".
Hvorfor bry seg?
Det er lett å tenke at det holder å være god til å bruke AI. Og for mange stemmer det. Men jeg tror at utviklere som forstår hvordan disse modellene er bygget opp, vil få et fortrinn fremover.
Som utviklere trenger vi å forstå. Ikke nødvendigvis alle detaljer, men i hvert fall det grunnleggende:
Hvordan fungerer en transformer? Hva er egentlig en token, og hvordan vil antall token påvirke kontoutskriften din når du betaler per token? Hva betyr det at modellen bare ser på tidligere tokens? Hva skjer når vi "fine-tuner"? Hva er en attention- mekanisme?
Noen konkrete gevinster med å forstå hvordan en LLM fungerer:
- Når du skjønner mekanismene, ser du tydeligere modellens styrker og svakheter. Da slipper du «kanskje vi kunne brukt AI til det …?»-diskusjoner som undervurderer det en LLM faktisk klarer, eller overvurderer det som er tungt å få til. Det gir deg altså bedre vurdering av muligheter og svakheter.
- Kjenner du tokenisering og kontekstvinduer, kan du skrive korterere, skarpere prompts, beregne kostnad per kall og vite når prompt-engineering og RAG er smartere (og billigere) enn fine-tuning.
- Når du vet hvordan modellen predikerer neste ord, så forstår du også hvordan modellen kan være så overbevisende selv om den tar feil. Modellen vet rett og slett ikke selv når den lyver eller ikke. Dette gjør at du lettere kan bygge inn validering før hallusinasjonene havner i prod.
- Mange LLM UI-er (og API) lar deg justere temperature og top-p, men hva betyr det egentlig? Med innsikt i sannsynlighetsfordelingen bak logits kan du skru responsen fra trygg og deterministisk til kreativ og utforskende, i stedet for å gjette.
Dette er ikke bare nerdete nysgjerrighet, det handler om å bruke verktøyene klokt.
Dette er ikke bare nerdete nysgjerrighet (selv om det nok er en stor dose av det også), det handler om å bruke verktøyene klokt. Når vi forstår hvordan de fungerer, vet vi også når vi ikke skal stole på dem. Vi blir bedre til å skrive gode prompts. Vi gjenkjenner hallusinasjoner. Og vi tar bedre tekniske valg når vi skal bruke LLM-er i egne systemer.
Så selv om du ikke planlegger å bygge din egen LLM med det første, så mener jeg likevel at det er verdifullt for utviklere å forstå hvordan de fungerer.
Forstår vi hvordan AI egentlig fungerer?
En påstand jeg ofte hører, og som sikkert du også har hørt, er: “Ingen skjønner egentlig helt hvordan disse AI-modellene fungerer.”
Etter å ha gravd meg gjennom transformer- arkitekturer, treningsalgoritmer og utallige artikler, føler jeg meg trygg på at vi faktisk forstår det aller meste. Vi vet hvordan vi bygger en stor språkmodell, hvordan vi trener den på enorme tekst datasett med gradient descent og backpropagation, og hvordan vi finjusterer den til ulike oppgaver.
Disse modellene er ikke uforståelige magiske bokser; de er bygget av ganske håndfaste mekanismer: nevrale nettverk, lineær algebra, sannsynlighetsfordelinger og så videre.
Grunnen til at mange sier at vi ikke skjønner hvordan de fungerer skyldes at kunnskapen modellen lærer, er fordelt på tvers av milliarder av parametre. Vi kan ikke peke på én bestemt node i nettverket og si “Her ligger fakta om Mount Everest”. All informasjon, alt fra hovedstaden i Frankrike til grammatiske regler, ligger som små justeringer spredt ut over hele modellen.
Jeg har landet på at det er feil å si at vi ikke skjønner hvordan AI fungerer. Vi forstår mekanismene, vi kjenner arkitekturen og treningsprosessen, men vi kan ikke alltid redegjøre detaljert for hver beslutning modellen tar.
Kort oppsummert
Å forstå hvordan LLM-er fungerer handler ikke bare om nysgjerrighet. Det handler om å være en kompetent utvikler i møte med en teknologi som etter hvert kommer til å snu opp ned på måten vi jobber på.
For meg ble læringsprosessen så engasjerende at jeg skrev en bok om det, og jeg håper den kan hjelpe andre som også vil forstå hva som skjer under panseret.
Hvis du vil dykke dypere ned i hvordan LLM-er fungerer, lese mine refleksjoner rundt AI, og også litt praktisk bruk av LLM-er, så ligger hele e-boken min gratis ute på Leanpub. Den heter The Inner Workings of Large Language Models – How Neural Networks Learn Language, og kan lastes ned her:
Leanpub: The Inner Workings of LargeLanguage Models
God lesning, og lykke til med neste prompt!