Qwen3.8-Flash-Next 125B на 6 ГБ VRAM: прорыв в производительности ИИ-моделей
PROSTO24 сообщает о значительных достижениях в оптимизации больших языковых моделей. Разработчикам удалось запустить полную 125-миллиардную модель Qwen3.8-Flash-Next, являющуюся архитектурной основой для грядущей Qwen4, на одной видеокарте RTX 4090 с пиковым потреблением VRAM всего в 5,95 ГБ. Это достижение было реализовано без применения 4-битной квантизации или дистилляции, используя полный контрольный пункт в формате bf16 для генерации стандартных токенов.
Согласно внутренним данным Qwen, модель Qwen3.8-Flash-Next демонстрирует конкурентоспособные результаты по сравнению с передовыми закрытыми моделями, такими как Opus 4.6 Max, в критически важных областях. Эти области включают задачи программирования, работу с агентами и общее использование компьютеров, что подчеркивает её потенциал как мощного открытого решения.
Оптимизация KV-кэша для длинных контекстов
В контексте работы с моделями, такими как Qwen3.8-27B, проблема растущего KV-кэша при длинных контекстах является значительным препятствием. Например, 27-миллиардная модель в формате Q4TP занимает около 14,3 ГБ памяти для весов. Однако для 16 слоёв с полным вниманием в этой гибридной модели состояние KV в формате FP16 увеличивается на 65 536 байт с каждым новым токеном. Это означает, что при контексте в 64 тысячи токенов только для KV-кэша может потребоваться около 4 ГиБ памяти.
Для решения этой проблемы был разработан экспериментальный режим рантайма O(1) CMF. Он замещает динамически растущий KV-кэш для 16 слоёв фиксированным состоянием. Это состояние включает четыре sink-токена, точное окно из последних 128 токенов и 32 опорных представления для дальней части контекста. В данном профиле использования GPU-state attention потребляет всего 44,1 МиБ и не увеличивается с ростом длины контекста, что является критически важным шагом в эффективном управлении памятью для больших моделей.
Интересно, что они смогли добиться такого результата. Я сам активно экспериментирую с Qwen, правда пока с более легкими версиями. На моей 3060 12GB даже 7B иногда упирается в VRAM на длинных контекстах, особенно когда пытаешься что-то серьезное с кодом делать. Главная проблема – нестабильность, иногда просто виснет. Но когда работает, выдает очень осмысленные ответы. Мой лайфхак: использую GGUF-версии через llama.cpp и стараюсь не превышать контекст в 4096 токенов, тогда более-менее стабильно.