FlexGen je motor za pokretanje AI botova sličnih ChatGPT-u na sustavima s jednim GPU-om

Tim istraživača sa Sveučilišta Stanford, Kalifornijskog sveučilišta u Berkeleyu, ETH Zurich, Ekonomskog fakulteta, Sveučilišta Carnegie Mellon, kao i Yandex i Meta, objavili su izvorni kod mehanizma za pokretanje velikih jezičnih modela na resursu -ograničeni sustavi. Na primjer, motor pruža mogućnost stvaranja funkcionalnosti koja podsjeća na ChatGPT i Copilot pokretanjem prethodno obučenog modela OPT-175B, koji pokriva 175 milijardi parametara, na običnom računalu s NVIDIA RTX3090 grafičkom karticom za igre opremljenom s 24 GB video memorije. Kod je napisan u Pythonu, koristi okvir PyTorch i distribuira se pod licencom Apache 2.0.

Uključuje primjer skripte za stvaranje botova koji vam omogućuje preuzimanje jednog od javno dostupnih jezičnih modela i odmah započinjanje komunikacije (na primjer, pokretanjem naredbe “python apps/chatbot.py —model facebook/opt-30b — -percent 0 100 100 0 100 0” ). Kao osnova predlaže se korištenje velikog jezičnog modela koji je objavio Facebook, obučen na zbirkama BookCorpus (10 tisuća knjiga), CC-Stories, Pile (OpenSubtitles, Wikipedia, DM Mathematics, HackerNews itd.), Pushshift. io (na temelju podataka Reddita) i CCNewsV2 (arhiva vijesti). Model pokriva otprilike 180 milijardi tokena (800 GB podataka). 33 dana rada klastera s 992 NVIDIA A100 80GB GPU-a potrošeno je na obuku modela.

Prilikom pokretanja modela OPT-175B na sustavu s jednim NVIDIA T4 GPU-om (16 GB), motor FlexGen pokazao je performanse do 100 puta brže od prethodno ponuđenih rješenja, čineći korištenje velikih jezičnih modela pristupačnijim i omogućujući im rad na sustavi bez namjenskih akceleratora. U isto vrijeme, FlexGen može skalirati kako bi paralelizirao izračune s više GPU-ova. Kako bi se smanjila veličina modela, dodatno se koristi vlastita shema kompresije parametara i mehanizam predmemoriranja modela.

Trenutno FlexGen podržava samo OPT jezične modele, ali u budućnosti programeri također obećavaju dodati podršku za BLOOM (176 milijardi parametara, podržava 46 jezika i 13 programskih jezika), CodeGen (može generirati kod na 22 programska jezika) i GLM modeli. Primjer dijaloga s botom baziranim na FlexGen-u i modelu OPT-30B:

Čovjek: Kako se zove najviša planina na svijetu?

Pomoćnik: Everest.

Čovjek: Planiram putovanje za našu godišnjicu. Što možemo učiniti?

Pomoćnik: Pa, postoji niz stvari koje možete učiniti za svoju godišnjicu. Prvo, možete igrati karte. Drugo, možete ići na planinarenje. Treće, možete otići u muzej.

Izvor: opennet.ru

Dodajte komentar