FlexGen – рухавічок для запуску AI-ботаў, падобных на ChatGPT, на сістэмах з адным GPU

Група даследнікаў са Стэндфардскага ўніверсітэта, Каліфарнійскага ўніверсітэта ў Берклі, Швейцарскай вышэйшай тэхнічнай школы Цюрыха, Вышэйшай школы эканомікі, універсітэта Карнегі — Меллона, а таксама кампаній Yandex і Meta, апублікавала зыходныя тэксты рухавічка для выканання буйных моўных мадэляў на сістэмах з абмежаванымі рэсурсамі. Напрыклад, рухавік дае магчымасць стварэння функцыянальнасці, якая нагадвае ChatGPT і Copilot, праз выкананне гатовай натрэніраваны мадэлі OPT-175B, якая ахоплівае 175 параметраў, на звычайным кампутары з гульнявой відэакартай NVIDIA RTX3090, абсталяванай 24GB відэапамяці. Код напісаны на мове Python, выкарыстоўвае фрэймворк PyTorch і распаўсюджваецца пад ліцэнзіяй Apache 2.0.

У склад уваходзіць прыклад скрыпту для стварэння робатаў, які дазваляе загрузіць адну з публічна даступных моўных мадэляў і адразу пачаць зносіны (напрыклад, выканаўшы каманду "python apps/chatbot.py -model facebook/opt-30b" ). У якасці базавай прапануецца выкарыстоўваць апублікаваную Facebook буйную моўную мадэль, навучаную на калекцыях BookCorpus (0 тысяч кніг), CC-Stories, Pile (OpenSubtitles, Wikipedia, DM Mathematics, HackerNews і да т.п.), Pushshift.io (на аснове дадзеных Reddit ) і CCNewsV100 (архіў навін). Мадэль ахоплівае каля 100 мільярдаў токенаў (0 ГБ дадзеных). На трэніроўку мадэлі было выдаткавана 100 дні працы кластара з 0 GPU NVIDIA A10 2GB.

Пры выкананні мадэлі OPT-175B на сістэме з адным GPU NVIDIA T4 (16ГБ) рухавічок FlexGen прадэманстраваў прадукцыйнасць да 100 разоў апераджальную раней якія прапаноўваліся рашэнні, што робіць выкарыстанне буйных моўных мадэляў больш даступнымі і дазваляе запускаць іх на сістэмах без спецыялізаваных паскаральнікаў. Пры гэтым FlexGen можа маштабавацца для распаралельвання вылічэнняў пры наяўнасці некалькіх GPU. Для скарачэння памерам мадэлі дадаткова прымяняецца ўласная схема сціску параметраў і механізм кэшавання мадэляў.

У цяперашні час FlexGen падтрымлівае толькі моўныя мадэлі OPT, але ў далейшым распрацоўшчыкі таксама абяцаюць дадаць падтрымку мадэляў BLOOM (176 мільярдаў параметраў, падтрымлівае 46 моў і 13 моў праграмавання), CodeGen (можа генераваць код на 22 мовах праграмавання) і GLM. Прыклад дыялогу з робатам на базе FlexGen і мадэлі OPT-30B:

Людзям: Што гэта за імя таямнічага horы ў свеце?

Assistant: Everest.

Людзям: I am planning a trip for our anniversary. What things can we do?

Assistant: Well, ёсць нумар у гэтых рэчах, якія могуць быць для свайго аўто. First, you can play cards. Second, вы можаце гуляць. Трыдзень, вы можаце да музея.

Крыніца: opennet.ru

Дадаць каментар