FlexGen är en motor för att köra ChatGPT-liknande AI-bots på enstaka GPU-system

Ett team av forskare från Stanford University, University of California i Berkeley, ETH Zürich, Graduate School of Economics, Carnegie Mellon University, samt Yandex och Meta, har publicerat källkoden för en motor för att köra stora språkmodeller på resurser -begränsade system. Till exempel ger motorn möjligheten att skapa funktionalitet som påminner om ChatGPT och Copilot genom att köra en förtränad OPT-175B-modell, som täcker 175 miljarder parametrar, på en vanlig dator med ett NVIDIA RTX3090 spelgrafikkort utrustat med 24GB videominne. Koden är skriven i Python, använder PyTorch-ramverket och distribueras under Apache 2.0-licensen.

Det innehåller ett exempelskript för att skapa bots som låter dig ladda ner en av de allmänt tillgängliga språkmodellerna och omedelbart börja kommunicera (till exempel genom att köra kommandot "python apps/chatbot.py —model facebook/opt-30b — -procent 0 100 100 0 100 0” ). Som bas föreslås det att använda en stor språkmodell publicerad av Facebook, utbildad på samlingarna av BookCorpus (10 tusen böcker), CC-Stories, Pile (OpenSubtitles, Wikipedia, DM Mathematics, HackerNews, etc.), Pushshift. io (baserat på Reddit-data) och CCNewsV2 (nyhetsarkiv). Modellen täcker cirka 180 miljarder tokens (800 GB data). 33 dagars klusterdrift med 992 NVIDIA A100 80GB GPU:er ägnades åt att träna modellen.

När OPT-175B-modellen kördes på ett system med en enda NVIDIA T4 GPU (16GB), visade FlexGen-motorn prestanda upp till 100 gånger snabbare än tidigare erbjudna lösningar, vilket gjorde användningen av stora språkmodeller mer överkomliga och gjorde att de kunde köras på system utan dedikerade acceleratorer. Samtidigt kan FlexGen skala för att parallellisera beräkningar med flera GPU:er. För att minska storleken på modellen används dessutom ett proprietärt parameterkomprimeringsschema och en modellcachemekanism.

För närvarande stöder FlexGen endast OPT-språkmodeller, men i framtiden lovar utvecklarna också att lägga till stöd för BLOOM (176 miljarder parametrar, stöder 46 språk och 13 programmeringsspråk), CodeGen (kan generera kod i 22 programmeringsspråk) och GLM-modeller. Ett exempel på en dialog med en bot baserad på FlexGen och OPT-30B-modellen:

Människan: Vad heter det högsta berget i världen?

Assistent: Everest.

Människan: Jag planerar en resa för vår bröllopsdag. Vilka saker kan vi göra?

Assistent: Tja, det finns ett antal saker du kan göra för din årsdag. Först kan du spela kort. För det andra kan du gå på en vandring. För det tredje kan du gå till ett museum.

Källa: opennet.ru

Lägg en kommentar