(TF)² #1 - Transformers tar över världen!

Enligt Wikipedia var Autoboternas ledare Optimus Prime, som dog i långfilmen Transformers (1986). Hans efterträdare blev till slut Hot Rod som bytte namn till Rodimus Prime.

Detta har inget med dagens ämne att göra. I stället tänkte jag skriva om transformermodeller, ett sorts neuronnät som håller på att ta över världen, framförallt när det gäller sekventiell data.

I ett traditionellt neuronnät (en så kallad flerlagersperceptron), så uttrycker du ditt problem i ett fixerat antal inparametrar, som alla har var sin betydelse, lite som kolumnerna i ett kalkylark. Men ofta behöver man hantera sekventiell data som inte har en fördefinierad längd. Det kan till exempel handla om tidsserieanalys, ljud, betydelsen i en text (en sekvens av ord) eller ingredienserna i ett recept. Det vanligaste sättet att hantera detta har varit med olika sorters rekursiva neurala nätverk. De fungerar relativt väl men har kända begränsningar, till exempel så går det inte att parallellisera en sekventiell beräkning.

En transformer-modell är, förenklat, en modell där en hel sekvens (upp till en viss maxlängd) skickas in parallellt, tillsammans med vilken position i sekvensen som varje element har. Detta gör bland annat att nätverket själv kan lära sig hur olika positioner är relaterade och det går att beräkna parallellt. Så är det ofta i praktiken, det är inte de vackraste matematiska modellerna som vinner, utan de som vinner hårdvarulotteriet, alltså att de råkar gå att implementera snabbt på den hårdvara som råkar finnas tillgänglig till ett överkomligt pris.

Just det där att de har så många frihetsgrader kring att lära sig hur delar av en sekvens är kopplad gör att de blir som bäst när de tränas på enorma mängder data, men när det väl har gjorts så har de lärt sig många lager av struktur och abstraktion. Det brukar därför vara så att man kan ta ett förtränat nätverk och sedan träna om det på en egen liknande uppgift, med relativt små resurser. En enorm engelsk text-språkmodell kan relativt enkelt lära sig svenska. Samma med ljud och bilder. Detta är den största charmen med transformermodeller - trots att de kräver enorma mängder data i början, så blir de i stället de mest datasnåla algoritmerna på nya relaterade dataset. De lär sig det man i statistik kallar en prior. De får förkunskap.

Om du vill gräva dig ned i detaljerna så är The Annotated Transformer en bra resurs.

Transformer-modeller såg dagens ljus 2017 och har sedan dess blivit enormt framgångsrika för text. Till exempel är den ruskigt duktiga textgenereraren GPT-3 en transformermodell. Google har tagit fram en egen som heter BERT och nuförtiden används för att förstå de flesta sökningar som de får in på engelska. Det gör den till världens förmodligen mest använda AI.

BERT finns tränad på svenska av bland annat Kungliga Biblioteket och hos Hugging Face går den att testa online på uppgiften att gissa vad som borde stå bakom ett maskerat ord.

I december 2020 så visade Google en bild-transformermodell (ViT) som helt enkelt gör om en bild till en symbolsekvens på ett totalt naivt sätt, så att den kan skickas genom en vanlig text-transformer. Detta visar hur generell denna grundläggande nätverkstyp är.

Precis som för text, så blir det bäst om ViT får förtränas på en löjlig massa bilder till en löjlig kostnad och att man sedan använder den som grund för att finjustera vikterna till sitt eget problem. Då blir den i stället billigare att träna än konvolutionsmodellerna (CNN) som är standard för bild.

Ytterligare en anledning till att tro att denna typ tar över för ostrukturerad data är att läsa detta helt färska nyhetsbrev från Papers With Code. Hoppa ned till sektionen 10 Novel Applications using Transformers och se allt som de används till.

Detta har varit första delen av Tenfifty Teknikfredag (TF)², som varannan fredag kommer diskutera AI-världen ur ett svenskt och internationellt perspektiv.

Håll utsikt efter transformer-revolutionen 2021!

David Fendrich

CTO, Tenfifty

Föregående
Föregående

(TF)² #2 - Svensk textgenerering och GPT-3

Nästa
Nästa

Del 4 – En process som funkar, oavsett bransch