Модели ИИ и подбор GPU7 мин чтения
Сколько видеопамяти (VRAM) нужно вашей модели?
Память GPU определяет, какие модели вы можете запустить, насколько длинным может быть их контекст и сколько запросов вы можете обслуживать одновременно. Вот формулы, которые мы используем, примеры расчётов для популярных моделей с открытыми весами и самые дешёвые из наших серверов, подходящие для каждой из них.
Команда CryptGPUОпубликовано

Главное
- Вес модели равен числу параметров, умноженному на количество байт на параметр: модели на 70B параметров нужно около 140 ГБ в BF16, 70 ГБ в FP8 и 35 ГБ в 4-битном формате.
- KV-кэш растёт вместе с контекстом и количеством параллельных запросов: 0,33 МБ на токен для Llama 3.1 70B в BF16, около 43 ГБ для одного разговора на 128K токенов.
- Правило подбора CryptGPU: 2,4 ГБ на миллиард параметров в BF16, 1,2 ГБ в FP8 и 0,65 ГБ в 4-битном формате, при этом полезными считаются 92% памяти GPU.
- Обучение требует намного больше памяти: около 18 байт на параметр для полного обучения с Adam, 3 ГБ на миллиард параметров для LoRA и 0,75 ГБ для QLoRA.
Начните с весов модели
Первое слагаемое простое:
weights (GB) = parameters (billions) × bytes per parameter
- BF16 или FP16: 2 байта на параметр. Llama 3.1 70B занимает около 140 ГБ.
- FP8: 1 байт. Та же модель занимает около 70 ГБ.
- 4-битные форматы, такие как GPTQ, AWQ или MXFP4: около 0,5 байта, на практике немного больше, так как в них также хранятся коэффициенты масштабирования. Та же модель занимает около 35 ГБ.
Реальные чекпоинты соответствуют этому правилу. У gpt-oss-120b 116,83 млрд параметров, его MoE-веса поставляются в формате MXFP4, а чекпоинт занимает 60,8 ГиБ (около 65 ГБ) — примерно 0,56 байта на параметр. У DeepSeek-V3 и DeepSeek-R1 671 млрд параметров, они опубликованы с весами в FP8, поэтому одна только основная модель занимает около 671 ГБ.
Добавьте KV-кэш
Во время генерации модель хранит вектор ключа и вектор значения для каждого токена каждой последовательности на каждом слое. Это и есть KV-кэш, и он растёт с длиной контекста и с количеством последовательностей, обслуживаемых одновременно:
KV per token (bytes) = 2 × layers × KV heads × head dimension × bytes per value
KV cache (bytes) = KV per token × tokens of context × concurrent sequences
Множитель 2 учитывает ключи и значения. Модели с групповым вниманием к запросам хранят намного меньше KV-голов, чем голов внимания, что делает размер кэша управляемым. У Llama 3.1 70B 80 слоёв, 8 KV-голов и размерность головы 128, поэтому в BF16 каждый токен стоит 2 × 80 × 8 × 128 × 2 = 327 680 байт, то есть около 0,33 МБ.
| Модель | Слои / KV-головы / размерность головы | На токен (BF16) | 8K токенов | 32K токенов | 128K токенов |
|---|---|---|---|---|---|
| Llama 3.1 8B | 32 / 8 / 128 | 0,13 МБ | 1,1 ГБ | 4,3 ГБ | 17,2 ГБ |
| Qwen3-32B | 64 / 8 / 128 | 0,26 МБ | 2,1 ГБ | 8,6 ГБ | 34,4 ГБ (с YaRN) |
| Llama 3.1 70B | 80 / 8 / 128 | 0,33 МБ | 2,7 ГБ | 10,7 ГБ | 42,9 ГБ |
| Llama 3.1 405B | 126 / 8 / 128 | 0,52 МБ | 4,2 ГБ | 16,9 ГБ | 67,6 ГБ |
Это значения на одну последовательность; 8K, 32K и 128K означают 8 192, 32 768 и 131 072 токена. Qwen3-32B обрабатывает 32 768 токенов нативно и 131 072 — с масштабированием YaRN. Тридцать два параллельных разговора по 8K на Llama 3.1 70B требуют 86 ГБ кэша — больше, чем сами веса в FP8. Серверы инференса, такие как vLLM, умеют хранить кэш в FP8, что уменьшает его вдвое. DeepSeek-V3 и R1 используют многоголовое латентное внимание, которое сжимает кэш в латентный вектор, поэтому эта формула завышает их потребности.
Оставьте запас
Веса и кэш — это не вся сумма. Активации, контекст CUDA или ROCm, буферы сервера инференса и фрагментация памяти также забирают свою часть. Две приближённые оценки помогают держать расчёты реалистичными:
- Считайте полезными около 92% памяти GPU. 80 ГБ у H100 дают около 73,6 ГБ, 288 ГБ у B300 или MI355X — около 265 ГБ.
- Для инференса при умеренном контексте добавляйте 20% к весам, или 30% для 4-битных форматов. Для длинных контекстов или больших батчей рассчитывайте KV-кэш явно.
Это даёт 2,4 ГБ на миллиард параметров в BF16, 1,2 ГБ в FP8 и 0,65 ГБ в 4-битном формате — коэффициенты, которые использует наш подбор GPU под модель. Применительно к нашим серверам полезная память выглядит так:
| GPU (память на GPU) | 1 GPU | 2 GPU | 4 GPU | 8 GPU |
|---|---|---|---|---|
| B300 или MI355X (288 ГБ) | 265 ГБ | 530 ГБ | 1 060 ГБ | 2 120 ГБ |
| B200 (180 ГБ) | 166 ГБ | 331 ГБ | 662 ГБ | 1 325 ГБ |
| H200 (141 ГБ) | 130 ГБ | 259 ГБ | 519 ГБ | 1 038 ГБ |
| RTX PRO 6000 (96 ГБ) | 88 ГБ | 177 ГБ | 353 ГБ | 707 ГБ |
| H100 (80 ГБ) | 74 ГБ | 147 ГБ | 294 ГБ | 589 ГБ |
| L40S (48 ГБ) | 44 ГБ | 88 ГБ | 177 ГБ | 353 ГБ |
| RTX 5090 (32 ГБ) | 29 ГБ | 59 ГБ | 118 ГБ | не предлагается |
| RTX 4090 (24 ГБ) | 22 ГБ | 44 ГБ | 88 ГБ | не предлагается |
| RTX 5080 (16 ГБ) | 15 ГБ | 29 ГБ | 59 ГБ | не предлагается |
Дообучение и полное обучение
Обучение хранит в памяти намного больше, чем просто веса.
- Полное обучение с Adam в смешанной точности требует 16 байт на параметр без учёта активаций: 2 — на веса в 16-битном формате, 2 — на градиенты и 12 — на мастер-веса в FP32 и два момента Adam, как описано в статье о ZeRO. Активации добавляются сверху и растут с размером батча и длиной последовательности, поэтому мы закладываем 18 байт на параметр: около 144 ГБ для модели 8B и 1,26 ТБ для модели 70B.
- LoRA замораживает базовую модель в 16-битном формате (2 байта на параметр) и обучает небольшие матрицы адаптеров. С учётом активаций закладывайте около 3 ГБ на миллиард параметров: 24 ГБ для модели 8B, 210 ГБ для модели 70B.
- QLoRA загружает замороженную базовую модель в 4-битном формате и обучает адаптеры поверх неё: около 0,75 ГБ на миллиард параметров, или 52,5 ГБ для модели 70B.
Шардирование с FSDP или DeepSpeed ZeRO распределяет эти состояния по GPU сервера, поэтому важен именно суммарный объём памяти сервера. См. настройку нескольких GPU.
Примеры расчётов
Вот эти коэффициенты, применённые к реальным моделям, с числом параметров по официальным карточкам моделей и с учётом того, что полезны 92% памяти:
| Модель и нагрузка | Требуемая память | Самый дешёвый подходящий сервер | Самый дешёвый сервер NVIDIA |
|---|---|---|---|
| Llama 3.1 8B, инференс в BF16 | 19,2 ГБ | 1× RTX 4090, 269 $ | тот же |
| Llama 3.1 8B, LoRA | 24 ГБ | 1× RTX 5090, 329 $ | тот же |
| Qwen3-32B (32,8B), инференс в FP8 | 39,4 ГБ | 2× RTX 4090, 538 $ | тот же |
| Llama 3.1 70B, QLoRA | 52,5 ГБ | 2× RTX 5090, 658 $ | тот же |
| gpt-oss-120b (116,83B), MXFP4 | 75,9 ГБ | 1× RTX PRO 6000, 959 $ | тот же |
| Llama 3.1 70B, инференс в FP8 | 84 ГБ | 1× RTX PRO 6000, 959 $ | тот же |
| Llama 3.1 8B, полное обучение | 144 ГБ | 1× MI355X, 1 409 $ | 2× RTX PRO 6000, 1 918 $ |
| Llama 3.1 70B, LoRA | 210 ГБ | 1× MI355X, 1 409 $ | 4× RTX PRO 6000, 3 836 $ |
| Llama 3.1 405B, инференс в FP8 | 486 ГБ | 2× MI355X, 2 818 $ | 8× RTX PRO 6000, 7 672 $ |
| DeepSeek-V3 или R1 (671B), инференс в FP8 | 805 ГБ | 4× MI355X, 5 636 $ | 4× B300, 16 076 $ |
Три замечания. OpenAI заявляет, что gpt-oss-120b помещается на одном GPU с 80 ГБ, например H100; наше правило оставляет больше запаса под кэш, поэтому в таблице фигурирует карта на 96 ГБ. Когда модель распределена по нескольким картам с PCIe (RTX 4090, RTX 5090, RTX PRO 6000), GPU обмениваются данными через PCIe, что медленнее, чем NVLink или Infinity Fabric, поэтому убедитесь, что ваш инференс-движок или обучающий фреймворк корректно работает с таким разделением. А для модели 405B на NVLink также подходят 2× B300 (8 038 $) и 4× H200 (9 116 $).
MI355X встречается часто, потому что в нашей линейке у него самое большое количество памяти на доллар; его особенности разобраны в нашей статье про MI355X.
Проверьте расчёт в подборе GPU под модель
Подбор GPU под модель в нашем конфигураторе применяет эти коэффициенты: выберите размер модели и тип нагрузки — и он покажет нужный объём памяти и самые дешёвые подходящие конфигурации с остатком свободной памяти. Считайте этот результат отправной точкой. Длинные контексты, большие батчи и некоторые движки требуют больше, чем даёт наша приближённая оценка, поэтому, прежде чем окончательно выбрать конфигурацию, загрузите модель один раз и понаблюдайте за реальным использованием памяти через nvidia-smi или rocm-smi.
Для открытых моделей, которые мы можем предустановить, — таких как Qwen, DeepSeek, gpt-oss, Gemma и Kimi, — страница открытых моделей показывает, сколько видеопамяти нужно каждой из них, и самый дешёвый сервер, на котором она запускается.
Когда вы определите нужный объём памяти, сравните GPU на странице цен, прочитайте про инференс-сервер для настройки движка и настройте сервер.




