AI-modeller och plattformar
NLP:s uppgång med transformermodeller | En omfattande analys av T5, BERT och GPT
Naturlig språkbehandling (NLP) har upplevt några av de mest betydelsefulla genombrotten på senare år, främst tack vare transformerarkitekturen. Dessa genombrott har inte bara förbättrat maskiners förmåga att förstå och generera mänskligt språk, utan har också omdefinierat landskapet för många applikationer, från sökmotorer till konversationsbaserad AI.
För att fullt ut uppskatta transformerarnas betydelse måste vi först titta tillbaka på föregångarna och byggstenarna som lade grunden för denna revolutionerande arkitektur.
Tidiga NLP-tekniker: Grunden före transformer
Ordinbäddningar: Från one-hot till Word2Vec
I traditionella NLP-ansatser var representationen av ord ofta bokstavligen och saknade någon form av semantisk eller syntaktisk förståelse. One-hot-kodning är ett exempel på denna begränsning.
One-hot-kodning är en process där kategoriska variabler konverteras till en binär vektorrepresentation där endast en bit är “het” (satt till 1) medan alla andra är “kalla” (satt till 0). I NLP-sammanhang representeras varje ord i en ordbok av one-hot-vektorer där varje vektor är storleken på ordboken, och varje ord representeras av en vektor med alla 0 och en 1 på indexet som motsvarar ordet i ordboken.
Exempel på one-hot-kodning
Anta att vi har en liten ordbok med endast fem ord: [“kung”, “drottning”, “man”, “kvinna”, “barn”]. One-hot-kodningsvektorerna för varje ord skulle se ut så här:
- “kung” -> [1, 0, 0, 0, 0]
- “drottning” -> [0, 1, 0, 0, 0]
- “man” -> [0, 0, 1, 0, 0]
- “kvinna” -> [0, 0, 0, 1, 0]
- “barn” -> [0, 0, 0, 0, 1]
Matematisk representation
Om vi betecknar som storleken på vår ordbok och som den one-hot-vektorrepresentationen av det i-te ordet i ordboken, skulle den matematiska representationen av vara:
Den stora nackdelen med one-hot-kodning är att den behandlar varje ord som en isolerad enhet, utan någon relation till andra ord. Det resulterar i glesa och högdimensionella vektorer som inte fångar någon semantisk eller syntaktisk information om orden.
Införandet av ordinbäddningar, mest anmärkningsvärt Word2Vec, var en vändpunkt i NLP. Utvecklad av ett team på Google (GOOGL ) lett av Tomas Mikolov 2013, representerade Word2Vec ord i ett tät vektorrum, som fångade syntaktiska och semantiska ordrelationer baserat på deras sammanhang inom stora korpusar av text.
Till skillnad från one-hot-kodning producerar Word2Vec tätare vektorer, vanligtvis med hundratals dimensioner. Ord som förekommer i liknande sammanhang, som “kung” och “drottning”, kommer att ha vektorrepresentationer som ligger nära varandra i vektorrummet.
För illustration, låt oss anta att vi har tränat en Word2Vec-modell och nu representerar ord i ett hypotetiskt 3-dimensionellt rum. Inbäddningarna (som vanligtvis är mer än 3D men reduceras här för enkelhetens skull) kan se ut så här:
- “kung” -> [0,2, 0,1, 0,9]
- “drottning” -> [0,21, 0,13, 0,85]
- “man” -> [0,4, 0,3, 0,2]
- “kvinna” -> [0,41, 0,33, 0,27]
- “barn” -> [0,5, 0,5, 0,1]
Medan dessa siffror är fiktiva, illustrerar de hur liknande ord har liknande vektorer.
Matematisk representation
Om vi representerar Word2Vec-inbäddningen av ett ord som , och vår inbäddningsrymd har dimensioner, då kan representeras som:
Semantiska relationer
Word2Vec kan till och med fånga komplexa relationer, som analogier. Till exempel, den berömda relationen som fångas av Word2Vec-inbäddningar är:
vektor(“kung”) – vektor(“man”) + vektor(“kvinna”)≈vektor(“drottning”)
Detta är möjligt eftersom Word2Vec justerar ordvektorerna under träning så att ord som delar samma sammanhang i korpusen placeras nära varandra i vektorrummet.
Word2Vec använder två huvudsakliga arkitekturer för att producera en distribuerad representation av ord: Continuous Bag-of-Words (CBOW) och Skip-Gram. CBOW förutsäger ett målord från dess omgivande sammanhangsord, medan Skip-Gram gör det omvända, förutsäger sammanhangsord från ett målord. Detta tillät maskiner att börja förstå ordanvändning och betydelse på ett mer nyanserat sätt.
Sequensmodellering: RNN och LSTM
Medan fältet utvecklades, skiftade fokus mot att förstå sekvenser av text, vilket var avgörande för uppgifter som maskinöversättning, textsammanfattning och sentimentanalys. Rekurrenta neurala nätverk (RNN) blev hörnstenen för dessa applikationer på grund av deras förmåga att hantera sekventiell data genom att upprätthålla en form av minne.
Men RNN hade inte utan begränsningar. De kämpade med långsiktiga beroenden på grund av det försvinnande gradientproblemet, där information förloras över långa sekvenser, vilket gjorde det svårt att lära sig korrelationer mellan avlägsna händelser.
Långsiktiga minnesnätverk (LSTM), introducerade av Sepp Hochreiter och Jürgen Schmidhuber 1997, adresserade detta problem med en mer sofistikerad arkitektur. LSTM har grindar som kontrollerar informationsflödet: inmatningsgrinden, glömskegrinden och utmatningsgrinden. Dessa grindar bestämmer vilken information som sparas, uppdateras eller kasseras, vilket tillåter nätverket att bevara långsiktiga beroenden och signifikant förbättra prestandan på en mängd olika NLP-uppgifter.
Transformerarkitekturen
NLP-landskapet genomgick en dramatisk förändring med introduktionen av transformermodellen i den banbrytande artikeln “Attention is All You Need” av Vaswani et al. 2017. Transformerarkitekturen avviker från den sekventiella bearbetningen av RNN och LSTM och använder istället en mekanism som kallas “självuppmärksamhet” för att väga betydelsen av olika delar av indata.
Kodare och avkodare i transformer:
I den ursprungliga transformermodellen, som beskrivs i artikeln “Attention is All You Need” av Vaswani et al., delas arkitekturen in i två huvuddelar: kodaren och avkodaren. Båda delarna består av lager som har samma allmänna struktur men tjänar olika syften.
Kodare:
- Roll: Kodarens roll är att bearbeta indata och skapa en representation som fångar relationerna mellan elementen (som ord i en mening). Denna del av transformermodellen genererar inte någon nytt innehåll; den omvandlar bara indata till en tillstånd som avkodaren kan använda.
- Funktionalitet: Varje kodarlager har självuppmärksamhetsmekanismer och feed-forward neurala nätverk. Självuppmärksamhetsmekanismen tillåter varje position i kodaren att uppmärksamma alla positioner i föregående lager av kodaren – således kan den lära sig sammanhanget runt varje ord.
- Kontextuella inbäddningar: Utdata från kodaren är en serie vektorer som representerar inmatningssekvensen i ett högdimensionellt rum. Dessa vektorer kallas ofta kontextuella inbäddningar eftersom de inte bara kodar enskilda ord utan också deras sammanhang inom meningen.
Avkodare:
- Roll: Avkodarens roll är att generera utdata sekventiellt, en del i taget, baserat på indata den får från kodaren och vad den har genererat hittills. Den är utformad för uppgifter som textgenerering, där ordningen på genereringen är avgörande.
- Funktionalitet: Avkodarlager innehåller också självuppmärksamhetsmekanismer, men de är maskerade för att förhindra att positioner uppmärksammar efterföljande positioner. Detta säkerställer att förutsägelsen för en viss position endast kan bero på kända utdata vid positioner före den. Dessutom innehåller avkodarlager en andra uppmärksamhetsmekanism som uppmärksammar utdata från kodaren, vilket integrerar sammanhanget från indata i genereringsprocessen.
- Sekventiell generationsförmåga: Detta avser avkodarens förmåga att generera en sekvens en del i taget, byggande på vad den redan har genererat. Till exempel, när man genererar text, förutsäger avkodaren nästa ord baserat på sammanhanget som tillhandahålls av kodaren och sekvensen av ord den redan har genererat.
Var och en av dessa underlager inom kodaren och avkodaren är avgörande för modellens förmåga att hantera komplexa NLP-uppgifter. Den multi-huvuduppmärksamhetsmekanismen, i synnerhet, tillåter modellen att selektivt fokusera på olika delar av sekvensen, vilket ger en rik förståelse av sammanhanget.
Populära modeller som använder transformer
Efter den ursprungliga transformermodellens framgång var det en explosion av nya modeller byggda på dess arkitektur, var och en med sina egna innovationer och optimeringar för olika uppgifter:
BERT (Bidirectional Encoder Representations from Transformers): Introducerad av Google 2018, revolutionerade BERT sättet att integrera kontextuell information i språkrepresentationer. Genom att förträna på en stor korpus av text med en maskerad språkmodell och nästa meningsprediktion, fångar BERT rik bidirektionell kontext och har uppnått toppresultat på en mängd olika NLP-uppgifter.
T5 (Text-to-Text Transfer Transformer): Introducerad av Google 2020, omformulerar T5 alla NLP-uppgifter som text-till-text-problem, med en enhetlig textbaserad format. Detta tillvägagångssätt förenklar processen att applicera modellen på en mängd olika uppgifter, inklusive översättning, sammanfattning och frågesvar.
GPT (Generative Pre-trained Transformer): Utvecklad av OpenAI, började GPT-linjen av modeller med GPT-1 och nådde GPT-4 2023. Dessa modeller är förtränade med hjälp av ostrukturerad inlärning på enorma mängder textdata och finjusterade för olika uppgifter. Deras förmåga att generera sammanhängande och kontextuellt relevant text har gjort dem mycket inflytelserika i både akademiska och kommersiella AI-applikationer.
Här är en mer detaljerad jämförelse av T5-, BERT- och GPT-modellerna över olika dimensioner:
1. Tokenisering och ordbok
- BERT: Använder WordPiece-tokenisering med en ordboksstorlek på cirka 30 000 token.
- GPT: Använder Byte Pair Encoding (BPE) med en stor ordboksstorlek (t.ex. GPT-3 har en ordboksstorlek på 175 000).
- T5: Använder SentencePiece-tokenisering som behandlar texten som rå och inte kräver för-segmenterade ord.
2. Förträningsobjektiv
- BERT: Maskerad språkmodellering (MLM) och nästa meningsprediktion (NSP).
- GPT: Kausalt språkmodellering (CLM), där varje token förutsäger nästa token i sekvensen.
- T5: Använder ett bullerobjektiv där slumpmässiga delar av texten ersätts med en vaktpost och modellen lär sig att återställa den ursprungliga texten.
3. Indatapresentation
- BERT: Token-, segment- och positionsembendningar kombineras för att representera indata.
- GPT: Token- och positionsembendningar kombineras (inga segmentembendningar eftersom det inte är utformat för meningsparuppgifter).
- T5: Endast tokenembendningar med tillagda relativ positionskodning under uppmärksamhetsoperationer.
4. Uppmärksamhetsmekanism
- BERT: Använder absolut positionskodning och tillåter varje token att uppmärksamma alla token till vänster och höger (bidirektionell uppmärksamhet).
- GPT: Använder också absolut positionskodning men begränsar uppmärksamheten till föregående token (unidirektionell uppmärksamhet).
- T5: Implementerar en variant av transformer som använder relativ positionssbias istället för positionsembendningar.
5. Modellarkitektur
- BERT: Endast kodararkitektur med flera lager av transformerblock.
- GPT: Endast avkodararkitektur, också med flera lager men utformad för generativa uppgifter.
- T5: Kodar-avkodararkitektur, där både kodaren och avkodaren består av transformerlager.
6. Finjusteringsansats
- BERT: Anpassar de sista dolda tillstånden av den förtränade modellen för nedströmsuppgifter med ytterligare utdatalager om nödvändigt.
- GPT: Lägger till ett linjärt lager ovanpå transformer och finjusterar på nedströmsuppgiften med hjälp av samma kausala språkmodellering som används under förträning.
- T5: Omvandlar alla uppgifter till text-till-text-format, där modellen finjusteras för att generera målsekvensen från inmatningssekvensen.
7. Träningsdata och skala
- BERT: Tränad på BookCorpus och engelska Wikipedia.
- GPT: GPT-2 och GPT-3 har tränats på diversifierade dataset extraherade från internet, med GPT-3 tränad på en ännu större korpus kallad Common Crawl.
- T5: Tränad på “Colossal Clean Crawled Corpus”, som är en stor och ren version av Common Crawl.
8. Hantering av sammanhang och bidirektionalitet
- BERT: Utformad för att förstå sammanhang i båda riktningarna samtidigt.
- GPT: Tränad för att förstå sammanhang i en riktning (vänster till höger).
- T5: Kan modellera bidirektionellt sammanhang i kodaren och unidirektionellt i avkodaren, lämpligt för sekvens-till-sekvens-uppgifter.
9. Anpassningsförmåga till nedströmsuppgifter
- BERT: Kräver uppgiftsspecifika huvudlager och finjustering för varje nedströmsuppgift.
- GPT: Är generativt i naturen och kan promptas för att utföra uppgifter med minimala ändringar av sin struktur.
- T5: Behandlar varje uppgift som ett “text-till-text”-problem, vilket gör den inneboende flexibel och anpassningsbar till nya uppgifter.
10. Tolkningsbarhet och förklarbarhet
- BERT: Den bidirektionella naturen ger rika kontextuella inbäddningar men kan vara svårare att tolka.
- GPT: Den unidirektionella kontexten kan vara mer lätt att följa men saknar djupet av bidirektionell kontext.
- T5: Kodar-avkodararkitekturen ger en tydlig separation av bearbetningssteg men kan vara komplex att analysera på grund av sin generativa natur.
Transformerars påverkan på NLP
Transformerar har revolutionerat NLP-fältet genom att möjliggöra för modeller att bearbeta sekvenser av data parallellt, vilket dramatiskt ökade hastigheten och effektiviteten vid träning av stora neurala nätverk. De introducerade självuppmärksamhetsmekanismen, som tillåter modeller att väga betydelsen av varje del av indata, oavsett avstånd inom sekvensen. Detta ledde till oöverträffade förbättringar i en mängd olika NLP-uppgifter, inklusive men inte begränsat till översättning, frågesvar och textsammanfattning.
Forskning fortsätter att driva gränserna för vad transformerbaserade modeller kan uppnå. GPT-4 och dess samtida modeller är inte bara större i skala utan också mer effektiva och kapabla tack vare framsteg i arkitektur och träningsmetoder. Tekniker som few-shot learning, där modeller presterar uppgifter med minimala exempel, och metoder för mer effektiv transferinlärning är i fokus för nuvarande forskning.
Språkmodellerna, som de baserade på transformer, lär sig från data som kan innehålla fördomar. Forskare och praktiker arbetar aktivt för att identifiera, förstå och mildra dessa fördomar. Tekniker sträcker sig från kuraterade träningsdataset till post-träningsjusteringar inriktade på rättvisa och neutralitet.















