Локальный запуск моделей: сколько нужно видеопамяти и что реально влезет

Главный вопрос локального запуска звучит так: влезет ли модель в видеопамять. Если влезает — работает быстро. Если нет — часть слоёв уходит в оперативную память, и скорость падает в разы. Считается это в уме, за минуту.
Формула на салфетке
Объём в гигабайтах примерно равен: число параметров в миллиардах × байт на параметр. Байт на параметр зависит от квантования — способа хранить веса с меньшей точностью:
| Формат | Байт на параметр | Модель 8B | Модель 32B | Модель 70B |
|---|---|---|---|---|
| FP16 (без сжатия) | 2 | 16 ГБ | 64 ГБ | 140 ГБ |
| 8 бит | 1 | 8 ГБ | 32 ГБ | 70 ГБ |
| 4 бита | 0,5 | 4 ГБ | 16 ГБ | 35 ГБ |
К этому добавьте запас 15–25 % на кэш контекста и служебные структуры. Чем длиннее контекст, тем больше запас: на длинных документах кэш может занять несколько гигабайт сверх весов.
Что это значит для типичного железа
- 8 ГБ видеопамяти. Модели до 8B в 4-битном квантовании. Компактные Qwen3, Gemma, Phi. Для повседневных текстовых задач и простого кода хватает.
- 12–16 ГБ. Модели 12–14B в 4 битах комфортно, 32B — впритык и с коротким контекстом.
- 24 ГБ. Рабочая точка для 32B в 4 битах с приличным контекстом. Практический оптимум для домашней машины.
- 48 ГБ и больше. 70B в 4 битах. Дальше — территория нескольких карт и серверного железа.
- Только процессор. Запустится почти всё, что влезает в оперативную память, но скорость — единицы токенов в секунду. Годится для фоновых задач, не для диалога.
Сколько теряется в качестве при квантовании
Сжатие до 8 бит практически незаметно. До 4 бит — заметно на сложных рассуждениях и длинных цепочках, но приемлемо для большинства задач. Ниже 4 бит деградация становится очевидной: модель начинает путаться в инструкциях и терять нить.
Практическое правило: крупная модель в 4 битах обычно лучше мелкой без сжатия. 32B в 4 битах при 16 ГБ памяти даст более качественный результат, чем 8B в FP16 на том же железе.
Что ещё влияет на скорость
| Фактор | Влияние |
|---|---|
| Пропускная способность памяти | Определяющая для генерации: чем быстрее память, тем больше токенов в секунду |
| Длина контекста | Обработка длинного ввода растёт нелинейно, первый токен ждёте дольше |
| Выгрузка слоёв в оперативную память | Падение в разы: держите модель целиком в видеопамяти |
| Размер батча | Важен для сервера с несколькими пользователями, для одиночной работы почти нет |
Когда локальный запуск оправдан
Оправдан: данные нельзя отправлять наружу; нужен предсказуемый расход без счёта за API; объёмная пакетная обработка, где важна не скорость, а цена; эксперименты с настройкой модели.
Не оправдан: нужны редкие запросы к самой сильной модели; нет подходящей видеокарты; ценна скорость ответа. В этих случаях API дешевле железа — и по деньгам, и по времени на настройку.
С чего начать проверку
Возьмите модель на 7–8B в 4-битном квантовании, запустите, замерьте скорость генерации на своей задаче. Если получилось больше 15–20 токенов в секунду — работать комфортно, можно пробовать модель крупнее. Если меньше — увеличивать размер бессмысленно, упрётесь в память.