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
Vibe check
Denne tilgang kan bruges til at evaluere en enkelt models output eller sammenligne flere modellers output på den samme prompt. 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. Denne tilgang kan kun evaluere instruktions-tunede modeller.
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).
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. Denne tilgang er typisk en billigere løsning og man er i stand til at måle komplekse ting. Dog kan selve modellen, der evaluerer andre modeller, 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å. Denne tilgang kan kun evaluere instruktionstunede modeller.
Arena
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 anvendes til at vurdere forskellige ting såsom læsevenlighed, faktualitet, kulturelt kendskab osv. Arenatilgangen baserer sig derfor ikke på standardiserede evalueringsopgaver, som modellerne testes på, men derimod på brugernes subjektive vurderinger. Det kræver derfor en masse frivillige at få en tilnærmelsesvis objektiv vurdering. 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.
Man kan evaluere alle typer af sprogmodeller ved hjælp af benchmarktilgangen. Der er dog en fare for, at modeller kan trænes på datasættene til de standardiserede evalueringsopgaver og derved gøre testen ubrugelig. Desuden er det dyrt at lave højkvalitets evalueringsdatasæt og evalueringsdatasæt og opgaver er ikke nødvendigvis er generaliserbare til andre opgaver. Disse benchmarks bliver tit understøttet af en visualisering i en tabel eller lignende.
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; værktøjet består af to rangeringer. Den ene rangering viser hvilke modeller der er bedst til at løse opgaver inden naturlig sprog generering (NLG), og den anden viser hvilke modeller som er bedst til opgaver inden for naturlig sprogforståelse (NLU). I EuroEval indgår en række forskellige opgaver, som sprogmodellerne bliver testet på. NLU-modeller og NLG-modeller bliver testet på de samme opgaver, dog bliver NLG-modeller testet på yderligere opgaver. Opgaverne for NLU og NLG-modeller 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.
De yderligere opgaver for NLG-modeller er:
- 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. 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 maskinoversættelse, tekstanalyse og informationssøgning.
Scandinavian Embedding Benchmark drives af Kenneth Enevoldsen fra Center for Humanities Computing ved Aarhus Universitet.
Danoliterate
Danoliterate er et evalueringsværktøj som benytter sig af den såkaldte arenatilgang.
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 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.