FlexGen is een engine voor het uitvoeren van ChatGPT-achtige AI-bots op systemen met één GPU

Een team van onderzoekers van Stanford University, de University of California in Berkeley, ETH Zurich, de Graduate School of Economics, Carnegie Mellon University, evenals Yandex en Meta, hebben de broncode gepubliceerd van een engine voor het uitvoeren van grote taalmodellen op resource -beperkte systemen. De engine biedt bijvoorbeeld de mogelijkheid om functionaliteit te creëren die doet denken aan ChatGPT en Copilot door een vooraf getraind OPT-175B-model uit te voeren, dat 175 miljard parameters bestrijkt, op een gewone computer met een NVIDIA RTX3090 gaming grafische kaart uitgerust met 24 GB videogeheugen. De code is geschreven in Python, maakt gebruik van het PyTorch-framework en wordt gedistribueerd onder de Apache 2.0-licentie.

Het bevat een voorbeeldscript voor het maken van bots waarmee u een van de openbaar beschikbare taalmodellen kunt downloaden en onmiddellijk kunt beginnen met communiceren (bijvoorbeeld door de opdracht “python apps/chatbot.py —model facebook/opt-30b — -percent 0 uit te voeren 100 100 0 100 0”). Als basis wordt voorgesteld om een ​​groot taalmodel te gebruiken dat is gepubliceerd door Facebook, getraind op de collecties van BookCorpus (10 boeken), CC-Stories, Pile (OpenSubtitles, Wikipedia, DM Mathematics, HackerNews, enz.), Pushshift. io (gebaseerd op Reddit-gegevens) en CCNewsV2 (nieuwsarchief). Het model omvat ongeveer 180 miljard tokens (800 GB aan data). Er werden 33 dagen clustergebruik met 992 NVIDIA A100 80GB GPU's besteed aan het trainen van het model.

Bij het uitvoeren van het OPT-175B-model op een systeem met een enkele NVIDIA T4 GPU (16 GB), demonstreerde de FlexGen-engine prestaties die tot 100 keer sneller waren dan eerder aangeboden oplossingen, waardoor het gebruik van grote taalmodellen betaalbaarder werd en ze konden draaien op systemen zonder speciale versnellers. Tegelijkertijd kan FlexGen schalen om berekeningen met meerdere GPU's te parallelliseren. Om de omvang van het model te verkleinen, worden bovendien een eigen parametercompressieschema en een modelcachingmechanisme gebruikt.

Momenteel ondersteunt FlexGen alleen OPT-taalmodellen, maar in de toekomst beloven de ontwikkelaars ook ondersteuning toe te voegen voor de BLOOM (176 miljard parameters, ondersteunt 46 talen en 13 programmeertalen), CodeGen (kan code genereren in 22 programmeertalen) en GLM-modellen. Een voorbeeld van een dialoog met een bot gebaseerd op FlexGen en het OPT-30B-model:

Mens: Wat is de naam van de hoogste berg ter wereld?

Assistent: Everest.

Mens: Ik ben een reis aan het plannen voor ons jubileum. Welke dingen kunnen we doen?

Assistent: Nou, er zijn een aantal dingen die je kunt doen voor je jubileum. Ten eerste kun je kaarten spelen. Ten tweede kun je gaan wandelen. Ten derde kun je naar een museum gaan.

Bron: opennet.ru

Voeg een reactie