FlexGen je motor za pokretanje AI botova sličnih ChatGPT-u na jednom GPU sistemima

Tim istraživača sa Univerziteta Stanford, Univerziteta Kalifornije u Berkliju, ETH Zurich, Fakulteta ekonomije, Univerziteta Carnegie Mellon, kao i Yandexa i Meta, objavili su izvorni kod motora za pokretanje velikih jezičkih modela na resursu -ograničeni sistemi. Na primjer, motor pruža mogućnost kreiranja funkcionalnosti koje podsjećaju na ChatGPT i Copilot pokretanjem unaprijed obučenog modela OPT-175B, koji pokriva 175 milijardi parametara, na običnom računaru sa NVIDIA RTX3090 grafičkom karticom za igre opremljenom sa 24 GB video memorije. Kod je napisan u Python-u, koristi okvir PyTorch i distribuira se pod licencom Apache 2.0.

Uključuje primjer skripte za kreiranje botova koja vam omogućava da preuzmete jedan od javno dostupnih jezičkih modela i odmah započnete komunikaciju (na primjer, pokretanjem naredbe „python apps/chatbot.py —model facebook/opt-30b — -percent 0 100 100 0 100 0”). Kao osnovu, predlaže se korištenje velikog jezičkog modela koji je objavio Facebook, obučen na zbirkama BookCorpus (10 hiljada knjiga), CC-Stories, Pile (OpenSubtitles, Wikipedia, DM Mathematics, HackerNews, itd.), Pushshift. io (zasnovano na Reddit podacima) i CCNewsV2 (arhiva vijesti). Model pokriva približno 180 milijardi tokena (800 GB podataka). 33 dana rada klastera sa 992 NVIDIA A100 80GB GPU-a potrošeno je na obuku modela.

Prilikom pokretanja modela OPT-175B na sistemu sa jednim NVIDIA T4 GPU (16GB), FlexGen motor je pokazao performanse do 100 puta brže od prethodno ponuđenih rješenja, čineći korištenje velikih jezičkih modela pristupačnijim i omogućavajući im da rade na sistemi bez namjenskih akceleratora. U isto vrijeme, FlexGen može skalirati kako bi paralelizirao proračune s više GPU-ova. Da bi se smanjila veličina modela, dodatno se koriste vlasnička šema kompresije parametara i mehanizam za keširanje modela.

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

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

Asistent: Everest.

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

Asistent: 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