Ang FlexGen ay isang engine para sa pagpapatakbo ng ChatGPT-like AI bots sa iisang GPU system

Ang isang pangkat ng mga mananaliksik mula sa Stanford University, ang Unibersidad ng California sa Berkeley, ETH Zurich, ang Graduate School of Economics, Carnegie Mellon University, pati na rin ang Yandex at Meta, ay nag-publish ng source code ng isang engine para sa pagpapatakbo ng malalaking modelo ng wika sa mapagkukunan. - mga sistemang pinigilan. Halimbawa, ang makina ay nagbibigay ng kakayahang lumikha ng functionality na nakapagpapaalaala sa ChatGPT at Copilot sa pamamagitan ng pagpapatakbo ng isang pre-trained na OPT-175B na modelo, na sumasaklaw sa 175 bilyong parameter, sa isang regular na computer na may NVIDIA RTX3090 gaming graphics card na nilagyan ng 24GB ng video memory. Ang code ay nakasulat sa Python, gumagamit ng PyTorch framework at ipinamamahagi sa ilalim ng Apache 2.0 na lisensya.

Kasama dito ang isang halimbawang script para sa paglikha ng mga bot na nagbibigay-daan sa iyong mag-download ng isa sa mga modelo ng wika na magagamit sa publiko at agad na magsimulang makipag-usap (halimbawa, sa pamamagitan ng pagpapatakbo ng command na β€œpython apps/chatbot.py β€”model facebook/opt-30b β€” -percent 0 100 100 0 100 0” ). Bilang batayan, iminungkahi na gumamit ng isang malaking modelo ng wika na inilathala ng Facebook, sinanay sa mga koleksyon ng BookCorpus (10 libong libro), CC-Stories, Pile (OpenSubtitles, Wikipedia, DM Mathematics, HackerNews, atbp.), Pushshift. io (batay sa Reddit data ) at CCNewsV2 (news archive). Sinasaklaw ng modelo ang humigit-kumulang 180 bilyong token (800 GB ng data). 33 araw na operasyon ng cluster na may 992 NVIDIA A100 80GB GPU ang ginugol sa pagsasanay sa modelo.

Kapag pinapatakbo ang modelong OPT-175B sa isang system na may iisang NVIDIA T4 GPU (16GB), ipinakita ng FlexGen engine ang pagganap nang hanggang 100 beses na mas mabilis kaysa sa mga naunang inaalok na solusyon, na ginagawang mas abot-kaya ang paggamit ng mga modelo ng malalaking wika at pinapayagan silang tumakbo sa mga system na walang nakalaang accelerators. Kasabay nito, maaaring i-scale ng FlexGen upang iparallelize ang mga kalkulasyon sa maraming GPU. Upang bawasan ang laki ng modelo, ginagamit din ang isang proprietary parameter compression scheme at isang mekanismo ng pag-cache ng modelo.

Sa kasalukuyan, sinusuportahan lamang ng FlexGen ang mga modelo ng wikang OPT, ngunit sa hinaharap ang mga developer ay nangangako din na magdagdag ng suporta para sa BLOOM (176 bilyong mga parameter, sumusuporta sa 46 na wika at 13 programming language), CodeGen (maaaring makabuo ng code sa 22 programming language) at Mga modelo ng GLM. Isang halimbawa ng isang dialogue na may bot batay sa FlexGen at ang OPT-30B na modelo:

Tao: Ano ang pangalan ng pinakamataas na bundok sa mundo?

Katulong: Everest.

Tao: Nagpaplano ako ng biyahe para sa ating anibersaryo. Anong mga bagay ang maaari nating gawin?

Assistant: Well, may ilang bagay na maaari mong gawin para sa iyong anibersaryo. Una, maaari kang maglaro ng mga baraha. Pangalawa, maaari kang mag-hike. Pangatlo, maaari kang pumunta sa isang museo.

Pinagmulan: opennet.ru

Magdagdag ng komento