Выпущен инструмент 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, веб интерфейс, который можно гибко настроить для написания историй или для чата.