Новинка NVIDIA B300 · серверы 288 ГБ HBM3e — от 4 019 $/мес. за GPU

Посмотреть B300

Модели ИИ и подбор GPU7 мин чтения

Сколько видеопамяти (VRAM) нужно вашей модели?

Память GPU определяет, какие модели вы можете запустить, насколько длинным может быть их контекст и сколько запросов вы можете обслуживать одновременно. Вот формулы, которые мы используем, примеры расчётов для популярных моделей с открытыми весами и самые дешёвые из наших серверов, подходящие для каждой из них.

Команда CryptGPUОпубликовано

Поделиться
XLinkedInRedditHacker NewsTelegramЭл. почта
Стеклянный чип памяти, заполненный до краёв светящейся нейросетью, в тепловизионном виде
В этой статье6 разделов · 7 мин чтения

Главное

  • Вес модели равен числу параметров, умноженному на количество байт на параметр: модели на 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 8B32 / 8 / 1280,13 МБ1,1 ГБ4,3 ГБ17,2 ГБ
Qwen3-32B64 / 8 / 1280,26 МБ2,1 ГБ8,6 ГБ34,4 ГБ (с YaRN)
Llama 3.1 70B80 / 8 / 1280,33 МБ2,7 ГБ10,7 ГБ42,9 ГБ
Llama 3.1 405B126 / 8 / 1280,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 GPU2 GPU4 GPU8 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, инференс в BF1619,2 ГБ1× RTX 4090, 269 $тот же
Llama 3.1 8B, LoRA24 ГБ1× RTX 5090, 329 $тот же
Qwen3-32B (32,8B), инференс в FP839,4 ГБ2× RTX 4090, 538 $тот же
Llama 3.1 70B, QLoRA52,5 ГБ2× RTX 5090, 658 $тот же
gpt-oss-120b (116,83B), MXFP475,9 ГБ1× RTX PRO 6000, 959 $тот же
Llama 3.1 70B, инференс в FP884 ГБ1× RTX PRO 6000, 959 $тот же
Llama 3.1 8B, полное обучение144 ГБ1× MI355X, 1 409 $2× RTX PRO 6000, 1 918 $
Llama 3.1 70B, LoRA210 ГБ1× MI355X, 1 409 $4× RTX PRO 6000, 3 836 $
Llama 3.1 405B, инференс в FP8486 ГБ2× MI355X, 2 818 $8× RTX PRO 6000, 7 672 $
DeepSeek-V3 или R1 (671B), инференс в FP8805 ГБ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 на странице цен, прочитайте про инференс-сервер для настройки движка и настройте сервер.

Пусть цифры заработают.

Настройте сервер и сравните его цену в месяц с медианой рынка.

Личный кабинет

Войти в CryptGPU

Ваши заказы, счета и серверы в одном месте.

Новичок в CryptGPU?

Аккаунты создаются при оформлении заказа: выберите сервер и программное обеспечение, затем создайте аккаунт на шаге Аккаунт первого заказа.

Запустить сервер