Когда компания решает запустить языковую модель на своих серверах, первый практический вопрос звучит так: «Какие видеокарты покупать?» Ответ зависит от трёх вещей — размера модели, степени её «сжатия» и числа людей, которые пользуются ею одновременно. Все три можно оценить заранее, ничего не покупая.

Из чего складывается память

Память видеокарты уходит на четыре статьи:

  1. Веса модели. Сама «обученная часть». Занимают место всегда и целиком.
  2. KV-кэш. Память, в которой модель держит уже прочитанный контекст диалога. Растёт с длиной контекста и числом одновременных запросов.
  3. Рабочие буферы. Промежуточные расчёты и служебные структуры движка запуска.
  4. Запас. Фрагментация памяти и всплески нагрузки. Если считать «впритык», в работе модель упадёт с ошибкой нехватки памяти.

Веса: главная формула

Память под веса ≈ число параметров × байт на один параметр

Байт на параметр зависит от точности хранения: 2 байта — стандартная полуточность (FP16 или BF16), 1 байт — восьмибитное квантование (INT8), около полубайта — четырёхбитное (INT4). Квантование — это «сжатие» весов с небольшой потерей точности; о цене этой потери ниже.

МодельFP16 / BF16, ГБINT8, ГБINT4, ГБ
8 млрд параметров1684
14 млрд28147
32 млрд643216
70 млрд1407035

Это нижняя граница: реальный размер немного больше, потому что форматы хранения добавляют служебные данные, а у части слоёв точность не снижают.

KV-кэш: почему длинный контекст дорог

На каждый токен контекста модель хранит ключи и значения (отсюда K и V) для каждого слоя. Поэтому кэш растёт линейно: контекст вдвое длиннее — памяти вдвое больше, диалогов вдвое больше — тоже вдвое.

KV-кэш ≈ 2 × слоёв × KV-голов × размер головы × байт × токенов × диалогов

Возьмём условную модель на 8 млрд параметров: 32 слоя, 8 KV-голов, размер головы 128, кэш в FP16. На один токен это 2 × 32 × 8 × 128 × 2 = 131 072 байта, то есть 128 КиБ. Отсюда:

  • контекст 8 000 токенов — около 1 ГиБ на один диалог;
  • контекст 32 000 токенов — около 4 ГиБ на диалог;
  • десять одновременных диалогов по 8 000 токенов — около 10 ГиБ.

Это порядок величин, а не паспорт конкретной модели: у разных архитектур число слоёв и голов разное, а у моделей без сгруппированного внимания KV-кэш в несколько раз больше. Точные значения лежат в конфигурации выбранной модели — их нужно брать оттуда.

Считаем целиком: пример

Ассистент по документам для отдела: одновременно работают до десяти человек, контекст до 8 000 токенов (вопрос плюс найденные фрагменты). Модель на 8 млрд параметров в INT8.

СтатьяГБ
Веса, INT88
KV-кэш: 10 диалогов × 8 000 токенов≈ 10,5
Буферы и запас (около 15%, ориентир, не норматив)≈ 2,8
Итого≈ 21

Такая задача помещается в карту на 24 ГБ, но запас небольшой: вырастет число диалогов или длина контекста — упрёмся в потолок. Та же задача на модели 32 млрд в INT4 — это 16 ГБ весов, а кэш на токен у моделей такого размера обычно тяжелее, потому что слоёв больше. Итог легко выходит за 40 ГБ.

Какие видеокарты бывают по объёму памяти

КлассПамятьПримеры (ориентир, не рекомендация)
Потребительский24–32 ГБRTX 4090 (24 ГБ), RTX 5090 (32 ГБ)
Профессиональный48 ГБRTX 6000 Ada, L40S
Серверный80 ГБ и большеA100 80 ГБ, H100 80 ГБ

Модель можно разделить между несколькими картами. Это работает, но скорость начинает зависеть от связи между картами: у серверных ускорителей она быстрее, чем через обычную шину PCIe. Две карты по 24 ГБ — не то же самое, что одна на 48 ГБ.

Про поставки. Часть видеокарт приходит в Россию параллельным импортом: цены и сроки нестабильны, условия гарантии у поставщиков разные. Закладывайте запас по срокам и не привязывайте проект к одной конкретной модели карты.

Квантование: что вы теряете

Квантование уменьшает память и ускоряет ответ, но не бесплатно. Общая закономерность такая: восьмибитное сжатие в большинстве задач почти не заметно, четырёхбитное заметнее — особенно у небольших моделей и там, где нужно рассуждать по шагам или точно воспроизводить числа. Насколько заметно именно у вас, показывает только проверка на ваших вопросах.

Для ассистента по документам качество ответа часто упирается в поиск, а не в размер модели: если нужный фрагмент найден и подан модели, собрать из него ответ проще, чем рассуждать с нуля.

Что важно, кроме ёмкости

  • Пропускная способность памяти. На каждый новый токен модель читает все веса, поэтому именно она определяет скорость ответа. Ёмкость отвечает на вопрос «влезет ли», пропускная способность — «будет ли быстро».
  • Одновременные пользователи. Считаются по KV-кэшу, а не по числу сотрудников в компании. Сотрудников может быть тысяча, а спрашивают одновременно единицы.
  • Модель для поиска. Векторизация документов — отдельная небольшая модель, но память ей тоже нужна.
  • Процессор. Допустим для небольших моделей и редких запросов, но скорость обычно единицы-десятки токенов в секунду.

С чего начать

Не покупайте оборудование до пилота. Порядок такой:

  1. Описать задачу: сколько человек работает одновременно, какой длины документы и вопросы.
  2. Выбрать две-три модели разного размера и проверить качество на ваших вопросах — на обычной карте или на оборудовании, поставленном в ваш контур.
  3. Только после этого посчитать по формулам выше, что нужно под рабочую нагрузку, и добавить запас.

Если данные нельзя выносить за периметр, пилот тоже проходит внутри контура: арендованное облачное железо для него не подходит. Это обычная причина, по которой пилот в закрытом контуре стартует с одной карты, а не с кластера.

Частые вопросы

Можно ли запустить языковую модель без видеокарты?

Можно на процессоре, если модель небольшая, а запросов мало. Скорость обычно единицы-десятки токенов в секунду и падает с ростом контекста. Для диалога сотрудников с ассистентом такой режим чаще неудобен.

Нужна ли модель на 70 млрд параметров?

Не всегда. Для ассистента по документам часто хватает модели поменьше при хорошем поиске. Но «часто» не значит «у вас»: размер выбирается по результатам проверки на ваших вопросах.

Сколько пользователей выдержит одна карта?

Считается по KV-кэшу: свободная память после весов делится на память одного диалога при вашей длине контекста. Формул выше достаточно для прикидки, точные значения берутся из конфигурации выбранной модели.

Что дешевле: купить сервер или арендовать?

Если данные нельзя выносить из контура, аренда внешних мощностей не подходит вовсе — речь о своём оборудовании или оборудовании в вашем контуре. Если ограничений нет, сравнение зависит от нагрузки и сроков и считается отдельно.