Hoppa till huvudinnehåll
RISE logo

Resurseffektiv AI för hållbarhet och praktisk nytta

Joakim Nivre, professor i datorlingvistik och senior forskare inom artificiell intelligens

AI-forskningen har på senare år gjort stora framsteg genom att träna allt större modeller på allt större datamängder. Stora modeller kräver stora datorer som i sin tur kräver stora mängder energi – så stora att man nu på allvar har börjat diskutera AI-modellers klimatpåverkan. En långsiktigt hållbar utveckling kräver forskning om resurseffektiv AI. 

Under de senaste fem åren har AI-modellers storlek vuxit exponentiellt. Detta gäller inte minst språkmodeller, alltså de modeller som används för att generera och tolka språk, men som i praktiken också lagrar mycket annan kunskap. 2018 förbluffades forskarvärlden av Googles BERT-modell [1], som med 340 miljoner parametrar var större än någon modell som världen dittills hade skådat. I dag är de största språkmodellerna mer än 1000 gånger så stora med över en halv biljon parametrar [2].   

Exponentiell utveckling av språkmodellers storlek. Källa: Hugging Face Blog

Den främsta drivkraften bakom denna explosionsartade utveckling har varit att uppnå högre kvalitet i språkförståelse och språkgenerering. Forskning har tydligt visat att en ökning av modellens storlek leder till bättre inlärning och generalisering, och de största modellerna kan nu hantera språk på mänsklig nivå för begränsade uppgifter. 

Men utvecklingen har också en baksida. Att träna extremt stora modeller är också extremt resurskrävande. Det krävs enorma mängder träningsdata i form av text, vilket inte finns att uppbringa för alla världens språk. Det krävs superdatorer med kraftfulla grafikprocessorer och stora minnesresurser, vilket kan bli en barriär för mindre forskargrupper och företag som vill delta i utvecklingen. Och det krävs stora mängder energi för att driva datorerna, vilket potentiellt gör utvecklingen både ekologiskt och ekonomiskt mindre hållbar. Sammantaget finns det därför goda skäl att bedriva forskning om hur vi kan göra skapandet och tillämpningen av storskaliga AI-modeller mer resurseffektiv. 

Vad är problemet? 

Att träna stora AI-modeller kräver att storskaliga datorer används under lång tid, vilket förbrukar stora mängder energi. I en uppmärksammad artikel från 2019 gjorde Emma Strubell och kollegor vid University of Massachusetts ett försök att uppskatta energiförbrukning, ekonomisk kostnad och klimatavtryck för den tidens största språkmodeller [3]. Enligt deras uppgifter kräver träningen av en enda modell med drygt 200 miljoner parametrar ca 200 kWh, vilket motsvarar en kostnad av några hundra dollar och ett koldioxidutsläpp på knappt 100 kg. Dessa uppskattningar gäller dock bara träningen av den slutliga modellen. Om man också tar hänsyn till alla de experiment som behöver göras för att optimera modellen, blir det totala koldioxidutsläppet enligt författarna ca 300 ton, vilket motsvarar utsläppen från fem bilar under hela deras livstid.

Koldioxidutsläpp för språkmodell (Transformer) med jämförelser [1]. Källa: MIT Technology Review.

Sedan artikeln publicerades har modellerna som vi tidigare konstaterat blivit 1000 gånger större, så även om mycket har gjorts för att minska energiförbrukningen, kan vi konstatera att AI-modellerna har ett icke-trivialt klimatavtryck. Detta har i sin tur gett upphov till forskningsprogram under rubriken ”grön AI” med krav på att resurseffektivitet ska vara ett viktigt utvärderingskriterium och att forskare ska redovisa resursförbrukningen i anslutning till nya forskningsresultat [4]. 

Utöver hållbarhetsperspektivet finns det också mer praktiska skäl att fråga sig om gigantiska modeller alltid är lösningen på AI-problem. Även om behoven av beräkningskraft är störst i samband med träningen av modellerna, är det inte trivialt att tillämpa de färdigtränade modellerna heller. I själva verket saknar de flesta potentiella användare den digitala infrastruktur som krävs för att sätta modellerna i drift, i många fall också den nödvändiga tekniska kompetensen. En praktisk lösning på detta problem kan vara att modellens utvecklare ger användare tillgång till modellen via ett API, en lösning som har flera fördelar. Dels kan många användare utnyttja samma modell, vilket faktiskt är ett sätt att spara resurser för utveckling, dels behöver inte alla användare själva ha den tekniska kompetensen för att tillämpa modellen i praktiken. API-lösningen är dock inte tillämplig i alla sammanhang. Exempelvis kan det finnas säkerhets- eller sekretesskrav som gör att modellen måste köras på användarens egna system. Det kan också vara så att modellen ska användas i en applikation som körs på en processor med begränsade resurser, till exempel en mobiltelefon. I de senare fallen är det inte praktiskt möjligt att använda de mest storskaliga AI-modellerna. 

Hur gör vi AI-modeller mer resurseffektiva? 

Tekniker för att göra AI-modeller mer effektiva kan grovt indelas i två grupper: modellkomprimering och dynamisk inferens. Modellkomprimering innebär att man på olika sätt minskar modellernas storlek, vilket minskar minnesbehov och ofta även beräkningstid [5]. För att förstå hur dessa metoder fungerar är det viktigt att komma ihåg att en modells miljontals parametrar, eller vikter, väsentligen är flyttal som behöver adderas eller multipliceras när modellen används för beräkningar. Till de viktigaste metoderna för modellkomprimering hör:   

  • Viktdelning innebär att olika delar av en modell använder samma vikter, vilket minskar modellens storlek men inte beräkningstiden.  

  • Beskärning (eng. pruning) innebär att man efter träning avlägsnar vikter som är mindre betydelsefulla. 

  • Kvantisering innebär att man reducerar vikternas numeriska precision, till exempel från 32 till 16 bitar eller till och med till heltal.    

  • Kunskapsdestillering innebär att man överför kunskap från en större modell (lärare) till en mindre modell (elev) genom en träningsprocess där man söker minimera skillnaden mellan elevens och lärarens prediktioner. 

Kunskapsdestillering skapar en mindre modell med utgångspunkt från en större. Källa: Analytics Vidhya.

Dynamisk inferens handlar i stället om att reducera beräkningstiden för en stor modell genom att ta olika genvägar [6]: 

  • Skumning (eng. skimming) innebär att man skippar visa tidssteg eller allokerar olika beräkningskraft till dem.  

  • MoE (eng. mixture of experts) innebär att en modell består av flera sub-modeller (experter) som var för sig hanterar olika typer av indata.  

  • Tidig utgång (eng. early exit) innebär att man avslutar beräkningen utan att ha gått igenom modellens alla lager.  

Oavsett vilka tekniker som används för att förbättra resurseffektivitet är det viktigt att ha en helhetssyn på problemet, där man dels tar hänsyn till olika typer av resurser, dels ser till hela modellens livscykel inklusive träning och (långsiktig) drift.  

Resurseffektiv AI på RISE 

På RISE bedrivs forskning om resurseffektiv språkteknologi (och AI mera generellt) på flera olika fronter. I samarbete med AI Sweden, WASP:s forskningsarena för media och språk (WARA-ML) och NVIDIA arbetar vi med att ta fram storskaliga språkmodeller för svenska och att göra dem tillgängliga för svenska företag och offentliga organisationer på ett resurseffektivt och ändamålsenligt sätt [7]. Vi bedriver också forskning om modellkomprimering, särskilt kunskapsdestillering, och om mätmetoder för resurseffektivitet. Den senare forskningen sker i samverkan med vårt eget datacenter ICE, som har ett särskilt uppdrag att bidra till hållbara och effektiva datacenterlösningar.   

Referenser

+
Joakim Nivre

Kontaktperson

Joakim Nivre

Forskare

+46 10 228 44 44

Läs mer om Joakim

Kontakta Joakim
CAPTCHA

* Obligatoriskt Genom att skicka in formuläret behandlar RISE dina personuppgifter.