AI-modeller og platforme

NLPs opsving med Transformer-modeller | En omfattende analyse af T5, BERT og GPT

mm
Føj Unite.AI til dine foretrukne kilder på Google

Naturlig Sprogbehandling (NLP) har oplevet nogle af de mest betydningsfulde gennembrud i de seneste år, primært takket være transformer-arkitekturen. Disse gennembrud har ikke kun forbedret maskiners evne til at forstå og generere menneskesprog, men har også ændret landskabet for en række applikationer, fra søgemaskiner til konversationsbaseret AI.

For at fuldt ud nyde betydningen af transformatorer, må vi først se tilbage på forgængerne og byggestenene, der lagde grundlaget for denne revolutionerende arkitektur.

Tidlige NLP-teknikker: Grundlaget før Transformatorer

Ordmærkning: Fra One-Hot til Word2Vec

I traditionelle NLP-tilgange blev ord ofte repræsenteret på en litteral måde og manglede enhver form for semantisk eller syntaktisk forståelse. One-Hot-kodning er et klassisk eksempel på denne begrænsning.

One-Hot-kodning er en proces, hvor kategoriske variabler konverteres til en binær vektorrepræsentation, hvor kun én bit er “varm” (sat til 1), mens alle andre er “kolde” (sat til 0). I NLP-sammenhæng repræsenteres hvert ord i en ordbog ved hjælp af One-Hot-vektorer, hvor hver vektor er så stor som ordbogen, og hvert ord repræsenteres af en vektor med alle 0’er og én 1 på den position, der svarer til ordet i ordbogen.

Eksempel på One-Hot-kodning

Antag, at vi har en lille ordbog med kun fem ord: [“konge”, “dronning”, “mand”, “kvinde”, “barn”]. One-Hot-kodningsvektorerne for hvert ord ville se således ud:

  • “konge” -> [1, 0, 0, 0, 0]
  • “dronning” -> [0, 1, 0, 0, 0]
  • “mand” -> [0, 0, 1, 0, 0]
  • “kvinde” -> [0, 0, 0, 1, 0]
  • “barn” -> [0, 0, 0, 0, 1]

Matematisk repræsentation

Hvis vi betegner som størrelsen af vores ordbog og som den One-Hot-vektorrepræsentation af det i’te ord i ordbogen, ville den matematiske repræsentation af være:

hvor den i’te position er 1 og alle andre positioner er 0.

Hovedproblemet med One-Hot-kodning er, at den behandler hvert ord som en isoleret enhed uden nogen relation til andre ord. Det resulterer i sparsomme og højdimensionelle vektorer, der ikke kan fange nogen semantisk eller syntaktisk information om ordene.

Introduktionen af ordmærkning, især Word2Vec, var et afgørende øjeblik i NLP. Udviklet af et hold hos Google (GOOGL ) under ledelse af Tomas Mikolov i 2013, repræsenterede Word2Vec ord i et tæt vektorrum, der fik fat på syntaktiske og semantiske ordrelationer baseret på deres kontekst inden for store tekstsamlinger.

I modsætning til One-Hot-kodning producerer Word2Vec tætte vektorer, typisk med hundredvis af dimensioner. Ord, der optræder i lignende kontekster, som “konge” og “dronning”, vil have vektorrepræsentationer, der er tættere på hinanden i vektorrummet.

Til illustration antager vi, at vi har trænet en Word2Vec-model og nu repræsenterer ord i et hypotetisk 3-dimensionelt rum. Ordmærkningerne (der normalt er mere end 3-dimensionelle, men her reduceret for enkelheds skyld) kunne se således ud:

  • “konge” -> [0,2, 0,1, 0,9]
  • “dronning” -> [0,21, 0,13, 0,85]
  • “mand” -> [0,4, 0,3, 0,2]
  • “kvinde” -> [0,41, 0,33, 0,27]
  • “barn” -> [0,5, 0,5, 0,1]

Disse tal er fiktive, men de illustrerer, hvordan lignende ord har lignende vektorer.

Matematisk repræsentation

Hvis vi repræsenterer Word2Vec-mærkningen af et ord som , og vores mærkningsrum har dimensioner, så kan repræsenteres som:

Semantiske relationer

Word2Vec kan endda fange komplekse relationer, som analogier. For eksempel er den berømte relation, der er fanget af Word2Vec-mærkninger, følgende:

vektor(“konge”) – vektor(“mand”) + vektor(“kvinde”)≈vektor(“dronning”)

Dette er muligt, fordi Word2Vec justerer ordvektorerne under træning, så ord, der deler fælles kontekster i korpus, placeres tæt på hinanden i vektorrummet.

Word2Vec bruger to hovedarkitekturer til at producere en distribueret repræsentation af ord: Continuous Bag-of-Words (CBOW) og Skip-Gram. CBOW forudsiger et målord fra dets omgivende kontekstord, mens Skip-Gram gør det modsatte, forudsiger kontekstord fra et målord. Dette tillod maskiner at begynde at forstå ordbrug og mening på en mere nuanceret måde.

Sequensmodellering: RNN’er og LSTM’er

Da feltet udviklede sig, skiftede fokus mod at forstå sekvenser af tekst, hvilket var afgørende for opgaver som maskinoversættelse, tekstsummering og sentimentanalyse. Recurrent Neural Networks (RNN’er) blev hjørnestenen for disse anvendelser på grund af deres evne til at håndtere sekventielle data ved at opretholde en form for hukommelse.

Men RNN’er var ikke uden begrænsninger. De kæmpede med langsigtede afhængigheder på grund af det forsvindende gradientproblem, hvor information går tabt over lange sekvenser, hvilket gjorde det svært at lære korrelationer mellem fjerne begivenheder.

Long Short-Term Memory-netværk (LSTM’er), introduceret af Sepp Hochreiter og Jürgen Schmidhuber i 1997, løste dette problem med en mere sofistikeret arkitektur. LSTM’er har porte, der kontrollerer informationsflowet: inputporten, forget-porten og outputporten. Disse porte bestemmer, hvilken information der gemmes, opdateres eller kasseres, hvilket tillader netværket at bevare langsigtede afhængigheder og betydeligt forbedrer præstationen på en bred vifte af NLP-opgaver.

Transformer-arkitekturen

NLP-landskabet undergik en dramatisk forandring med introduktionen af transformer-modellen i den banebrydende artikel “Attention is All You Need” af Vaswani et al. i 2017. Transformer-arkitekturen afviger fra den sekventielle behandling af RNN’er og LSTM’er og bruger i stedet en mekanisme kaldet ‘self-attention’ til at vægte betydningen af forskellige dele af inputdataen.

Transformerens kerneidé er, at den kan behandle hele inputdataen på én gang, i stedet for sekventielt. Dette tillader en langt større parallelisering og, som følge heraf, betydelige forbedringer i træningstiden. Self-attention-mekanismen giver modellen mulighed for at fokusere på forskellige dele af teksten, mens den behandles, hvilket er afgørende for at forstå konteksten og relationerne mellem ord, uanset deres position i teksten.

Kodér og dekodér i Transformere:

I den oprindelige Transformer-model, som beskrevet i artiklen “Attention is All You Need” af Vaswani et al., er arkitekturen inddelt i to hoveddele: kodéren og dekodéren. Begge dele består af lag, der har samme generelle struktur, men tjener forskellige formål.

Kodér:

  • Rolle: Kodérens rolle er at behandle inputdataen og oprette en repræsentation, der fanger relationerne mellem elementerne (som ord i en sætning). Denne del af transformeren genererer ikke nogen ny indhold; den transformerer blot input til en tilstand, som dekodéren kan bruge.
  • Funktionalitet: Hver kodér-lag har self-attention-mekanismer og feed-forward neurale netværk. Self-attention-mekanismen giver hver position i kodéren mulighed for at lytte til alle positioner i den foregående lag af kodéren—derved kan den lære konteksten omkring hvert ord.
  • Kontekstuelle mærkninger: Output fra kodéren er en række vektorer, der repræsenterer inputsekvensen i et højdimensionelt rum. Disse vektorer kaldes ofte kontekstuelle mærkninger, fordi de ikke kun repræsenterer de enkelte ord, men også deres kontekst inden for sætningen.

Dekodér:

  • Rolle: Dekodérens rolle er at generere outputdata sekventielt, én del ad gangen, baseret på input fra kodéren og hvad den har genereret hidtil. Den er designet til opgaver som tekstgenerering, hvor genereringsrækkefølgen er afgørende.
  • Funktionalitet: Dekodér-lag indeholder også self-attention-mekanismer, men de er maskeret for at forhindre positioner i at lytte til efterfølgende positioner. Dette sikrer, at forudsigelsen for en bestemt position kun kan afhænge af kendte output på positioner før den. Desuden indeholder dekodér-lagene en anden attention-mekanisme, der lytter til output fra kodéren, og integrerer konteksten fra input i genereringsprocessen.
  • Sekventiel genereringskapacitet: Dette referer til dekodérens evne til at generere en sekvens én element ad gangen, bygget på, hvad den allerede har produceret. For eksempel, når der genereres tekst, forudsiges det næste ord baseret på konteksten leveret af kodéren og sekvensen af ord, den allerede har genereret.

Hver af disse underlag i kodéren og dekodéren er afgørende for modellens evne til at håndtere komplekse NLP-opgaver. Den multi-hovedede attention-mekanisme giver modellen mulighed for at vælge, hvilke dele af sekvensen den skal fokusere på, og giver en rig forståelse af konteksten.

Populære modeller, der udnytter Transformere

Efter den oprindelige transformer-modells succes var der en eksplosion af nye modeller bygget på denne arkitektur, hver med deres egne innovationer og optimeringer til forskellige opgaver;

BERT (Bidirectional Encoder Representations from Transformers): Introduceret af Google i 2018, revolutionerede BERT måden, hvorpå kontekstuel information integreres i sprogrepræsentationer. Ved at fortræne på en stor korpus af tekst med en maskeret sprogmodel og næste-sætning-forudsigelse, fangede BERT rig, bidirectional kontekst og opnåede state-of-the-art-resultater på en bred vifte af NLP-opgaver.

BERT

BERT

T5 (Text-to-Text Transfer Transformer): Introduceret af Google i 2020, omformulerer T5 alle NLP-opgaver som tekst-til-tekst-problemer, ved hjælp af en samlet tekstbaseret format. Denne tilgang simplificerer processen med at anvende modellen på en række opgaver, herunder oversættelse, summering og spørgsmålssvar.

t5 Architecture

T5 Architecture

GPT (Generative Pre-trained Transformer): Udviklet af OpenAI, startede GPT-linjen af modeller med GPT-1 og nåede GPT-4 i 2023. Disse modeller er fortrænet ved hjælp af unsupervised learning på store mængder tekstdata og finjusteret til forskellige opgaver. Deres evne til at generere kohærent og kontekstuel relevant tekst har gjort dem meget indflydelsesrige i både akademiske og kommercielle AI-anvendelser.

GPT

GPT Architecture

Her er en mere detaljeret sammenligning af T5-, BERT- og GPT-modellerne på tværs af forskellige dimensioner:

1. Tokenisering og Vokabular

  • BERT: Bruger WordPiece-tokenisering med et vokabular på omkring 30.000 tokens.
  • GPT: Anvender Byte Pair Encoding (BPE) med et stort vokabular (f.eks. har GPT-3 et vokabular på 175.000).
  • T5: Anvender SentencePiece-tokenisering, som behandler teksten som rå og ikke kræver forudgående ordsegmentering.

2. Fortræningsobjektiver

  • BERT: Maskeret sprogmodel og næste-sætning-forudsigelse.
  • GPT: Kausalt sprogmodel, hvor hvert token forudsiges det næste token i sekvensen.
  • T5: Anvender en støjen-mål, hvor tilfældige dele af teksten erstattes med en vagt-token, og modellen lærer at genskabe den originale tekst.

3. Inputrepræsentation

  • BERT: Token-, segment- og positionsmærkninger kombineres til at repræsentere input.
  • GPT: Token- og positionsmærkninger kombineres (ingen segmentmærkninger, da det ikke er designet til sætningspar-opgaver).
  • T5: Kun tokenmærkninger med tilføjede relative positionskodninger under attention-operationer.

4. Attention-mekanisme

  • BERT: Bruger absolutte positionskodninger og tillader hver position at lytte til alle positioner til venstre og højre (bidirectional attention).
  • GPT: Bruger også absolutte positionskodninger, men begrænser attention til tidligere tokens (unidirectional attention).
  • T5: Implementerer en variant af transformeren, der bruger relative positionsvægte i stedet for positionskodninger.

5. Modelarkitektur

  • BERT: Kun kodér-arkitektur med multiple lag af transformer-blokke.
  • GPT: Kun dekodér-arkitektur, også med multiple lag, men designet til generative opgaver.
  • T5: Kodér-dekodér-arkitektur, hvor både kodéren og dekodéren består af transformer-lag.

6. Finjusteringsmetode

  • BERT: Tilpasser de sidste skjulte tilstande af den fortrænede model til downstream-opgaver med yderligere outputlag, hvis nødvendigt.
  • GPT: Tilføjer et lineært lag på toppen af transformeren og finjusterer på downstream-opgaven ved hjælp af det samme kausale sprogmodel-objektiv.
  • T5: Omformer alle opgaver til en tekst-til-tekst-format, hvor modellen finjusteres til at generere målsekvensen fra inputsekvensen.

7. Træningsdata og Skala

  • BERT: Trænet på BooksCorpus og den engelske Wikipedia.
  • GPT: GPT-2 og GPT-3 er trænet på diverse datasæt udtrukket fra internettet, med GPT-3 trænet på en endnu større korpus kaldet Common Crawl.
  • T5: Trænet på “Colossal Clean Crawled Corpus”, en stor og ren version af Common Crawl.

8. Håndtering af Kontekst og Bidirectionalitet

  • BERT: Designet til at forstå kontekst i begge retninger samtidigt.
  • GPT: Trænet til at forstå kontekst i en fremadretning (venstre til højre).
  • T5: Kan modelere bidirectional kontekst i kodéren og unidirectional i dekodéren, passende for sekvens-til-sekvens-opgaver.

9. Tilpasning til Downstream-opgaver

  • BERT: Kræver opgave-specifikke hovedlag og finjustering for hver downstream-opgave.
  • GPT: Er generativ og kan være fremkaldt til at udføre opgaver med minimale ændringer i sin struktur.
  • T5: Behandler alle opgaver som “tekst-til-tekst”-problemer, hvilket gør den indreibt til at tilpasse sig til nye opgaver.

10. Fortolkning og Forklarbarhed

  • BERT: Den bidirectionelle natur giver rige kontekstuelle mærkninger, men kan være sværere at fortolke.
  • GPT: Den unidirectionelle kontekst kan være mere direkte at følge, men mangler dybden af bidirectional kontekst.
  • T5: Kodér-dekodér-rammen giver en klar adskillelse af behandlingsstadier, men kan være kompleks at analysere på grund af sin generative natur.

Transformerens Indvirkning på NLP

Transformere har revolutioneret NLP-feltet ved at give modeller mulighed for at behandle sekvenser af data i parallel, hvilket dramatisk øgede hastigheden og effektiviteten af træning af store neurale netværk. De introducerede self-attention-mekanismen, der tillader modeller at vægte betydningen af hver del af inputdataen, uanset afstand i sekvensen. Dette førte til udenforliggende forbedringer i en bred vifte af NLP-opgaver, herunder oversættelse, spørgsmålssvar og tekstsummering.

Forskning fortsætter med at udvide, hvad transformer-baserede modeller kan opnå. GPT-4 og dens samtidige er ikke kun større i skala, men også mere effektive og kapable på grund af fremskridt i arkitektur og træningsmetoder. Teknikker som few-shot learning, hvor modeller udfører opgaver med minimale eksempler, og metoder til mere effektiv transfer learning er i centrum for nuværende forskning.

Sprogmodeller som de baseret på transformere lærer af data, der kan indeholde fordomme. Forskere og praktikere arbejder aktivt på at identificere, forstå og mindske disse fordomme. Teknikker spænder fra kuraterede træningsdatasæt til efter-trænings-justeringer rettet mod lighed og neutralitet.

Jeg har brugt de sidste fem år på at dykke ned i den fascinerende verden af Machine Learning og Deep Learning. Min passion og ekspertise har ført mig til at bidrage til over 50 forskellige software-ingeniørprojekter, med en særlig fokus på AI/ML. Min fortsatte nysgerrighed har også ført mig mod Natural Language Processing, et felt jeg er ivrig efter at udforske yderligere.