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 - -percent 0 100 100 0 100 0") ). Як базова пропонується використовувати опубліковану Facebook велику мовну модель, навчену на колекціях BookCorpus (10 тисяч книг), CC-Stories, Pile (OpenSubtitles, Wikipedia, DM Mathematics, HackerNews і т.п.), Pushshift.io (на основі даних Reddit ) та CCNewsV2 (архів новин). Модель містить близько 180 мільярдів токенів (800 ГБ даних). На тренування моделі було витрачено 33 дні роботи кластера з 992 GPU NVIDIA A100 80GB.

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

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

Human: What is the name of the tallest mountain in the world?

Assistant: Everest.

Human: I am planning a trip для нашого anniversary. What things can we do?

Assistant: Well, є номер things you can do for your anniversary. First, you can play cards. Second, ви можете йти для того, щоб підняти. Third, ви можете йти до музею.

Джерело: opennet.ru

Додати коментар або відгук