FlexGen és un motor per executar bots d'IA semblants a ChatGPT en sistemes de GPU individuals

Un equip d'investigadors de la Universitat de Stanford, la Universitat de Califòrnia a Berkeley, ETH Zurich, la Graduate School of Economics, Carnegie Mellon University, així com Yandex i Meta, han publicat el codi font d'un motor per executar grans models de llenguatge en recursos. - Sistemes restringits. Per exemple, el motor ofereix la possibilitat de crear una funcionalitat que recorda ChatGPT i Copilot executant un model OPT-175B pre-entrenat, que cobreix 175 mil milions de paràmetres, en un ordinador normal amb una targeta gràfica de jocs NVIDIA RTX3090 equipada amb 24 GB de memòria de vídeo. El codi està escrit en Python, utilitza el framework PyTorch i es distribueix sota la llicència Apache 2.0.

Inclou un script d'exemple per crear bots que us permet descarregar un dels models d'idioma disponibles públicament i començar a comunicar-vos immediatament (per exemple, executant l'ordre “python apps/chatbot.py —model facebook/opt-30b — -percent 0 100 100 0 100 0” ). Com a base, es proposa utilitzar un gran model de llenguatge publicat per Facebook, format sobre les col·leccions de BookCorpus (10 mil llibres), CC-Stories, Pile (OpenSubtitles, Wikipedia, DM Mathematics, HackerNews, etc.), Pushshift. io (basat en dades de Reddit) i CCNewsV2 (arxiu de notícies). El model cobreix aproximadament 180 mil milions de fitxes (800 GB de dades). Es van dedicar 33 dies de funcionament del clúster amb 992 GPU NVIDIA A100 de 80 GB a entrenar el model.

Quan s'executa el model OPT-175B en un sistema amb una única GPU NVIDIA T4 (16 GB), el motor FlexGen va demostrar un rendiment fins a 100 vegades més ràpid que les solucions que s'oferien anteriorment, fent més assequible l'ús de models d'idiomes grans i permetent-los funcionar. sistemes sense acceleradors dedicats. Al mateix temps, FlexGen pot escalar per paral·lelitzar els càlculs amb diverses GPU. Per reduir la mida del model, també s'utilitza un esquema de compressió de paràmetres propietari i un mecanisme de memòria cau del model.

Actualment, FlexGen només admet models de llenguatge OPT, però en el futur els desenvolupadors també prometen afegir suport per a BLOOM (176 mil milions de paràmetres, suporta 46 idiomes i 13 llenguatges de programació), CodeGen (pot generar codi en 22 llenguatges de programació) i Models GLM. Un exemple de diàleg amb un bot basat en FlexGen i el model OPT-30B:

Humà: Com es diu la muntanya més alta del món?

Assistent: Everest.

Human: Estic planejant un viatge per al nostre aniversari. Quines coses podem fer?

Assistent: Bé, hi ha moltes coses que podeu fer per al vostre aniversari. Primer, podeu jugar a cartes. En segon lloc, podeu fer una excursió. En tercer lloc, pots anar a un museu.

Font: opennet.ru

Afegeix comentari