Размер модели на диске помогает начать расчёт, но не описывает весь расход памяти при работе. Сервер должен вместить веса, состояние текущих запросов и временные данные вычислений. Ниже — порядок оценки для инференса, то есть получения ответов уже обученной модели. Для обучения и дообучения нужен отдельный расчёт.
1. Разделите бюджет на составляющие
Веса — сохранённые параметры модели. Начните с точной версии чекпойнта, его формата и размера файлов весов. Не считайте весь каталог загрузки весами: там могут находиться дополнительные материалы. И наоборот, размер сохранённых тензоров не обязательно совпадёт с выделенной памятью GPU после загрузки и преобразования.
К весам добавьте KV-кэш, промежуточные активации, рабочие области вычислительных операций и служебные расходы среды исполнения. Резерв должен покрывать конкретный сценарий. Строка «свободно после загрузки» ещё не показывает, что произойдёт при нескольких длинных запросах. Зафиксируйте единицы: десятичные GB и двоичные GiB различаются.
2. Не путайте формат весов с гарантией экономии
Для грубой нижней оценки число параметров умножают на размер одного значения. Таблица показывает только номинальное хранение: коэффициенты квантования, метаданные и слои в другой точности добавляют расходы. Смешанный чекпойнт нужно оценивать по его реальному составу.
Уменьшение разрядности называют квантованием. Оно не гарантирует ускорение и сохранение качества на вашей задаче. Проверяются поддержка конкретного формата ускорителем и программой, доступность готовых весов и результат на контрольных примерах. Отдельно задавайте точность весов и KV-кэша: это разные настройки.
| Формат | Номинально на параметр | Что проверить отдельно |
|---|---|---|
| BF16 | 2 байта | Реальный состав весов и рабочую память |
| FP8 | 1 байт | Поддержку формата, коэффициенты и точность слоёв |
| INT4 | 0,5 байта | Способ квантования, служебные данные и качество |
3. Посчитайте цену длинного контекста
KV-кэш сохраняет промежуточные данные механизма внимания для уже обработанного текста. Его расход зависит от архитектуры, длины контекста, формата хранения и числа одновременно обслуживаемых последовательностей. Конкретная реализация может заранее выделять память; некоторые архитектуры ограничивают рост кэша. Поэтому одна формула без сведений о модели недостаточна.
Для теста задайте длину входа, максимальный ответ и параллельность одновременно. Сравните обычный режим с пиком, а не только один короткий запрос. Перенос кэша в системную RAM или его квантование может уменьшить расход GPU-памяти, но меняет условия работы. Решение принимайте по измеренным задержкам, пропускной способности и качеству.
4. Для MoE учитывайте все размещаемые веса
MoE, или «смесь экспертов», выбирает для обработки токена часть блоков модели. Число активных параметров описывает используемую часть вычислений, а не полный объём хранения. При размещении всех весов в GPU-памяти учитываются все эксперты и общие слои. Нельзя подставлять в расчёт только показатель active.
Если часть весов переносится в RAM или распределяется между узлами, это отдельная схема исполнения с собственными требованиями к передаче данных. Попросите указать, где находится каждая часть, что остаётся на каждом GPU и какие измерения подтверждают работу. Малое число активных параметров само по себе не подтверждает низкий расход памяти.
5. Проверьте распределение и реальный запас
Несколько GPU не превращаются автоматически в один большой накопитель памяти. Модель распределяет среда исполнения: например, делит вычисления внутри слоёв или размещает разные слои на разных устройствах. Проверяются поддержка схемы, межсоединения, расходы обмена, дублируемые данные и пиковый расход на самом загруженном GPU.
Сначала получите расчётный бюджет, затем запустите выбранные веса в согласованной среде. Измерьте память каждого GPU, задержки и ошибки при целевой нагрузке. Отдельно проверьте запуск и перезапуск. Оставшийся запас должен соответствовать согласованному росту, а не произвольному проценту. Если тест не проходит, меняют контекст, параллельность, формат или конфигурацию и повторяют измерение.
Положительный расчёт означает, что сценарий стоит проверить. Готовность подтверждает воспроизводимый тест конкретных весов, программной среды и нагрузки, а не сумма VRAM в спецификации.
Шесть пунктов перед выбором объёма памяти
Источники и документация
- Hugging Face Transformers: стратегии KV-кэша ↗
- Hugging Face: устройство и ограничения MoE ↗
- vLLM: распределение модели и масштабирование ↗
Материалы помогают подготовить требования. Точная конфигурация и условия фиксируются в предложении.
