Vektorer hjelper kunstig intelligens å forstå
Har du noen gang lurt på hvordan ChatGPT kan forstå det du skriver? Hvordan den «lærer» innholdet i en PDF du laster opp? Svaret kalles vektorer. Vektorene gjør om ordenes semantiske og kontekstuelle betydning til matematikk.
Fortsetter etter videoen.
Når ChatGPT gir utfyllende, velformulerte svar på de vanskeligste spørsmål, er det naturlig å tenke at chatboten forstår det vi skriver. Den skjønner tilsynelatende betydningen av både synonymer og sjeldne ord, og forstår til og med når du skriver feil. Like imponerende er det at bildemodeller lager fotorealistiske bilder av det du ber om, uansett om det er isbjørn som kjører motorsykkel eller troll på surfebrett.
Svaret på hvordan KI-modellene får til dette er ikke «forståelse» eller «intelligens», men matematikk. Modellene har et verktøy som konverterer semantisk og kontekstuell betydning til tall. Det verktøyet kalles vektorer.
Vektorer er verdier som angir i hvilken grad et ord, en setning, et bilde eller et annet objekt har en egenskap. Ved å sette sammen tusenvis av vektorer i et vektorsett (vector embedding), kan objektets betydning beskrives med tall.
Slik fungerer vektorer
Når vi mennesker organiserer ord, gjør vi det ofte alfabetisk. I en ordbok er ordet katt plassert nær ord som kald, kart og kasse. Betydningen av disse ordene er imidlertid vidt forskjellige. Ord som gepard, hund og pus, som semantisk sett har noe til felles med katt, er plassert langt unna i ordboken.
En annen måte å vurdere ordene på, er å se på hvilke egenskaper de representerer. Vi kan for eksempel sette opp de syv ordene i en tabell, og gi dem poeng ut fra i hvilken grad de representerer ulike egenskaper. -1 poeng hvis ordet ikke representerer egenskapen i det hele tatt og 1 poeng hvis ordet fullt og helt representerer den. Siden vi tok utgangspunkt i ordet katt, kan vi vurdere om de syv ordene representerer egenskapene «er et dyr», «har pels», «er et kattedyr», «er et husdyr», «er mørk i fargen».
Ved hjelp av disse poengene kan vi da se hvilke andre ord som har en betydning som er nær betydningen av ordet katt. Både katt og gepard vil score høyt på egenskapen «er et kattedyr», men veldig ulikt på egenskapen «er et husdyr». Der vil katt og hund være mer like.
Av tabellen ser vi at «katt» og «pus» har veldig like vektorer. Det er naturlig, siden de betyr omtrent det samme. Ved å se på et sett av mange vektorer kan den kunstige intelligensen matematisk regne seg frem til hvilke ord som betyr det samme.
Det er ikke bare enkelte ord vi kan beskrive med vektorer. Vi kan også gjøre det med setninger og avsnitt. Et bilde kan også beskrives med vektorer. Da kan vektorene for eksempel representere fargetoner, mønster eller objekter i bildet.
Produkter kan også representeres med vektorer. Det gjør den kunstige intelligensen i stand til å «forstå» hvilke egenskaper produktet har, og for eksempel foreslå liknende produkter.
Slik brukes vektorer i KI
I en KI-modell representeres hvert objekt (ord, setning, bilde, produkt osv.) ofte av flere tusen vektorer. En egen vektormodell brukes til å tildele vektorer til objektene. Det finnes mange forskjellige vektormodeller, tilpasset ulike typer objekter og bruksområder.
Når du stiller et spørsmål til ChatGPT, konverteres spørsmålet dit til et sett med vektorer. Spørsmålets vektorsett sendes til en vektordatabase. Vektordatabasen inneholder vektorsettene til all informasjonen KI-modellen er trent på. Når KI-modellen søker i vektordatabasen, beregnes det matematisk hvilken tekst som har et vektorsett som ligner mest på vektorsettet til spørsmålet. Den teksten bruker KI-modellen til å generere svaret.
Et eksempel:
Du stille ChatGPT Spørsmålet «Hvor høyt er Tryvannstårnet?»
ChatGPT konverterer spørsmålet ditt til et vektorsett, og søker etter lignende tekst i vektordatabasen. En av tekstene ChatGPT er trent på, er den følgende teksten fra Store Norske Leksikon:
«Tryvannstårnet er et tårn i betong og stål med en total høyde på 118 meter.»
Selv om teksten ikke er helt lik spørsmålet ditt, har de to setningene ganske like vektorsett. Det er nok til at ChatGPT kan formulere en setning med det riktige svaret.
Slik kan du tilpasse ChatGPT med vektorer.
I tillegg til å søke blant treningsdataene i vektordatabasen, kan en KI-modell også bruke vektorer til å finne svaret i tekst fra andre kilder. Den kan for eksempel bruke en søkemotor til å søke etter informasjon på internett, hente teksten fra de aktuelle nettsidene, konvertere den teksten til vektorer og se etter svaret i den teksten.
Du kan også gi språkmodellen tekst den kan søke i. Du kan for eksempel laste opp dokumenter med faglig kunnskap, og be språkmodellen søke i de dokumentene. Det er det som skjer når du laster opp et dokument i ChatGPT. Da bryter modellen opp teksten i dokumentet i passende tekstbiter, og lager vektorer av tekstbitene.
Når du lager en egen GPT i ChatGPT, skjer det samme. Teksten fra dokumentene du laster opp, blir en del av informasjonen chatboten søker blant i vektordatabasen. Slik kan du gjøre din versjon av ChatGPT til ekspert på ditt fagområde.
Vector embeddings, som det kalles (det finnes dessverre ikke noe godt norsk uttrykk), er en enkel måte å tilpasse en ferdig trent modell på. I tillegg til å bruke vector embeddings til å gi en språkmodell faglig kunnskap, kan de også brukes på andre KI-modeller. De biometriske egenskapene i et ansikt kan legges inn i en ansiktsgjenkjenningsmodell, slik at modellen kan brukes til å kjenne igjen det aktuelle ansiktet senere.
Konklusjonen er at kunstig intelligens’ «forståelse» ikke er et resultat av hverken intelligens eller forståelse. Det er ren matematikk.
Forklaringer på flere ord og uttrykk finner du her.
Forsidebilde: DreamStudio