35 миллиардов параметров втиснуть в 16 гигабайт? Да, это возможно
В феврале 2026 года идея запустить 35-миллиардную модель на видеокарте с 16 ГБ видеопамяти звучит как шутка. Особенно если вы хотите не просто запустить, а получить 45 токенов в секунду и контекст в 128 тысяч токенов. Физика, кажется, против. Но я за последние полгода перепробовал десяток комбинаций и нашел способ, который работает. Не идеально, но стабильно и быстро.
Секрет не в волшебстве, а в агрессивном, но умном квантовании и грамотном распределении слоев между GPU и CPU. Если вы думаете, что 12 ГБ VRAM — не приговор, то 16 ГБ — это уже простор для маневра.
Важный нюанс: цифра в 45 токенов/с — это результат на чистой генерации, с пустым кешем внимания. Когда контекст заполнится до 50-70 тысяч токенов, скорость упадет до 15-20 токенов/с. Это нормально. Если кто-то обещает стабильные 45 токенов/с на полном контексте — он врет.
1 Выбираем правильную версию модели. Не ту, что первая в списке
Первая ошибка — качать официальную полную версию Qwen3.5-35B с Hugging Face. Она весит около 65 ГБ в формате FP16 и в 16 ГБ VRAM не влезет даже наполовину. Нам нужен квантованный GGUF файл. И не просто Q4_K_M, а что-то посовременнее.
На февраль 2026 года я рекомендую искать файлы с тегами Qwen3.5-35B-ShapeLearn-GGUF или с квантованием MagicQuant-Q3_K_M. ShapeLearn — это новый алгоритм квантования, который меньше портит качество на низких битностях. MagicQuant-Q3_K_M дает невероятное сжатие при приемлемых потерях. В связке с новым кешем внимания в llama.cpp (который поддерживает группировку запросов) это наш билет к скорости.
Где искать? Не на официальном сайте Alibaba. Сообщества на Hugging Face и специализированные репозитории типа TheBloke (партнерская ссылка) часто имеют самые свежие квантования. Скачайте файл с суффиксом *-Q3_K_M.gguf или *-ShapeLearn-Q4_0.gguf. Размер должен быть около 18-22 ГБ. Да, файл больше, чем ваша VRAM, но это нормально — часть будет загружена в оперативную память.
2 Настраиваем LM Studio: не доверяйте автоопределению
LM Studio — король удобства для локального запуска. Версия 0.3.2 (февраль 2026) научилась работать с контекстом до 256K, но ее автоматические настройки для 16 ГБ VRAM слишком консервативны. Они рассчитаны на «впихнуть любой ценой», а не на скорость.
Откройте настройки загрузки модели (Load Model Settings) и вручную укажите:
- GPU Offload Layers: 43. Да, 43 из 60. Это оставит около 2 ГБ VRAM про запас для кеша внимания и системных нужд. Если поставить больше — модель может вылетать при заполнении контекста.
- Context Length: 131072 (это 128K). Не ставьте максимум в 256K — для этого нужны другие трюки с оптимизацией контекста.
- Batch Size: 512. Увеличивает скорость генерации, но требует памяти. 512 — безопасный максимум для наших условий.
- Threads: 6-8, в зависимости от вашего CPU. Не жадничайте, оставьте ядра для системы.
Главный фокус — включите опцию "Use experimental attention optimization". В февральском обновлении она стабилизировала потребление памяти при длинных контекстах.
# Если предпочитаете командную строку, вот аналогичные настройки для llama.cpp:
./main -m ./qwen3.5-35b-shapelearn-q3_k_m.gguf \
-n 512 --ctx-size 131072 \
-ngl 43 -b 512 -t 8 \
--no-mmap --memory-f32 \
--parallel 1 --mlock
Флаг --no-mmap и --memory-f32 критичны для стабильности при таком количестве слоев на GPU. Без них вы получите случайные падения через 20-30 минут работы.
3 Тест, бенчмарк и первая генерация
Запустите модель. Не с первого раза. Сначала она будет готовить кеш — это займет минуту-две. Затем задайте простой промпт: "Напиши план статьи о квантовании нейросетей".
Следите за двумя метриками в LM Studio: Tokens/s и VRAM Usage. В первые секунды вы должны увидеть 40-50 токенов/с. VRAM при этом будет показывать 14.5-15.5 ГБ из 16. Это нормальная ситуация на грани.
Чтобы проверить стабильность контекста, используйте трюк: загрузите в диалог большой технический документ на 50-60 тысяч токенов. Можно взять промпты как у Claude Code для теста. Запросите суммаризацию. Если модель не вылетает и выдает осмысленный ответ — вы на правильном пути.
| Параметр | Значение | Что будет, если изменить |
|---|---|---|
| GPU Layers | 43 | 45+ — вылет при большом контексте. 40- — скорость упадет до 30 токенов/с. |
| Batch Size | 512 | 1024 — возможны артефакты в генерации. 256 — потеря 10-15% скорости. |
| Threads | 8 | Больше ядер CPU — не значит лучше. После 12 начинается деградация из-за накладных расходов. |
Что сломается и как это починить
Самая частая ошибка — "out of memory" после 10-15 минут работы. Виновник — не модель, а кеш внимания, который растет как на дрожжах. В llama.cpp есть флаг --memory-f32, который заставляет хранить кеш в FP32, что стабильнее, но жрет больше RAM. Альтернатива — понизить --batch-size до 256, если у вас меньше 32 ГБ оперативной памяти.
Вторая проблема — падение скорости до 5-7 токенов/с после заполнения контекста. Это не баг, это архитектура трансформера. Решение — использовать суммаризацию или техники скользящего окна, чтобы не тащить весь контекст всегда.
Третья — артефакты генерации (повторяющиеся фразы, бессмыслица). Почти всегда виновато агрессивное квантование. Попробуйте более мягкую версию, например, ShapeLearn-Q4_0 вместо Q3_K_M. Да, скорость упадет до 35 токенов/с, но качество вырастет заметно.
Мой личный совет: после настройки сделайте полный бенчмарк, как в этих тестах, но для своих условий. Замерьте скорость на контекстах 1K, 32K, 64K, 128K. Эти цифры помогут понять, где реальные пределы вашей системы.
Вопросы, которые вы хотели задать, но стеснялись
Я вижу в мониторинге, что используется только 14 ГБ VRAM. Могу ли я загрузить больше слоев на GPU?
Нет. Эти 2 ГБ — буфер для кеша внимания и системных процессов драйвера. Если занять все 16 ГБ, первая же попытка генерации с контекстом больше 10 тысяч токенов приведет к вылету. Проверено на трех разных системах с RTX 5060.
Почему именно 43 слоя? Откуда эта магическая цифра?
Эмпирика. 60 слоев модели. Каждый слой в квантовании Q3_K_M занимает примерно 210-220 МБ VRAM. 43 слоя — это около 9.2 ГБ. Плюс веса эмбеддингов, плюс буферы — выходим на те самые 14.5 ГБ. 44 слоя уже стабильно превышают 15.2 ГБ, что опасно.
RTX 5060 или RTX 5070? Есть ли смысл переплачивать?
Для Qwen3.5 35B — да. RTX 5070 (партнерская ссылка) имеет 18-20 ГБ VRAM в базовой версии на февраль 2026. Эти лишние 2-4 гигабайта позволяют загрузить 48-50 слоев, что поднимает скорость до 55-60 токенов/с при том же контексте. Если вы собираете систему с нуля, лучше доплатить.
А как же Qwen3.5-27B на RTX A6000? Он же быстрее и требует меньше памяти.
Да, 27B версия более сбалансирована. Но 35B — это другой уровень reasoning-способностей, особенно для кодинга и сложной логики. Если вам нужно просто чатить, берите 27B. Если вы хотите модель, которая понимает нюансы и может работать с огромными контекстами как ее старший брат на 397B, но на скромном железе — этот гайд для вас.
Финальная мысль: через год, к февралю 2027, такие настройки будут выглядеть примитивными. Появятся новые методы квантования, лучше оптимизированные рантаймы. Но принцип останется: чтобы втиснуть большую модель в маленькую видеокарту, нужно жертвовать битностью, но не качеством квантования. И всегда оставлять память про запас. Не для будущего, а для того, чтобы система не легла прямо сейчас.