FlexGen është një motor për ekzekutimin e robotëve AI të ngjashëm me ChatGPT në sisteme të vetme GPU

Një ekip studiuesish nga Universiteti Stanford, Universiteti i Kalifornisë në Berkeley, ETH Cyrih, Shkolla e Diplomuar e Ekonomisë, Universiteti Carnegie Mellon, si dhe Yandex dhe Meta, kanë publikuar kodin burimor të një motori për drejtimin e modeleve të mëdha gjuhësore në burim. - sisteme të kufizuara. Për shembull, motori ofron mundësinë për të krijuar funksionalitet që të kujton ChatGPT dhe Copilot duke ekzekutuar një model OPT-175B të trajnuar paraprakisht, që mbulon 175 miliardë parametra, në një kompjuter të rregullt me ​​një kartë grafike lojrash NVIDIA RTX3090 të pajisur me 24 GB memorie video. Kodi është shkruar në Python, përdor kornizën PyTorch dhe shpërndahet nën licencën Apache 2.0.

Ai përfshin një skript shembull për krijimin e robotëve që ju lejon të shkarkoni një nga modelet e gjuhëve të disponueshme publikisht dhe të filloni menjëherë të komunikoni (për shembull, duke ekzekutuar komandën "python apps/chatbot.py — model facebook/opt-30b — -përqind 0 100 100 0 100 0” ). Si bazë, propozohet të përdoret një model i madh gjuhësor i publikuar nga Facebook, i trajnuar në koleksionet e BookCorpus (10 mijë libra), CC-Stories, Pile (OpenSubtitles, Wikipedia, DM Mathematics, HackerNews, etj.), Pushshift. io (bazuar në të dhënat e Reddit) dhe CCNewsV2 (arkivi i lajmeve). Modeli mbulon afërsisht 180 miliardë argumente (800 GB të dhëna). Për trajnimin e modelit u shpenzuan 33 ditë funksionimi të grupit me 992 GPU NVIDIA A100 80 GB.

Kur përdorni modelin OPT-175B në një sistem me një GPU të vetme NVIDIA T4 (16 GB), motori FlexGen tregoi performancë deri në 100 herë më shpejt se zgjidhjet e ofruara më parë, duke e bërë përdorimin e modeleve të gjuhëve të mëdha më të përballueshme dhe duke i lejuar ato të funksionojnë në sisteme pa përshpejtues të dedikuar. Në të njëjtën kohë, FlexGen mund të shkallëzojë për të paralelizuar llogaritjet me GPU të shumta. Për të zvogëluar madhësinë e modelit, përdoret gjithashtu një skemë kompresimi e parametrave të pronarit dhe një mekanizëm i ruajtjes së modelit.

Aktualisht, FlexGen mbështet vetëm modelet e gjuhëve OPT, por në të ardhmen zhvilluesit premtojnë gjithashtu të shtojnë mbështetje për BLOOM (176 miliardë parametra, mbështet 46 gjuhë dhe 13 gjuhë programimi), CodeGen (mund të gjenerojë kode në 22 gjuhë programimi) dhe Modelet GLM. Një shembull i një dialogu me një robot të bazuar në FlexGen dhe modelin OPT-30B:

Njeriu: Cili është emri i malit më të lartë në botë?

Asistent: Everest.

Njeriu: Po planifikoj një udhëtim për përvjetorin tonë. Çfarë gjërash mund të bëjmë?

Asistenti: Epo, ka një sërë gjërash që mund të bëni për përvjetorin tuaj. Së pari, mund të luani letra. Së dyti, mund të shkoni për një shëtitje. Së treti, ju mund të shkoni në një muze.

Burimi: opennet.ru

Shto një koment