PagedWeight: динамическое сжатие весов экономит до 72% памяти GPU для MoE-моделей.
Чем длиннее разговор с нейронкой, тем больше памяти видеокарты она тратит. Модели нужно хранить служебные данные обо всех предыдущих словах, и постепенно для них начинает не хватать места.
Исследователи из Университета Иллинойса представили PagedWeight — способ освобождать память прямо во время работы больших MoE-моделей. Такие модели состоят из множества специализированных блоков, или «экспертов», но для каждого следующего слова включают только несколько из них. При этом веса всех экспертов обычно всё равно хранятся на GPU.
PagedWeight делит веса на небольшие блоки, точность которых можно менять независимо. Когда памяти не хватает, система выбирает блоки, наименее чувствительные к сжатию, и переносит в обычную оперативную память часть битов, нужных для их более точной записи. На GPU остаётся сжатая версия, с которой модель продолжает работать. Когда место освобождается, недостающие биты можно загрузить обратно.
Система также учитывает, как часто используется каждый эксперт, и старается осторожнее сжимать самые востребованные. Отсюда и название PagedWeight: блоками весов управляют примерно как отдельными страницами памяти.
Метод проверили на трёх MoE-моделях: Qwen, Mixtral и Gemma. В тестах на длинных текстах Qwen занял 9,86 ГБ вместо 35,25 ГБ и сохранил тот же средний результат — экономия составила 72%. В отдельном тесте система генерировала до 1,94 раза больше токенов в секунду, чем обычный 16-битный режим.
Публичный код авторы не выпустили, пока только поделились подходом и первыми экспериментами.

