Sustainability Circle's "lilla AI skola" om transformers

Vi har alla lärt oss att den dagen då ChatGPT släpptes till allmänheten, 30 november 2022 var dagen då generativ AI blev tillgänglig för den breda massan. Men för oss som är lite mer insatta finns ett annat viktigt datum: 12 juni 2017. Då publicerades artikeln Attention Is All You Need, där transformer-arkitekturen presenterade – en innovation som kom att revolutionera AI.
Vad gjorde transformers så speciella? Tidigare AI-modeller för språkförståelse byggde oftast på Recurrent Neural Network (RNN) eller Convolutional Neural Network (CNN). Dessa var effektiva men hade begränsningar – de bearbetade text sekventiellt och kunde ha svårt att hålla koll på långsiktiga samband i en text. Transformers förändrade spelplanen genom att införa en mekanism som kallas self-attention, där modellen kan väga varje ords betydelse i relation till andra ord, oavsett avstånd i texten.

Parallellisering: Nyckeln till hastighet och skalbarhet
Som ingenjörer vet vi att en av de bästa metoderna för att effektivisera är att arbeta parallellt snarare än sekventiellt. Transformers utnyttjar just detta. Istället för att bearbeta en sekvens steg för steg kan modellen hantera hela sekvenser på en gång. Detta gör att träning och inferens (se fotnot) går betydligt snabbare, samtidigt som större sammanhang i en text kan beaktas.
Resultatet? AI-modeller som förstår språk på en helt ny nivå. ChatGPT, Googles BERT, OpenAIs GPT-4 och många andra bygger alla på transformer-arkitekturen. Faktum är att transformer-baserade modeller idag dominerar allt från maskinöversättning och textgenerering till bildigenkänning och biomedicinsk forskning.
Hur fungerar en transformer?
Transformer-arkitekturen bygger på fem viktiga komponenter:
Self-Attention (Självuppmärksamhet)
Detta är kärnan i transformers. Istället för att bearbeta text sekventiellt (som i RNN) analyserar modellen hela sekvensen samtidigt och avgör vilka ord som är mest relevanta i sammanhanget. Exempelvis kan en transformer förstå att "den" i meningen "Katten hoppade upp på bordet. Den spann nöjt." refererar till "katten" trots att orden är separerade.
Multi-Head Attention (Flera uppmärksamhetsmekanismer parallellt)
Istället för att använda en enda självuppmärksamhetsmekanism används flera parallellt, vilket gör att modellen kan analysera olika aspekter av kontexten samtidigt – till exempel både grammatik och semantik i en mening.
Positional Encoding (Positionskodning)
Eftersom transformers bearbetar hela sekvensen samtidigt behöver modellen en metod för att förstå ordens inbördes ordning. Detta görs genom att tillföra en unik numerisk representation för varje ords position i sekvensen.
Feed-Forward Layers (Framåtdrivande lager)
Efter att uppmärksamheten beräknats bearbetas informationen vidare genom traditionella neurala nätverkslager, vilket möjliggör mer komplexa transformationer av indata.
Encoder-Decoder Arkitektur (i vissa transformers)
Ursprungligen var transformer-modeller byggda som en kombination av en encoder och en decoder:
Encodern omvandlar indata (t.ex. en mening) till en representation som innehåller semantisk information.
Decodern använder denna representation för att generera en ny sekvens, till exempel en översättning.
I många moderna språkmodeller, som GPT, används dock endast decoder-delen för att generera text.
Från språk till multimodal AI
En av de mest spännande egenskaperna hos transformers är deras anpassningsförmåga. De har visat sig vara otroligt effektiva inte bara för text, utan även för andra typer av ostrukturerad data. Genom att tolka exempelvis bilder som sekvenser av datapunkter kan transformers användas i bildigenkänning (exempelvis i Googles ViT – Vision Transformer). De kan också kombinera flera olika datatyper, vilket gör dem viktiga i utvecklingen av multimodal AI – där text, bild, ljud och sensordata kan analyseras tillsammans.
En framtid byggd på transformers
Det är lätt att förstå varför transformers har blivit den dominerande tekniken inom AI. Genom att kunna tränas på enorma datamängder och sedan anpassas till specifika uppgifter med relativt små resurser har de lagt grunden för den AI-revolution vi ser idag. De är inte bara kraftfulla utan också flexibla – en transformer som tränats för engelska kan relativt enkelt justeras för svenska, och en textmodell kan vidareutvecklas för att förstå bilder.
Om du vill fördjupa dig i detaljerna är The Annotated Transformer en utmärkt resurs för att verkligen förstå (?) hur denna teknik fungerar. Och håll ögonen öppna – transformer-revolutionen är långt ifrån över!
Vidare läsning:
Attention Is All You Need (originalartikeln om transformers) → Link
The Illustrated Transformer (visuell förklaring av arkitekturen) → https://jalammar.github.io/illustrated-transformer/
Tenfiftys blogginlägg om transformers: https://tenfifty.io/blogg/tf-1-transformers-tar-over-varlden
Fotonot:
Inferens – när en AI-modell tillämpar sin kunskap
Inferens (från engelskans inference) syftar på den process där en redan tränad AI-modell använder sin inlärda kunskap för att göra förutsägelser eller generera svar baserat på ny indata. Det är alltså själva användningsfasen av en modell, till skillnad från träningsfasen där modellen lär sig mönster från stora datamängder.
Exempel på inferens i AI
När du skriver en fråga till ChatGPT och får ett svar – modellen gör inferens baserat på vad den lärt sig under sin träning.
När en bildigenkänningsmodell identifierar objekt i en bild, t.ex. att en bild föreställer en katt.
När en maskinöversättningsmodell översätter en mening från ett språk till ett annat.
Skillnaden mellan träning och inferens
Träning: Modellen bearbetar stora mängder data, justerar sina parametrar och lär sig mönster.
Inferens: Modellen använder det den lärt sig för att hantera ny indata och generera ett resultat i realtid.
Inferens sker oftast betydligt snabbare än träning eftersom modellen redan är färdiglärd och bara behöver applicera sina kunskaper.
Kommentarer