NTNU, sluttrapport: Copilot med personvernbriller på

Vedlegg

Her kan du fordype deg litt mer i hvordan språkmodeller og RAG fungerer.

Språkmodeller

Språkmodeller (Large Language Models – LLM), slik som GPT (Generative Pre-trained Transformer), er maskinlæringsmodeller som er trent på svært store mengder tekstdata. Disse modellene bearbeider og genererer tekst ved å bruke sammenhenger i treningsdataene til å forutsi neste ord i en tekst eller når den svarer på et spørsmål. De brukes i en rekke applikasjoner, som samtaleroboter, tekstgenerering og språkanalyse.

Språkmodellene er bygget på nevrale nettverk. De lagrer ikke språk og ord som tekst, men som numeriske representasjoner kalt vektorer, som effektivt beskriver svært komplekse sammenhenger mellom språkelementer. En språkmodell «forstår» ikke språk i menneskelig forstand, men modellerer sammenhengen mellom språkelementer basert på hvordan språk brukes av mennesker.

Fordi språkmodeller er så velartikulerte, er det lett å oppfatte språkmodeller som kunnskapsmodeller, men det er de ikke. De er modeller for språket i seg selv og hvordan det brukes i praksis. Dagens språkmodeller har med andre ord ikke innebygd kunnskap om fagområder som juss, kjemi, fysikk, filosofi og matematikk. Samtidig gjenspeiler språk i sin natur informasjon om verden rundt oss. Språkmodeller trenes på store mengder tekst som inneholder (tilfeldige) opplysninger ulike temaer, og på denne måten blir forskjellige typer informasjon ofte avspeilet i språket som modellen er trent opp på. Teknologien er i rivende utvikling, og språkmodeller som kombineres med kunnskapsmodeller er både under utprøving og vil i økende grad også bli tilgjengelig for allmenn bruk, med potensial for mer presise og pålitelige svar.

Utfordringer: hallusinering og datagrunnlag

En viktig utfordring med språkmodeller er fenomenet «hallusinering». Dette betyr at modellen genererer tekst som språklig sett er korrekt, men som inneholder feil eller oppdiktet informasjon. Språkmodeller fungerer som avanserte, statistiske modeller uten en innebygd forståelse av fakta. De har en viss tilfeldighet innebygget (for å kunne gi varierte og/eller alternative formuleringer av svar), men mangler mekanismer for å vurdere innholdets sannhet, noe som kan føre til at generert tekst framstår troverdig, men faktisk er feil.

I tillegg til hallusinering kan feil oppstå på grunn av misoppfatninger i treningsdataene. Hvis en utbredt feil eller misoppfatning er til stede i datagrunnlaget, vil modellen kunne gjenta eller forsterke denne feilen. For eksempel, dersom det i treningsmaterialet finnes mange kilder som feilaktig påstår noe, vil modellen sannsynligvis gjenspeile dette som om det var korrekt. Dette kan være problematisk når modeller brukes i situasjoner der det kreves høy grad av presisjon eller faglig korrekthet.

I praksis vil allikevel mange responser være gode og relevante, gitt at det store flertallet av tekstene de er trent på inneholder den riktigste informasjonen, og fordi de språklige sammenhengene i mange tilfeller også inneholder de relevante faktaene.

Språklige og kulturelle utfordringer

De fleste store leverandørenes språkmodeller er primært trent på engelskspråklige data, noe som gjør at ofte generere bedre responser på engelsk. Det pågår arbeid for å tilpasse språkmodeller til nasjonale språk. Men vil de også klare å tilpasse dem til nasjonale kulturer? Dette er et viktig å være oppmerksom på ved bruk av språkmodeller, fordi de også reflekter kulturell kontekst. En overvekt av engelske og amerikanske tekstkilder i treningsmaterialet vil bety at tekst som genereres også er påvirket av og reflekterer engelsk og amerikansk kultur.

De største og mest dominerende språkmodellene, som OpenAIs modeller, er laget, trent og driftet av store, private, amerikanske selskaper. Microsoft benytter OpenAI-modeller for å levere språkmodelltjenester på sin Azure-plattform, med justeringer og tilpasninger til egne produkter som f.eks M365 Copilot.

I motsetning til «klassiske» KI-/maskinlæringssystemer som i hovedsak er modellert og trent for spesifikke formål, har språkmodeller den egenskapen at de kan brukes til mange og uspesifiserte oppgaver. Derfor omtales de også som generelle grunnmodeller (foundation models). Dette gjør dem svært anvendelige, men samtidig utfordrende med tanke på å sikre korrekthet, relevans og ansvarlig bruk.

Tilpasning av språkmodeller

M365 Copilot benytter flere teknikker for å tilpasse produktet, inkludert kunnskapsgrafer (Knowledge Graphs) og Retrieval-Augmented Generation (RAG). Hensikten med RAG er å styre kvaliteten på tekstbaserte svar ved å hente utvalgt og oppdatert informasjon fra interne informasjonskilder før svaret genereres. Denne nye tilleggsinformasjonen vektoriseres og indekseres i samme numeriske format som den opprinnelige grunnmodellen.

RAG består av tre hovedkomponenter:

  1. Retrieval (gjenfinning): Modellen søker etter informasjon i en database eller eksterne kilder. Dette likner på hvordan tradisjonelle søkemotorer fungerer, men RAG benytter såkalte semantiske søkemetoder for å finne relevant informasjon basert på språklig kontekst, i stedet for kun å basere seg på søkeord.
  2. Augmented (forsterkning): Den innhentede informasjonen brukes til å berike språkmodellens svar. Dette gjør at svarene blir mer presise og faktuelle, sammenlignet med grunnmodellene som primært baserer seg på forhåndstrente data.
  3. Generation (generering): Etter at relevant informasjon er hentet, genereres responser som inneholder tilleggsinformasjon fra steg 1 og 2 ved hjelp av selve grunnmodellen.

RAGs semantiske søk baserer seg på den språklige konteksten i et spørsmål (instruks/ledetekst). Dermed kan systemet finne informasjon som er relevant selv om de eksakte ordene ikke samsvarer. Dette gjør søkene mer fleksible og kan finne flere relevante sammenhenger for brukeren.

RAG har flere egenskaper:

  • Oppdatert kunnskap: I motsetning til språkmodeller som bare kan trekke på egne statiske treningsdata, kan RAG hente virksomhetsintern informasjon og informasjon fra nye kilder man selv kontrollerer, noe som gir mer nøyaktige svar.
  • Fleksibilitet: Systemet kan oppfatte komplekse intensjoner og sammenhenger i spørsmål, selv om ikke alle søkeord er tilstede.
  • Nøyaktighet: Ved å spesifisere og styre hvilken informasjon som skal brukes som underlag for svar, reduserer RAG risikoen for feil eller "hallusinasjoner" sammenliknet med svar produsert av grunnmodellen alene.

Bruksområder for RAG

Hensikten med RAG er å i større grad kunne styre hvilken informasjon som skal inngå i svar fra språkmodeller. Den muliggjør også noe tilpassing til spesifikke fagdomener for å øke sannsynligheten for at informasjonen som presenteres er relevant og korrekt. Dette forutsetter imidlertid svært god kontroll på hvilken informasjon som inngår i RAG-modellen. Generelle språkmodell-løsninger som M365 Copilot vil i større grad kunne forankre svar til virksomhetens egen informasjon, men er fremdeles avhengig av kvaliteten på denne informasjonen. Uklassifisert, gammel, utdatert eller feil informasjon i interne kilder vil påvirke kvaliteten negativt.

Selv om RAG kan forbedre språkmodellers evne til å gi svar forankret i virksomhetens egen informasjon, er det også utfordringer knyttet til implementering, inkludert overvåking av kvalitet på svar. I tillegg er det tekniske utfordringer knyttet til skalering og ytelse når disse modellene brukes i stor skala, bl.a. kan mange tilleggsoperasjoner medføre lenger svartid.

Språkmodeller som GPT representerer en viktig teknologisk innovasjon innen tekstgenerering, men har sine begrensninger når det gjelder oppdatert og faktabasert informasjon. RAG-systemet kan imidlertid, hvis det er implementert riktig, øke kvaliteten på svarene ved å bruke virksomhetsintern informasjon.