AI-modeller og plattformer
NLPs oppsving med transformermodeller | En omfattende analyse av T5, BERT og GPT
Naturleg språkprosessering (NLP) har opplevd noen av de mest betydningsfulle gjennombruddene i de senere årene, hovedsakelig takket være transformerarkitekturen. Disse gjennombruddene har ikke bare forbedret maskiners evne til å forstå og generere menneskespråk, men har også endret landskapet for en rekke applikasjoner, fra søkemotorer til konversasjonsbasert AI.
For å fullt ut å kunne verdsette betydningen av transformatorer, må vi først se tilbake på forgjengerne og byggesteinene som la grunnlaget for denne revolusjonære arkitekturen.
Tidlige NLP-teknikker: Grunnlaget før transformatorer
Ordinbearbeiding: Fra One-Hot til Word2Vec
I tradisjonelle NLP-tilnærminger ble ord ofte representert på en bokstavelig måte og manglet enhver form for semantisk eller syntaktisk forståelse. One-Hot-koding er et eksempel på denne begrensningen.
One-Hot-koding er en prosess hvor kategoriske variabler konverteres til en binær vektorrepresentasjon hvor bare ett bit er “varm” (satt til 1) mens alle andre er “kalde” (satt til 0). I sammenheng med NLP blir hvert ord i en ordliste representert av One-Hot-vektorer hvor hver vektor er størrelsen på ordlisten, og hvert ord representeres av en vektor med alle 0-er og ett 1 på indeksen som tilsvarer ordet i ordlisten.
Eksempel på One-Hot-koding
Anta at vi har en liten ordliste med bare fem ord: [“konge”, “dronning”, “mann”, “kvinne”, “barn”]. One-Hot-kodingvektorene for hvert ord ville se slik ut:
- “konge” -> [1, 0, 0, 0, 0]
- “dronning” -> [0, 1, 0, 0, 0]
- “mann” -> [0, 0, 1, 0, 0]
- “kvinne” -> [0, 0, 0, 1, 0]
- “barn” -> [0, 0, 0, 0, 1]
Matematisk representasjon
Hvis vi betegner som størrelsen på vår ordliste og som den One-Hot-vektorrepresentasjonen av det i-te ordet i ordlisten, ville den matematiske representasjonen av være:
hvor den i-te posisjonen er 1 og alle andre posisjoner er 0.
Hovedproblemet med One-Hot-koding er at den behandler hvert ord som en isolert enhet, uten noen relasjon til andre ord. Dette resulterer i sparsomme og høydimestriske vektorer som ikke fanger noen semantisk eller syntaktisk informasjon om ordene.
Introduksjonen av ordinbearbeiding, særlig Word2Vec, var et avgjørende øyeblikk i NLP. Utviklet av et team i Google (GOOGL ) ledet av Tomas Mikolov i 2013, representerte Word2Vec ord i et tett vektorrom, som fanget syntaktiske og semantiske ordrelasjoner basert på deres kontekst i store tekstkorpus.
I motsetning til One-Hot-koding produserer Word2Vec tette vektorer, vanligvis med hundredvis av dimensjoner. Ord som opptrer i lignende kontekster, som “konge” og “dronning”, vil ha vektorrepresentasjoner som er nære hverandre i vektorrommet.
For å illustrere, la oss anta at vi har trenet en Word2Vec-modell og nå representerer ord i et hypotetisk 3-dimensjonalt rom. Innebygningene (som vanligvis er mer enn 3D, men redusert her for enkelhet) kunne se slik ut:
- “konge” -> [0,2, 0,1, 0,9]
- “dronning” -> [0,21, 0,13, 0,85]
- “mann” -> [0,4, 0,3, 0,2]
- “kvinne” -> [0,41, 0,33, 0,27]
- “barn” -> [0,5, 0,5, 0,1]
Disse tallene er fiktive, men de illustrerer hvordan lignende ord har lignende vektorer.
Matematisk representasjon
Hvis vi representerer Word2Vec-innebygningen av et ord som , og vårt innebygningsrom har dimensjoner, ville kunne representeres som:
Semantiske relasjoner
Word2Vec kan sogar fange komplekse relasjoner, som analogier. For eksempel, den berømte relasjonen fanget av Word2Vec-innebygninger er:
vektor(“konge”) – vektor(“mann”) + vektor(“kvinne”)≈vektor(“dronning”)
Dette er mulig fordi Word2Vec justerer ordvektorene under trening så at ord som deler felles kontekster i korpuset plasseres nær hverandre i vektorrommet.
Word2Vec bruker to hovedarkitekturer for å produsere en distribuert representasjon av ord: Continuous Bag-of-Words (CBOW) og Skip-Gram. CBOW forutsier et målord fra dets omgivende kontekstord, mens Skip-Gram gjør det motsatte, forutsier kontekstord fra et målord. Dette tillot maskiner å begynne å forstå ordbruk og mening på en mer nyansert måte.
Sequensmodellering: RNN-er og LSTMer
Etter hvert som feltet utviklet seg, skiftet fokuset mot å forstå sekvenser av tekst, noe som var avgjørende for oppgaver som maskinoversettelse, tekstsummering og meninganalyse. Resursive neurale nettverk (RNN-er) ble hjørnestenslene for disse applikasjonene på grunn av deres evne til å håndtere sekvensiell data ved å vedlikeholde en form for minne.
Men RNN-er var ikke uten begrensninger. De hadde vanskeligheter med langtidsavhengigheter på grunn av den forsvinnende gradientproblemet, hvor informasjon går tapt over lange sekvenser, og gjorde det vanskelig å lære korrelasjoner mellom fjerne hendelser.
Lange korttidsminne-nettverk (LSTM-er), introdusert av Sepp Hochreiter og Jürgen Schmidhuber i 1997, adresserte dette problemet med en mer sofistikert arkitektur. LSTM-er har porter som kontrollerer informasjonsflyten: inngangsporten, glemmingsporten og utgangsporten. Disse portene bestemmer hva slags informasjon som lagres, oppdateres eller kastes, og tillater nettverket å bevare langtidsavhengigheter og forbedre ytelsen på en rekke NLP-oppgaver betydelig.
Transformerarkitekturen
Landskapet for NLP gjennomgikk en dramatisk forandring med introduksjonen av transformermodellen i den banebrytende artikkelen “Attention is All You Need” av Vaswani et al. i 2017. Transformerarkitekturen avviker fra den sekvensielle prosesseringen av RNN-er og LSTM-er og bruker i stedet en mekanisme kalt ‘selv-oppmerksomhet’ for å vekte innflytelsen av ulike deler av inndata.
Kodek og dekoder i transformatorer:
I den opprinnelige transformermodellen, som beskrevet i artikkelen “Attention is All You Need” av Vaswani et al., er arkitekturen delt i to hoveddeler: kodeken og dekoderen. Begge deler består av lag som har samme generelle struktur, men tjener forskjellige formål.
Kodek:
- Rolle: Kodekens rolle er å prosessere inndata og skape en representasjon som fanger relasjonene mellom elementene (som ord i en setning). Denne delen av transformoren genererer ikke nytt innhold; den transformerer bare inndata til en tilstand som dekoderen kan bruke.
- Funksjonalitet: Hver kodeklag har selv-oppmerksomhetsmekanismer og feed-forward neurale nettverk. Selv-oppmerksomhetsmekanismen tillater hver posisjon i kodeken å fokusere på alle posisjoner i forrige lag av kodeken—dermed kan den lære konteksten rundt hvert ord.
- Kontekstuelle innebygninger: Utgangen av kodeken er en rekke vektorer som representerer inndata i et høydimestrisk rom. Disse vektorene kalles ofte kontekstuelle innebygninger fordi de koder ikke bare individuelle ord, men også deres kontekst i setningen.
Dekoder:
- Rolle: Dekodens rolle er å generere utdata sekvensielt, ett element om gangen, basert på inndata den mottar fra kodeken og hva den har generert så langt. Den er designet for oppgaver som tekstgenerering, hvor rekkefølgen av generering er avgjørende.
- Funksjonalitet: Dekodlag består også av selv-oppmerksomhetsmekanismer, men de er maskert for å forhindre posisjoner fra å fokusere på påfølgende posisjoner. Dette sikrer at forutsagnet for en bestemt posisjon bare kan avhenge av kjente utdata på posisjoner før det. I tillegg inkluderer dekodlag et annet oppmerksomhetsmekanisme som fokuserer på utgangen av kodeken, integrerer konteksten fra inndata i genereringsprosessen.
- Sekvensiell genereringskapasitet: Dette refererer til dekodens evne til å generere en sekvens ett element om gangen, bygget på hva den allerede har produsert. For eksempel, når det genereres tekst, forutsier dekoderen neste ord basert på konteksten fra kodeken og sekvensen av ord den allerede har generert.
Hver av disse underlagene i kodek og dekoder er avgjørende for modellens evne til å håndtere komplekse NLP-oppgaver. Flershodeoppmerksomhetsmekanismen tillater spesielt modellen til å velge å fokusere på forskjellige deler av sekvensen, og gir en rik forståelse av kontekst.
Populære modeller som utnytter transformatorer
Etter den opprinnelige suksessen med transformermodellen, var det en eksplosjon av nye modeller bygget på denne arkitekturen, hver med sine egne innovasjoner og optimaliseringer for forskjellige oppgaver:
BERT (Bidirectional Encoder Representations from Transformers): Introdusert av Google i 2018, revolusjonerte BERT måten kontekstuell informasjon integreres i språkrepresentasjoner. Ved å fortrene på et stort korpus av tekst med en maskert språkmodell og neste setning-forutsigelse, fanger BERT rike bidireksjonale kontekster og har oppnådd state-of-the-art resultater på en rekke NLP-oppgaver.
T5 (Text-to-Text Transfer Transformer): Introdusert av Google i 2020, omdefinerer T5 alle NLP-oppgaver som et tekst-til-tekst problem, ved å bruke en forent tekstbasert format. Denne tilnærmingen forenkler prosessen med å anvende modellen på en rekke oppgaver, inkludert oversettelse, summering og spørsmål-svar.
GPT (Generative Pre-trained Transformer): Utviklet av OpenAI, startet GPT-linjen av modeller med GPT-1 og nådde GPT-4 i 2023. Disse modellene er fortrent ved hjelp av usupervisert læring på enorme mengder tekstdata og finjustert for forskjellige oppgaver. Deres evne til å generere kohesive og kontekstuell relevante tekster har gjort dem svært innflytelsesrike i både akademiske og kommersielle AI-applikasjoner.
Her er en mer detaljert sammenligning av T5-, BERT- og GPT-modellene over forskjellige dimensjoner:
1. Tokenisering og ordliste
- BERT: Bruker WordPiece-tokenisering med en ordlistestørrelse på rundt 30 000 token.
- GPT: Anvender Byte Pair Encoding (BPE) med en stor ordlistestørrelse (f.eks. har GPT-3 en ordlistestørrelse på 175 000).
- T5: Utnytter SentencePiece-tokenisering som behandler teksten som rå og ikke krever forhåndssegmenterte ord.
2. For-trening-objektiver
- BERT: Maskert språkmodellering (MLM) og neste setning-forutsigelse (NSP).
- GPT: Kausalt språkmodellering (CLM), hvor hvert token forutsier neste token i sekvensen.
- T5: Bruker en støyende objekt, hvor tilfeldige tekstsekvenser erstattes med en vaktel-token, og modellen lærer å rekonstruere den opprinnelige teksten.
3. Indata-representasjon
- BERT: Token-, segment- og posisjonsinbygninger kombineres for å representere inndata.
- GPT: Token- og posisjonsinbygninger kombineres (ingen segmentinbygninger, da det ikke er designet for setningspar-oppgaver).
- T5: Kun tokeninbygninger med relative posisjonsinbygninger lagt til under oppmerksomhetsoperasjoner.
4. Oppmerksomhetsmekanisme
- BERT: Bruker absolutte posisjonsinbygninger og tillater hver token å fokusere på alle token til venstre og høyre (bidireksjonal oppmerksomhet).
- GPT: Bruker også absolutte posisjonsinbygninger, men begrenser oppmerksomheten til forrige token (unidireksjonal oppmerksomhet).
- T5: Implementerer en variant av transformator som bruker relative posisjonsbias i stedet for posisjonsinbygninger.
5. Modellarkitektur
- BERT: Kodek-basert arkitektur med flere lag av transformer-blokker.
- GPT: Dekoder-basert arkitektur, også med flere lag, men designet for generative oppgaver.
- T5: Kodek-dekoder-arkitektur, hvor både kodek og dekoder består av transformer-lag.
6. Fine-tuning-tilnærming
- BERT: Tilpasser de siste skjulte tilstandene av den fortrente modellen for nedstrømsoppgaver med ekstra utgangslag etter behov.
- GPT: Legger til en lineær lag på toppen av transformoren og finjusterer på nedstrømsoppgaven ved å bruke samme kausalt språkmodellering-objekt.
- T5: Konverterer alle oppgaver til et tekst-til-tekst-format, hvor modellen finjusteres til å generere målsekvensen fra inndatasekvensen.
7. Treningdata og skala
- BERT: Trenet på BooksCorpus og engelsk Wikipedia.
- GPT: GPT-2 og GPT-3 er trenet på diverse datasett uttrukket fra internettet, med GPT-3 trenet på et enda større korpus kalt Common Crawl.
- T5: Trenet på “Colossal Clean Crawled Corpus”, som er en stor og ren versjon av Common Crawl.
8. Behandling av kontekst og bidireksjonalitet
- BERT: Designet for å forstå kontekst i begge retninger samtidig.
- GPT: Trenet for å forstå kontekst i en fremoverretning (venstre-til-høyre).
- T5: Kan modellere bidireksjonal kontekst i kodeken og unidireksjonal i dekoderen, passende for sekvens-til-sekvens-oppgaver.
9. Tilpasning til nedstrømsoppgaver
- BERT: Krever oppgavsspesifikke hodelag og finjustering for hver nedstrømsoppgave.
- GPT: Er generativ av natur og kan bli promptet til å utføre oppgaver med minimale endringer i strukturen.
- T5: Behandler alle oppgaver som et “tekst-til-tekst”-problem, noe som gjør den innebygget fleksibel og tilpassbar til nye oppgaver.
10. Tolknings- og forklarbarhetsgrad
- BERT: Den bidireksjonale naturen gir rike kontekstuelle innebygninger, men kan være vanskeligere å tolke.
- GPT: Den unidireksjonale konteksten kan være enklere å følge, men mangler dybden av bidireksjonal kontekst.
- T5: Kodek-dekoder-rammeverket gir en tydelig separasjon av prosesseringssteg, men kan være kompleks å analysere på grunn av sin generative natur.
Transformatorers innvirkning på NLP
Transformatorer har revolusjonert NLP-feltet ved å enable modeller til å prosessere sekvenser av data i parallell, noe som dramatisk økte hastigheten og effisiensen av å trene store neurale nettverk. De introduserte selv-oppmerksomhetsmekanismen, som tillater modeller å vekte betydningen av hver del av inndata, uavhengig av avstand i sekvensen. Dette ledet til utenforliggende forbedringer i en rekke NLP-oppgaver, inkludert oversettelse, spørsmål-svar og tekstsummering.
Forskning fortsetter å drive grensene for hva transformerbaserte modeller kan oppnå. GPT-4 og dets samtidsmodeller er ikke bare større i skala, men også mer effektive og kapable på grunn av fremgang i arkitektur og treningsmetoder. Teknikker som few-shot learning, hvor modeller utfører oppgaver med minimale eksempler, og metoder for mer effektiv overføringslæring er i forkant av nåværende forskning.
Språkmodellene, som de basert på transformatorer, lærer fra data som kan inneholde fordommer. Forskere og praktikere arbeider aktivt med å identifisere, forstå og mildne disse fordommene. Teknikkene spenner fra kurerte treningsdatasett til etter-trening-justeringer rettet mot rettferdighet og nøytralitet.















