Evaluering af sprogmodeller
Introduktion
Evaluering af sprogmodeller handler om at måle sprogmodellers præstation og kvalitet i forhold til specifikke opgaver. Dette kan indebære vurdering af, hvor god en sprogmodel er til at opsummere tekst, generere tekst, hvordan den forholder sig til det danske sprog og danske talemåder, eller i hvor høj grad den er i stand til at identificere semantiske sammenhænge mellem ord og sætninger. Evaluering kan hjælpe med at betone fejl, gøre opmærksom på bias og sikre, at modellerne fungerer hensigtsmæssigt i praksis. Derudover gør sammenlignelige målinger det lettere at vurdere fremskridt i udviklingen af sprogmodeller over tid.
Uden systematisk evaluering er det vanskeligt at identificere styrker og svagheder ved en given model, hvorfor evalueringsværktøjer også kan lette organisationer i udvælgelsen af sprogmodeller til at løse specifikke opgaver.
Der eksisterer allerede værktøjer til at evaluere sprogmodeller på engelsk og flere af de større sprog, samt multilingvale evalueringer lavet af udenlandske aktører. Værktøjerne evaluerer på mange forskellige opgaver, men ikke på specifikke danske opgaver som fx evnen til at forstå danske talemåder.
På siden her kan du læse om nogle af de eksisterende danske evalueringsværktøjer, som kan hjælpe dig eller din organisation med at evaluere egne sprogmodeller, samt få et overblik over, hvilke sprogmodeller der klarer sig bedst.
Hvordan kan man bidrage?
Digitaliseringsstyrelsen arbejder for at skabe bedre forudsætninger for tiltag som fremmer evaluering af sprogmodeller på dansk. Dette gøres bl.a. ved at afholde netværksmøder, hvor inputs og viden fra interessenter og aktører samles og koordineres og støtter udvalgte projekter og udarbejdelse af datasæt, som kan indgå i evalueringsrammeværktøj, som f.eks. Evalueringsdatasættet for 1000 danske talemåder og faste udtryk.
Hvis man vil bidrage til arbejdet med at evaluere sprogmodeller kan man kontakte info@sprogteknologi.dk eller de respektive kontaktemails som beskrevet på værktøjernes hjemmesider.
Fire metoder til evaluering
Subjektiv vurdering
Denne tilgang kan bruges til at evaluere en enkelt models output eller sammenligne flere modellers output på den samme prompt. En subjektiv vurdering eller 'vibe check' er kendetegnet ved, at en bruger giver sit eget personlige prompt. Dette kan være en forespørgsel på at lave et billede af en dansk pølsevogn, løse en gåde som kræver ræsonneringsevner eller lign. Brugeren vurderer outputtet ud fra sine egne kriterier og kan i dette tilfælde vurdere om en model er blevet bedre end sin forgænger eller konkurrent til at lave billeder eller løse gåder ved hjælp af bedre ræsonneringsevner. Fordelene ved subjektive vurderinger er, at de kan give et godt udgangspunkt, og vurderingerne er relevante for brugerens eget brugsscenarie. Desuden kan vurderingerne udføres billigt og hurtigt. Ulemperne ved de subjektive vurderinger er, at de ikke egner sig til at generalisere på baggrund af og er svære at opskalere til mange modeller eller anvende på tværs af mange brugsscenarier. Tilgangen kan kun evaluere instruktions-tunede modeller og gælder typisk kun for brugerens eget brugsscenarie.
Hvad er instruktions-tuning?
Instruktions-tuning er en teknik til finjustering af store sprogmodeller (LLMs) på et opmærket datasæt med prompts indeholdende instruktioner og tilsvarende svar og outputs. Instruktions-tuning er en underkategori af de bredere finjusteringsteknikker, der bruges til at tilpasse prætrænede grundmodeller til efterfølgende opgaver. Grundmodeller kan finjusteres til en række formål eller optimeres til et specifikt anvendelsesområde. Det forbedrer ikke blot en models ydeevne på specifikke opgaver, men også dens evne til at følge instruktioner generelt, hvilket kan gøre prætrænede modeller mere anvendelige i praksis.
Instruktions-tuning udelukker ikke andre finjusteringsteknikker. Chatmodeller, som OpenAI’s ChatGPT, gennemgår ofte både instruktions-tuning og en menneskelig feedback læringsproces (reinforcement learning from human feedback), en finjusteringsteknik, der har til formål at forbedre abstrakte kvaliteter som hjælpsomhed og ærlighed. Modeller, der fx er finjusteret til kodning, gennemgår ofte både instruktions-tuning (for generelt at optimere svar til at følge instruktioner) og yderligere finjustering på programmeringsspecifikke data (for at udvide modellens viden om kodningssyntaks og -terminologi).
Crowd-sourcing
Crowd-sourcing (også omtalt 'arena') er et forsøg på at skalere den subjektive vurdering og der findes mange forskellige tilgange til at lave menneskelige vurderinger i stor skala. Ved arenasammenligning giver man samme input til to eller flere sprogmodeller, og en person bliver bedt om at evaluere de to outputs side om side og vurderer derefter hvilket, der er bedst, og i hvor høj grad modellerne imødekommer brugerens prompt.
Metoden kan i princippet anvendes til at vurdere mange forskellige kvaliteter ved en sprogmodel, men opgaverne på e mest etablerede frameworks omhandler læsevenlighed, faktualitet, kulturelt kendskab m.fl. Crowd-sourcing-tilgangen baserer sig derfor ikke på standardiserede evalueringsopgaver, som modellerne testes på, men derimod på brugernes subjektive vurderinger. Fordelen er, at hvis man når et repræsentativt masse af frivillige, står man også med en stærk vurdering. Ulemperne består i, at de frivillige kan have eventuelle tilhørsforhold, som de kan blive påvirket af, samt bias, som har indflydelse på resultaterne. Crowd-sourcing bliver eksempelvis ofte udført af unge mænd, der interesserer sig for digitale teknologier. Der er også stor bias forbundet med formatering og præsentation, og derfor kan de frivillige være mere påvirket af præsentation frem for indhold. Det er desuden også dyrt og tidskrævende at konstruere testen, samt at finde de mange frivillige, som er nødvendigt for en optimal vurdering. Denne tilgang kan kun evaluere instruktionstunede modeller.
LLM-as-a-judge
LLM-as-a-judge henviser til brugen af store sprogmodeller (LLM'er) til at evaluere eller vurdere forskellige typer indhold, svar eller præstationer, herunder ydeevnen af andre AI-modeller. For eksempel ved at bruge LLM'er som dommere til evaluering af AI-modellens nøjagtighed eller korrekthed, eller til at evaluere udførslen af en opgave. Fordelene ved denne tilgang er typisk en billig løsning, samt at man er i stand til at måle mere komplekse ting end ved subjektive vurderinger. Ulemperne er, at selve modellen, der evaluerer andre modeller, kan indeholde bias eller andre uhensigtsmæssigheder. Modellen der bruges til evaluering skal desuden også være rigtig god på det sprog som den model der skal evalueres fungerer på.
LLM-as-a-judge er en metode i en bredere kategori af model-baseret evaluering. I en opsummering kan man eksempelvis bruge flere modeller til at tjekke grammatik, hallucinationer, faktualitet og hvor tæt opsummeringen ligger på originalkilden. Denne tilgang kan kun evaluere instruktionstunede modeller.
Benchmark
En benchmarktilgang er et forsøg på at lave en objektiv og præcis vurdering af sprogmodellers performance på forskellige opgaver og test, fx. opsummering af tekst, sentiment analyse eller grammatisk korrekthed. Nogle opgaver er standardiserede opgaver på tværs af sprog, andre kan være sprog- eller domænespecifikke.
Fordelene ved en benchmark-tilgang er, at man kan evaluere alle typer af sprogmodeller. Man kan opnå en præcis måling af modellers performance på opgaverne, og det er en objektiv vurdering, som kun behøver at blive udført en enkelt gang pr. model. Ulemperne er dog, at der kan være en fare for, at modeller kan trænes på datasættene til de standardiserede evalueringsopgaver og derved gøre estimaterne biased. Desuden er det dyrt at lave højkvalitets evalueringsdatasæt og evalueringsdatasæt og opgaver er ikke nødvendigvis er generaliserbare til andre opgaver.
I de næste afsnit bliver fire af de mest benyttede danske evalueringsværktøjer introduceret, herunder hvilken tilgang de hver især bruger.
EuroEval
EuroEval (tidligere ScandEval) er et populært rammeværktøj til at evaluere sprogmodeller ved benchmark tilgangen. På EuroEval kan du finde ranglister over ni enkelte sprog og over tre forskellige multilingvale ranglister. Det er altså muligt både at finde flersproglige evalueringer og monolingvale. Den danske del indeholder to rangeringer: Tekstforståelse (NLU) og tekstgenerering (NLG).
Tekstforståelse (NLU)
Rangeringen viser hvilke modeller, som er bedst til opgaver inden for naturlig sprogforståelse (NLU), hvor en model skal forstå et natursprogs input og give et output, som typisk er en kategorisering eller nogle få ord. NLU-modellerne i denne rangering, som BERT, DanskBERT og lignende modeller, bliver kun testet på NLU-opgaver og er relevante, hvis man har brug for at behandle dokumenter og tekster frem for at generere nye. Opgaverne for NLU indebærer bl.a.:
- sentiment analyse, altså om en tekst er positiv eller negativ.
- grammatisk korrekthed.
- læseforståelse.
- identifikation af entiteter, såsom navne, organisationer eller lokationer i tekster.
Tekstgenerering (NLG)
Rangeringen viser hvilke modeller, der er bedst til at løse opgaver inden for naturlig sproggenerering (NLG). Dette er generative modeller som Llama fra Meta og ChatGPT fra OpenAI, som er i stand til at generere tekst. Svarene fra disse modeller er derfor typisk flere tekstafsnit lange og vil være relevante, hvis man skal bruge en model til at udarbejde dokumenter og tekster. Disse modeller bliver testet på samtlige opgaver i EuroEval. Opgaverne for NLG indebærer bl.a.:
- opsummering af tekst.
- test af forståelse for danske forhold fx ved udgaver af den danske indfødsretsprøver og forståelse for danske talemåder.
- almen viden om verden, altså at man bliver våd af at gå i regn uden en paraply.
Når en model er blevet testet på ovenstående opgaver, bliver den tilføjet til leaderboardet. Du kan læse mere om metoden på EuroEvals hjemmeside.
Der findes også en EuroEval python pakke, så man kan anvende evalueringen lokalt på sin egen computer og på sin egen sprogmodel.
EuroEval bliver vedligeholdt af Alexandra Instituttet og Center for Humanities Computing fra Aarhus Universitet og bliver finansieret af EU-projektet TrustLLM.
Scandinavian Embedding Benchmark
Scandinavian Embedding Benchmark (SEB) er et værktøj, som evaluerer vektorbaserede repræsentationer af ord og sætninger, såkaldte embeddings eller tekstindlejringer, på skandinaviske sprog. Embeddings bliver bl.a. brugt til tekstsøgning, retrieval augmented generation (RAG) og til klassificering. SEB benytter sig af benchmarktilgangen og er designet til at vurdere, hvor godt forskellige embedding-modeller fanger semantiske relationer og sproglige nuancer. Læs mere om metoden her.
Opgaverne i værktøjet giver en systematisk metode til at sammenligne tekstindlejringer på skandinaviske sprog og hjælper forskere og udviklere med at identificere de mest effektive embedding-teknikker. Rangeringen i SEB består af flere evalueringsopgaver, der måler modellernes evne til at repræsentere sproglige koncepter præcist, såsom tekstanalyse og informationssøgning.
Modeller som SEB evaluerer bl.a. encoder-modeller fra sentence transformers eller vektor API'er som eksemplevis 'text-embeddings-3-large' fra OpenAI.
Scandinavian Embedding Benchmark drives af Kenneth Enevoldsen og Márton Kardos fra Center for Humanities Computing ved Aarhus Universitet.
Danoliterate
Danoliterate er et evalueringsværktøj som benytter sig af den såkaldte arenatilgang, som længere oppe beskrives som crowd-sourcing.
I Danoliterate-projektet bliver der indsamlet information om respondenternes køn, aldersgruppe, modersmål og erfaring med kunstig intelligens for at kunne være transparent om svarenes natur. Herefter skal brugerne vælge prompts fra et skema med spørgsmål inden for seks forskellige emner og derefter vurdere modellernes svar. Projektet er primært til for at illustrere metoden fremfor at vurdere enkelte modeller, som formodentlig forældes hurtigt.
Danoliterate udsprang af et speciale på DTU i 2024 som du kan læse mere om her.
Danish Semantic Reasoning Benchmark
Danish Semantic Reasoning Benchmark er et samarbejde mellem Center for Sprogteknologi ved Københavns Universitet og Det Danske Sprog- og Litteraturselskab. Projektet har til formål at måle store sprogmodellers sprogforståelse og ræsonneringsevner inden for en række udvalgte opgaver. Rammeværktøjet med benchmarktilgangen er en betaversion og er semi-automatisk udarbejdet ud fra en håndfuld menneskeudvalgte leksikalsk-semantiske ressourcer, som fungerer som guldstandard.
Selvom den nuværende version har en begrænset størrelse, adskiller denne version af benchmarket sig fra andre sammenlignelige evalueringsdatasæt på dansk. Dette er ved at inkludere både negative og kontrastive eksempler samt lavfrekvente ordforråd, hvilket er aspekter, der typisk udfordrer nuværende LLM’s, når de i høj grad baseres på sproglig overførsel fra engelsk. Datasættene fokuserer på:
- Semantisk inferens, som er evnen til at udlede den ontologiske status og andre kernebetydningskomponenter af et givet koncept baseret på DanNets definitioner.
- Implikation, som er om en model har forståelse for resultaterne af handlinger og begivenheder, altså hvis et udsagn siger, at en slår en anden ihjel, implikerer det, at nogen er død.
- Lighed og Relaterethed, som har til formål at give et dybere indblik i de finere og kulturspecifikke nuancer i det danske ordforråd, når man kigger på en stor mængde synonymer og semantisk relaterede ord.
- Et datasæt som fokuserer på at opklare uklarheder af tvetydige ord i kontekst, som er med til at evaluere modellers evne til at finde den rigtige betydning af et tvetydigt ord i en kontekst.
- Sentiment, som er evnen til at vurdere om et ord eller udsagn er positivt eller negativt ladet.
Man kan finde mere information om benchmarket, datasættene og resultaterne i artiklen her.
Find også data og tekster her.