AI op apparaten en het uitvoeren van grote taalmodellen op kleinere apparaten zijn de afgelopen jaren een van de belangrijkste aandachtspunten geweest voor leiders in de AI-industrie. Dit onderzoeksgebied behoort tot de meest kritische op het gebied van AI, met het potentieel om de rol van AI, computers en mobiele apparaten in het dagelijks leven diepgaand te beïnvloeden en opnieuw vorm te geven. Dit onderzoek vindt plaats achter de schermen, grotendeels onzichtbaar voor gebruikers, maar weerspiegelt toch de evolutie van computers – van machines die ooit hele kamers in beslag namen en alleen toegankelijk waren voor overheden en grote bedrijven, tot de smartphones die nu comfortabel in onze zakken verborgen zijn.
Nu worden de meeste grote taalmodellen ingezet in cloudomgevingen waar ze gebruik kunnen maken van de immense rekenkracht van datacenters. Deze datacenters zijn uitgerust met gespecialiseerde hardware, zoals GPU’s en TPU’s, of zelfs gespecialiseerde AI-chips, ontworpen om de intensieve werklast aan te kunnen die LLM’s vereisen. Maar deze afhankelijkheid van de cloud brengt aanzienlijke uitdagingen met zich mee:
Hoge kosten: Clouddiensten zijn duur. Het op grote schaal uitvoeren van LLM’s vereist continue toegang tot krachtige servers, wat de operationele kosten kan opdrijven. Voor startups of individuele ingenieurs kunnen deze kosten onbetaalbaar zijn, waardoor wordt beperkt wie realistisch gezien van deze krachtige technologie kan profiteren.
Zorgen over gegevensprivacy: Wanneer gebruikers communiceren met cloudgebaseerde LLM’s, moeten hun gegevens voor verwerking naar externe servers worden verzonden. Dit creëert een potentiële kwetsbaarheid, omdat gevoelige informatie zoals persoonlijke gesprekken, zoekgeschiedenis of financiële gegevens kunnen worden onderschept of verkeerd worden verwerkt.
Milieu-impact: Cloud computing op deze schaal verbruikt enorme hoeveelheden energie. Datacenters hebben niet alleen continue stroom nodig voor berekeningen, maar ook voor het koelen en onderhouden van de infrastructuur, wat leidt tot een aanzienlijke ecologische voetafdruk. Met de mondiale drang naar duurzaamheid moet dit probleem worden aangepakt. Bijvoorbeeld een recent rapport van Google liet zien een toename van 48% in de uitstoot van broeikasgassen in de afgelopen vijf jaar, waarbij een groot deel van deze stijging wordt toegeschreven aan de groeiende vraag naar AI-technologie.
Dat is de reden waarom deze kwestie de aandacht blijft trekken van marktleiders, die aanzienlijke middelen investeren om het probleem aan te pakken, maar ook van kleinere onderzoekscentra en open-sourcegemeenschappen. De ideale oplossing zou zijn om gebruikers in staat te stellen deze krachtige modellen rechtstreeks op hun apparaten te gebruiken, waardoor de noodzaak van constante cloudconnectiviteit wordt omzeild. Als u dit wel doet, kunnen de kosten worden verlaagd, de privacy worden verbeterd en de milieu-impact van AI worden verminderd. Maar dit is gemakkelijker gezegd dan gedaan.
De meeste persoonlijke apparaten, vooral smartphones, missen de rekenkracht om volledige LLM’s uit te voeren. Een iPhone met 6 GB RAM of een Android-apparaat met maximaal 12 GB RAM is bijvoorbeeld geen partij voor de mogelijkheden van cloudservers. Zelfs Meta’s kleinste LLM, LLaMA-3.1 8B, vereist minimaal 16 GB RAM – en realistisch gezien is er meer nodig voor behoorlijke prestaties zonder de telefoon te overbelasten. Ondanks de vooruitgang op het gebied van mobiele processors is de machtskloof nog steeds aanzienlijk.
Dit is de reden waarom de industrie zich richt op het optimaliseren van deze modellen – ze kleiner, sneller en efficiënter maken zonder al te veel prestaties op te offeren.
Dit artikel onderzoekt belangrijke recente onderzoeksartikelen en methoden die gericht zijn op het bereiken van dit doel, waarbij wordt benadrukt waar het veld momenteel staat:
- Meta’s MobileLLM: Optimalisatie van sub-miljard parametertaalmodellen voor gebruiksscenario’s op apparaten
- Huawei’s Kronecker-ontledingsmethode voor GPT-compressie
- “TQCompressor: Verbetering van tensor-decompositiemethoden in neurale netwerken via permutaties”, een recent open-sourceproject en onderzoeksartikel dat de decompositiemethode van Kronecker verbeterde, waardoor GPT-modellen 1,5x konden worden gecomprimeerd zonder de tijdsvereisten aanzienlijk te verhogen, een onderzoek waarbij ik als co-auteur betrokken was.
Meta’s benadering voor het ontwerpen van LLM’s voor gebruiksscenario’s op het apparaat
Deze zomer introduceerden Meta AI-onderzoekers een nieuwe manier om efficiënte taalmodellen te creëren, specifiek voor smartphones en andere apparaten met beperkte middelen, en brachten een model uit met de naam MobileLLM, gebouwd met behulp van deze aanpak.
In plaats van te vertrouwen op modellen met miljarden of zelfs biljoenen parameters – zoals GPT-4 – concentreerde het team van Meta zich op het optimaliseren van modellen met minder dan 1 miljard parameters.
De auteurs ontdekten dat het ‘diepgaand’ schalen van het model beter werkt dan ‘in de breedte’ voor kleinere modellen met maximaal of rond de 1 miljard parameters, waardoor ze beter geschikt zijn voor smartphones. Met andere woorden: het is effectiever om een groter aantal kleinere lagen te hebben dan een paar grote. Hun model met 125 miljoen parameters, MobileLLM, heeft bijvoorbeeld 30 lagen, terwijl modellen als GPT-2, BERT en de meeste modellen met 100-200 miljoen parameters doorgaans ongeveer 12 lagen hebben. Modellen met hetzelfde aantal parameters maar een hoger aantal lagen (in tegenstelling tot grotere parameters per laag) vertoonden een betere nauwkeurigheid bij verschillende benchmarkingtaken, zoals Winogrande en Hellaswag.
Grafieken uit Meta’s onderzoek laten zien dat bij vergelijkbare modelgroottes diepere en dunnere modellen over het algemeen beter presteren dan hun bredere en ondiepere tegenhangers bij verschillende taken, zoals zero-shot redeneren met gezond verstand, het beantwoorden van vragen en begrijpend lezen.
Afbeelding tegoed: MobileLLM: Optimalisatie van sub-miljard parametertaalmodellen voor gebruiksscenario’s op apparaten
Het delen van lagen is een andere techniek die in het onderzoek wordt gebruikt om parameters te verminderen en de efficiëntie te verbeteren. In plaats van lagen binnen het neurale netwerk te dupliceren, worden de gewichten van een enkele laag meerdere keren hergebruikt. Nadat bijvoorbeeld de uitvoer van één laag is berekend, kan deze worden teruggekoppeld naar de invoer van diezelfde laag. Deze aanpak vermindert effectief het aantal parameters, omdat de traditionele methode het meerdere keren dupliceren van de laag zou vereisen. Door lagen te hergebruiken, bereikten ze aanzienlijke efficiëntiewinsten zonder dat dit ten koste ging van de prestaties.
Zoals blijkt uit de tabel uit het onderzoek, hebben andere modellen met 125M-parameters doorgaans 10-12 lagen, terwijl MobileLLM er 30 heeft. MobileLLM presteert beter dan de anderen op de meeste benchmarks (waarbij de benchmarkleider vetgedrukt is).
Afbeelding tegoed: MobileLLM: Optimalisatie van sub-miljard parametertaalmodellen voor gebruiksscenario’s op apparaten
In hun paper introduceerde Meta het MobileLLM-model in twee versies: 125 miljoen en 350 miljoen parameters. Ze hebben de trainingscode voor MobileLLM openbaar gemaakt op GitHub. Later publiceerde Meta ook 600 miljoen, 1 miljard en 1,5 miljard versies van het model.
Deze modellen lieten indrukwekkende verbeteringen zien in taken als zero-shot gezond verstand redeneren, het beantwoorden van vragen en begrijpend lezen, en presteerden daarmee beter dan eerdere state-of-the-art methoden. Bovendien hebben verfijnde versies van MobileLLM hun effectiviteit aangetoond in algemene applicaties op het apparaat, zoals chat en API-oproepen, waardoor ze bijzonder geschikt zijn voor de eisen van mobiele omgevingen.
Meta’s boodschap is duidelijk: Als we willen dat modellen op mobiele apparaten werken, moeten ze anders worden gemaakt.
Maar dit is niet vaak het geval. Neem bijvoorbeeld de populairste modellen in de AI-wereld LLaMA3Qwen2 of Gemma-2 — ze hebben niet alleen veel meer parameters; ze hebben ook minder maar veel grotere lagen, wat het praktisch erg moeilijk maakt om deze modellen op mobiele apparaten te gebruiken.
Het comprimeren van bestaande LLM’s
Meta’s recente onderzoek wijkt af van het comprimeren van bestaande neurale netwerken en presenteert een nieuwe benadering voor het ontwerpen van modellen specifiek voor smartphones. Miljoenen ingenieurs over de hele wereld die modellen niet vanaf het begin bouwen – en laten we eerlijk zijn, dat zijn de meeste van hen – moeten echter nog steeds met die brede, parameterzware modellen werken. Compressie is niet alleen een optie; het is een noodzaak voor hen.
Het punt is: hoewel de bevindingen van Meta baanbrekend zijn, is de realiteit dat open-sourcemodellen niet noodzakelijkerwijs met deze principes in gedachten worden gebouwd. De meeste geavanceerde modellen, waaronder Meta’s eigen LLaMA, zijn nog steeds ontworpen voor grote servers met krachtige GPU’s. Deze modellen hebben vaak minder maar veel bredere lagen. LLaMA3 8B heeft bijvoorbeeld bijna 65 keer meer parameters dan MobileLLM-125M, ook al hebben beide modellen ongeveer 30 lagen.
Dus, wat is het alternatief? U kunt vanaf het begin nieuwe modellen blijven maken en deze afstemmen op mobiel gebruik. Of u kunt bestaande bestanden comprimeren.
Bij het efficiënter maken van deze grote, brede modellen voor mobiele apparaten maken ingenieurs vaak gebruik van een reeks beproefde compressietechnieken. Deze methoden zijn kwantisering, snoeien, matrixontleding en kennisdistillatie.
Kwantisering
Een van de meest gebruikte methoden voor compressie van neurale netwerken is kwantisering, waarvan bekend is dat het eenvoudig is en de prestaties effectief behoudt.
Afbeelding tegoed: Jan Marcel Kezmann op Medium
Het basisconcept is dat een neuraal netwerk bestaat uit getallen die zijn opgeslagen in matrices. Deze getallen kunnen in verschillende formaten worden opgeslagen, zoals getallen met drijvende komma of gehele getallen. U kunt de grootte van het model drastisch verkleinen door deze getallen te converteren van een complexer formaat, zoals float32, naar een eenvoudiger formaat, zoals int8. Een model dat aanvankelijk 100 MB in beslag nam, kon bijvoorbeeld met behulp van kwantisering worden gecomprimeerd tot slechts 25 MB.
Snoeien
Zoals gezegd bestaat een neuraal netwerk uit een reeks matrices gevuld met getallen. Snoeien is het proces waarbij ‘onbelangrijke’ getallen, ook wel ‘gewichten’ genoemd, uit deze matrices worden verwijderd.
Door deze onbelangrijke gewichten te verwijderen wordt het gedrag van het model minimaal beïnvloed, maar worden de geheugen- en rekenvereisten aanzienlijk verminderd.
Matrix-ontleding
Matrixontleding is een andere effectieve techniek voor het comprimeren van neurale netwerken. Het idee is om grote matrices in het netwerk op te splitsen (of te ‘ontleden’) in kleinere, eenvoudigere. In plaats van een volledige matrix op te slaan, kan deze worden ontleed in twee of meerdere kleinere matrices. Wanneer ze met elkaar worden vermenigvuldigd, produceren deze kleinere matrices een resultaat dat hetzelfde is of zeer dicht bij het origineel ligt. Hierdoor kunnen we een grote matrix vervangen door kleinere zonder het gedrag van het model te veranderen. Deze methode is echter niet feilloos; soms kunnen de ontlede matrices het origineel niet perfect repliceren, wat resulteert in een kleine benaderingsfout. Toch is de afweging in termen van efficiëntie vaak de moeite waard.
Kennisdistillatie
Kennisdistillatie, geïntroduceerd door Hinton et al. in 2015 is een eenvoudige maar effectieve methode om een kleiner, efficiënter model (het “studentenmodel”) te creëren door kennis over te dragen van een vooraf getraind, groter model (het “lerarenmodel”).
Met behulp van kennisdistillatie kan een willekeurig ontworpen kleiner taalmodel worden getraind om het gedrag van een groter model na te bootsen. Het proces werkt door beide modellen dezelfde gegevens te geven, en het kleinere leert vergelijkbare resultaten te produceren als die van het grotere model. In wezen is het leerlingmodel gebaseerd op de kennis van het lerarenmodel, waardoor het op vergelijkbare wijze kan presteren, maar met veel minder parameters.
Een opmerkelijk voorbeeld is DistilBERT (Sanh et al. 2019), dat met succes de parameters van BERT met 40% verlaagde, terwijl 97% van de prestaties behouden bleef en 71% sneller draaide.
Destillatie kan eenvoudig worden gecombineerd met kwantisering, snoeien en matrixdecompositie, waarbij het lerarenmodel de originele versie is en de leerling de gecomprimeerde versie. Deze combinaties helpen de nauwkeurigheid van het gecomprimeerde model te verfijnen. U kunt bijvoorbeeld GPT-2 comprimeren met behulp van matrixdecompositie en vervolgens kennisdistillatie toepassen om het gecomprimeerde model te trainen om de originele GPT-2 na te bootsen.
Hoe u bestaande modellen kunt comprimeren voor AI-gebruiksscenario’s op het apparaat
Een paar jaar geleden richtte Huawei zich ook op het mogelijk maken van AI-modellen op apparaten en publiceerde het onderzoek naar het comprimeren van GPT-2. De onderzoekers gebruikten een matrixdecompositiemethode om de omvang van het populaire open-source GPT-2-model te verkleinen voor efficiënter gebruik op het apparaat.
Concreet gebruikten ze een techniek genaamd Kronecker-decompositie, die de basis vormt voor hun artikel getiteld ‘Kronecker-decompositie voor GPT-compressie’. Als gevolg hiervan werden de parameters van GPT-2 teruggebracht van 125 miljoen naar 81 miljoen.
Om de prestaties van het model na compressie te herstellen, pasten de auteurs kennisdistillatie toe. De gecomprimeerde versie – genaamd KnGPT-2 – leerde het gedrag van de originele GPT-2 na te bootsen. Ze hebben dit gedestilleerde model getraind met slechts 10% van de oorspronkelijke dataset die werd gebruikt om GPT-2 te trainen. Uiteindelijk is de modelgrootte met 35% afgenomen, met een relatief klein prestatieverlies.
Dit jaar publiceerden mijn collega’s en ik onderzoek naar matrixontledingsmethoden, waarbij we met succes het GPT-2-model (met 125 miljoen parameters) hebben gecomprimeerd tot 81 miljoen parameters. We hebben het resulterende model TQCompressieGPT-2 genoemd. Deze studie verbeterde de methode van Kronecker-ontleding verder, en met deze vooruitgang zijn we erin geslaagd slechts 3,1% van de oorspronkelijke dataset te gebruiken tijdens de kennisdistillatiefase. Het betekent dat we de trainingstijd met ongeveer 33 keer hebben verminderd vergeleken met het gebruik van de volledige dataset en dat ontwikkelaars die modellen als LLaMA3 op smartphones willen implementeren, 33 keer minder tijd nodig zullen hebben om een gecomprimeerde versie van LLaMA3 te realiseren met behulp van onze methode.
De nieuwigheid van ons werk ligt op een paar belangrijke gebieden:
- Voordat we compressie toepasten, introduceerden we een nieuwe methode: permutatie van gewichtsmatrices. Door de rijen en kolommen van laagmatrices vóór de ontbinding te herschikken, bereikten we een hogere nauwkeurigheid in het gecomprimeerde model.
- We hebben compressie iteratief toegepast, waarbij de modellagen één voor één zijn verkleind.
We hebben onze model- en algoritmecode open-source gemaakt, waardoor verder onderzoek en ontwikkeling mogelijk is.
Beide onderzoeken brengen ons dichter bij het concept dat Meta introduceerde met hun benadering van mobiele LLM’s. Ze demonstreren methoden voor het transformeren van bestaande brede modellen in compactere, diepere versies met behulp van matrixdecompositietechnieken en het herstellen van de prestaties van het gecomprimeerde model met kennisdistillatie.
Topmodellen zoals LLaMA, Mistral en Qwen, die aanzienlijk groter zijn dan 1 miljard parameters, zijn ontworpen voor krachtige cloudservers, niet voor smartphones. Het onderzoek van Huawei en ons team biedt waardevolle technieken om deze grote modellen aan te passen voor mobiel gebruik, in lijn met Meta’s visie op de toekomst van AI op het apparaat.
Het comprimeren van AI-modellen is meer dan een technische uitdaging: het is een cruciale stap in de richting van het toegankelijk maken van geavanceerde technologie voor miljarden. Naarmate modellen complexer worden, wordt de mogelijkheid om ze efficiënt uit te voeren op alledaagse apparaten zoals smartphones essentieel. Dit gaat niet alleen over het besparen van hulpbronnen; het gaat over het op een duurzame manier inbedden van AI in ons dagelijks leven.
De vooruitgang die de sector boekt bij het aanpakken van deze uitdaging is aanzienlijk. Vooruitgang van Huawei en TQ bij de compressie van AI-modellen duwt AI naar een toekomst waarin het naadloos op kleinere apparaten kan draaien zonder dat dit ten koste gaat van de prestaties. Dit zijn cruciale stappen in de richting van het duurzaam aanpassen van AI aan de beperkingen van de echte wereld en het toegankelijker maken voor iedereen, waarmee een solide basis wordt gelegd voor verder onderzoek op dit cruciale gebied van de impact van AI op de mensheid.