FlexGen, isang makina para sa pagpapatakbo ng mga AI bot sa isang GPU

FlexGen

Ang FlexGen ay isang engine na binuo na may layuning bawasan ang inference resource na kinakailangan ng malalaking modelo ng wika sa isang GPU.

Ang balita ay pinakawalan kamakailan lamang na isang pangkat ng mga mananaliksik mula sa Stanford University, sa Unibersidad ng California sa Berkeley, ETH Zurich, sa Graduate School of Economics, Carnegie Mellon University, pati na rin sa Yandex at Meta, ay naglathala ng source code ng un engine para sa pagpapatakbo ng malalaking modelo ng wika sa mga sistemang may limitadong mapagkukunan.

na may code name Ang «FlexGen», ay isang proyekto na naglalayong makabuluhang bawasan ang requisitos mga mapagkukunan para sa pagpapatakbo ng hinuha ng LLM. Na-post sa GitHub, ang FlexGen ay nangangailangan lamang ng Python at PyTorch ngunit kadalasan ay maaaring gamitin sa isang GPU tulad ng NVIDIA Tesla T4 o GeForce RTX 3090.

Hal ang makina ay nagbibigay ng kakayahang lumikha ng functionality na nakapagpapaalaala sa ChatGPT at Copilot nagpapatakbo ng pretrained 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 24 GB ng video memory.

Nabanggit na ang (LLM) na mga modelo ay sumusuporta sa pagpapatakbo ng mga tool tulad ng ChatGPT at Copilot. Ang mga ito ay malalaking modelo na gumagamit ng bilyun-bilyong parameter at sinanay sa napakaraming data.

Ang mataas na computational at memory na kinakailangan para sa LLM inference tasks sa pangkalahatan ay nangangailangan ng paggamit ng high-end accelerators.

Natutuwa kaming ang publiko ay talagang nasasabik tungkol sa FlexGen. Gayunpaman, ang aming trabaho ay nasa paghahanda pa rin at hindi pa handa para sa pampublikong pagpapalabas/anunsyo. Mula sa maagang feedback sa proyektong ito, napagtanto namin na ang mga unang bersyon ng README na ito at ang aming dokumento ay hindi malinaw sa layunin ng FlexGen. Ito ay isang paunang pagsisikap na bawasan ang mga kinakailangan sa mapagkukunan ng mga LLM, ngunit mayroon din itong maraming mga limitasyon at hindi nilalayong palitan ang mga kaso ng paggamit kapag may sapat na mga mapagkukunan.

Ang LLM inference ay isang proseso kung saan ang isang modelo ng wika ay ginagamit upang makabuo ng mga hula tungkol sa input text: ito ay nagsasangkot ng paggamit ng isang modelo ng wika, tulad ng isang generative na modelo tulad ng isang GPT (Generative Pretrained Transformer), upang gumawa ng mga hula tungkol sa kung ano ang pinakamalamang mangyari. ibigay bilang tugon pagkatapos ng isang partikular na input na nakunan ng text.

Tungkol sa FlexGen

Kasama sa package ang isang sample na script para gumawa ng mga bot. na nagpapahintulot sa gumagamit i-download ang isa sa mga modelo ng wika na magagamit sa publiko at simulan ang pakikipag-chat kaagad.

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 data ng Reddit)) at CCNewsV2 (archive ng balita).

Sinasaklaw ng modelo ang humigit-kumulang 180 bilyong token (800 GB ng data). Tumagal ng 33 araw ng pagpapatakbo ng cluster na may 992 NVIDIA A100 80 GB GPU upang sanayin ang modelo.

Gumagamit ng OPT-175B sa isang system na may iisang NVIDIA T4 GPU (16 GB), ang FlexGen engine ay nagpakita ng hanggang 100x na mas mabilis na pagganap kaysa sa mga naunang inaalok na solusyon, na ginagawang mas abot-kaya ang paggamit ng modelo ng malalaking wika at nagbibigay-daan sa kanila na tumakbo sa mga system na walang mga espesyal na accelerator.

Kasabay nito, maaaring i-scale ng FlexGen upang i-parallelize ang mga pag-compute sa pagkakaroon ng maraming GPU. Upang bawasan ang laki ng modelo, ginagamit ang karagdagang pamamaraan ng compression ng parameter at mekanismo ng pag-cache ng modelo.

sa kasalukuyan, Sinusuportahan lamang ng FlexGen ang mga modelo ng wikang OPT, ngunit sa hinaharap, nangangako rin ang mga developer na magdagdag ng suporta para sa BLOOM (176 bilyong parameter, sumusuporta sa 46 na wika at 13 programming language), CodeGen (maaaring makabuo ng code sa 22 programming language), at GLM.

Sa wakas, nararapat na banggitin na ang code ay nakasulat sa Python, gumagamit ng PyTorch framework at ipinamamahagi sa ilalim ng lisensya ng Apache 2.0.

para Interesado na matuto pa tungkol dito, maaari mong suriin ang mga detalye Sa sumusunod na link.


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.