Выпущен инструмент FlexGen, который позволяет запускать LLM при ограниченной видеопамяти

Группа ученых из нескольких университетов и компаний, включая Yandex и Meta, разработали новый движок для использования крупных языковых моделей на компьютерах с ограниченными ресурсами. Они опубликовали исходный код движка, который позволяет использовать функциональность, подобную ChatGPT и Copilot, запуская одну из предварительно натренированных моделей серии OPT (до 66 миллиардов параметров в открытом доступе и до 175 по запросу) на оборудовании со значительно меньшими характеристиками, чем требовалось ранее. Так, на компьютере с игровой видеокартой NVIDIA RTX3090 или RTX4090, имеющих 24GB видеопамяти, можно запустить модель OPT-30B с 30 миллиардами параметров (раньше требовалось 64GB видеопамяти), а на компьютере с доступной большинству RTX3060 в версии на 12GB можно запустить модель OPT-13B, которой ранее требовалось 32GB VRAM.

Для этого они использую несколько приёмов, такие, как гибкое автоматическое распределение весов на GPU, CPU или SSD диск, сжатие весов до 4 бит вместо стандартных для языковых моделей 16 бит с минимальной потерей точности, и блочный проход вместо принятого для других движков построчного, что позволяет эффективнее использовать пропускную способность памяти и реже перегружать тензоры между различными уровнями кеша.

Два разных расписания. Красные стрелки обозначают порядок вычисленийДва разных расписания. Красные стрелки обозначают порядок вычислений

Всё это позволило повысить производительность до 100 раз по сравнению с другими системами сжатия и ускорения при использовании экстремально больших моделей, что показали авторы на примере NVIDIA T4 с 16GB видеопамяти и модели OPT-175b

Сравнение производительности разных акселераторов

System

OPT-6.7B

OPT-30B

OPT-175B

Hugging Face Accelerate

25.12

0.62

0.01

DeepSpeed ZeRO-Inference

9.28

0.60

0.01

Petals*

-

-

0.05

FlexGen

25.26

7.32

0.69

FlexGen with Compression

29.12

8.38

1.12

Пока встроена поддержка только моделей OPT, разработчики обещают расширить список поддерживаемых моделей, а некоторые модели на основе OPT можно добавить самостоятельно.

Код написан на языке Python, используется фреймворк PyTorch, а распространяется под лицензией Apache 2.0.

Для более лёгкого использования можно взять Text generation web UI, веб интерфейс, который можно гибко настроить для написания историй или для чата.

© Habrahabr.ru