HBM-память ускорителей: HBM2e, HBM3, HBM3e и почему она важна для LLM
Коротко: HBM (High Bandwidth Memory) — память из вертикально уложенных кристаллов DRAM, размещённая на одной подложке с GPU и подключённая шиной шириной 1024 бита на стек. Один стек HBM3 даёт около 819 ГБ/с, HBM3e — около 1,2 ТБ/с, поэтому H100 SXM получает 3,35 ТБ/с, H200 — 4,8 ТБ/с, а B200 — 8 ТБ/с. Для LLM объём HBM определяет, какая модель поместится в ускоритель, а полоса — скорость генерации токенов.
Что такое HBM и как она устроена
HBM — стандарт JEDEC для памяти с широкой шиной. Несколько кристаллов DRAM укладываются друг на друга и соединяются сквозными вертикальными каналами TSV (Through-Silicon Via). Получившийся стек размещается рядом с кристаллом GPU на кремниевой подложке-интерпозере, по которой проходят тысячи проводников.
Главное отличие от обычной видеопамяти — ширина шины. Чип GDDR6 подключается шиной 32 бита и работает на высокой частоте, стек HBM — шиной 1024 бита на умеренной частоте. В результате HBM даёт кратно большую полосу на ватт и на площадь платы.
Обратная сторона — сложность производства: стек нельзя заменить или добавить, объём памяти фиксируется на заводе. Основные производители HBM — SK hynix, Samsung и Micron.
Поколения HBM: полоса и объём на стек
Ниже — типичные параметры поколений. Конкретные значения скорости на контакт зависят от производителя и модели ускорителя.
| Поколение | Скорость на контакт | Полоса на стек | Объём на стек | Примеры ускорителей |
| HBM2 | до 2,4 Гбит/с | 256–307 ГБ/с | 4–8 ГБ | V100, A100 40 ГБ |
| HBM2e | 3,2–3,6 Гбит/с | 410–460 ГБ/с | 8–16 ГБ | A100 80 ГБ, H100 PCIe |
| HBM3 | до 6,4 Гбит/с | до 819 ГБ/с | 16–24 ГБ | H100 SXM, MI300X |
| HBM3e | 8–9,8 Гбит/с | 1,0–1,25 ТБ/с | 24–36 ГБ | H200, B200, B300, MI325X |
| HBM4 | шина 2048 бит | около 2 ТБ/с и выше | до 48–64 ГБ | Платформы следующего поколения |
Объём стека растёт за счёт высоты (8-Hi, 12-Hi — число кристаллов в стопке) и плотности самих кристаллов. Общая полоса ускорителя равна полосе стека, умноженной на число стеков: у H100 SXM пять активных стеков HBM3, у H200 — шесть стеков HBM3e.
Сколько HBM у популярных ускорителей
| Ускоритель | Тип памяти | Объём | Полоса |
| V100 | HBM2 | 16 или 32 ГБ | 900 ГБ/с |
| A100 40 ГБ | HBM2 | 40 ГБ | около 1,6 ТБ/с |
| A100 80 ГБ SXM | HBM2e | 80 ГБ | около 2,0 ТБ/с |
| H100 PCIe | HBM2e | 80 ГБ | около 2,0 ТБ/с |
| H100 SXM | HBM3 | 80 ГБ | 3,35 ТБ/с |
| H100 NVL | HBM3 | 94 ГБ | 3,9 ТБ/с |
| H200 | HBM3e | 141 ГБ | 4,8 ТБ/с |
| B200 | HBM3e | до 192 ГБ | до 8 ТБ/с |
| AMD MI300X | HBM3 | 192 ГБ | 5,3 ТБ/с |
| L40S (для сравнения) | GDDR6 | 48 ГБ | 864 ГБ/с |
Видно, что даже A100 по полосе памяти более чем вдвое превосходит L40S с GDDR6. Именно поэтому ускорители с HBM предпочтительны для генерации текста большими моделями, а карты с GDDR — для графики, видеоаналитики и инференса небольших моделей. Сравнение моделей NVIDIA — в статье как выбрать серверный GPU NVIDIA.
Почему для LLM важна именно полоса памяти
Генерация текста языковой моделью проходит в два этапа. Prefill — обработка входного запроса: все токены считаются параллельно, и этап ограничен вычислительной мощностью. Decode — генерация ответа по одному токену: для каждого нового токена GPU читает из памяти все веса модели, а вычислений на байт данных мало.
Поэтому скорость decode при малом числе одновременных запросов ограничена полосой памяти. Оценка сверху: число токенов в секунду на один поток ≈ полоса памяти ÷ объём весов. Для модели 70 млрд параметров в FP8 (около 70 ГБ весов) на H200 с полосой 4,8 ТБ/с теоретический предел — порядка 65–70 токенов в секунду на поток; на практике получается меньше из-за накладных расходов.
При увеличении батча (числа одновременных запросов) веса читаются один раз на весь батч, и суммарная производительность растёт. Но для этого нужен объём памяти под KV-кэш каждого запроса — и здесь снова решает HBM.
Как посчитать объём памяти под модель
Память ускорителя при инференсе расходуется на три составляющие: веса модели, KV-кэш и служебные буферы фреймворка.
- Веса = число параметров × байт на параметр. FP16 и BF16 — 2 байта, FP8 и INT8 — 1 байт, INT4 — около 0,5 байта. Модель 70B в FP16 занимает около 140 ГБ, в FP8 — около 70 ГБ, в INT4 — около 35–40 ГБ.
- KV-кэш = 2 × число слоёв × число KV-голов × размерность головы × байт × длина контекста × число запросов. Для модели класса Llama 3 70B (80 слоёв, 8 KV-голов, размерность 128) в FP16 это около 0,33 МБ на токен, то есть около 40 ГБ на один запрос с контекстом 128 тыс. токенов.
- Запас — 10–20% на активации, буферы и фрагментацию.
Пример: модель 70B в FP8 (70 ГБ) плюс 16 одновременных запросов по 8 тыс. токенов (около 42 ГБ KV-кэша в FP16) плюс запас — итого около 125 ГБ. Такая нагрузка помещается в один H200 141 ГБ, но требует двух H100 80 ГБ с тензорным параллелизмом.
Задача → какой объём HBM нужен
| Задача | Ориентир по памяти | Что подходит |
| Инференс моделей 7–13B | 24–48 ГБ | L40S, L4, A100 40 ГБ |
| Инференс 30–34B в FP16 | 80 ГБ | A100 80 ГБ, H100 |
| Инференс 70B в FP8 с длинным контекстом | 140 ГБ и более | H200 или 2 × H100 с NVLink |
| Инференс моделей 400B и выше | от 500 ГБ | Сервер HGX на 8 GPU |
| Дообучение 7–13B с LoRA | 48–80 ГБ | A100 80 ГБ, H100 |
| Полное обучение крупных моделей | Терабайты суммарно | Кластер HGX с InfiniBand |
При обучении памяти нужно в несколько раз больше, чем при инференсе той же модели: помимо весов хранятся градиенты, состояния оптимизатора и активации. Для распределения по многим GPU используют ZeRO и FSDP, а обмен между ускорителями идёт по NVLink и NVSwitch.
HBM и ECC: надёжность памяти
На дата-центровых ускорителях с HBM коррекция ошибок ECC включена штатно и не уменьшает доступный объём, в отличие от ряда карт с GDDR, где включение ECC резервирует часть памяти. Одиночные ошибки исправляются автоматически, двойные — фиксируются и приводят к сбросу задачи.
Начиная с A100, ускорители NVIDIA поддерживают row remapping — замену проблемных строк памяти на резервные. Число задействованных резервных строк ограничено, и его стоит проверять при покупке б/у:
nvidia-smi -q -d ECC— счётчики исправленных и неисправимых ошибок.nvidia-smi -q -d ROW_REMAPPER— число переназначенных строк и признак ожидающего переназначения.nvidia-smi -q -d PAGE_RETIREMENT— выведенные из работы страницы на V100 и более ранних моделях.
Ускоритель с исчерпанным резервом строк или с постоянно растущими неисправимыми ошибками следует считать неисправным.
MIG: как делить HBM между задачами
MIG (Multi-Instance GPU) — технология разделения одного ускорителя на изолированные части с собственной долей памяти, кэша и вычислительных блоков. Поддерживается на A100, A30, H100, H200 и Blackwell; A100 и H100 делятся на число экземпляров до семи.
Например, H100 80 ГБ можно разделить на семь экземпляров примерно по 10 ГБ или на два по 40 ГБ. Это удобно для инференса нескольких небольших моделей и для общих GPU-серверов в разработке. Для одной крупной модели MIG не нужен: ей требуется вся память и полная полоса.
Как выбрать ускоритель по памяти
- Определите модель и точность: число параметров и формат (FP16, FP8, INT4).
- Посчитайте объём весов и прибавьте KV-кэш для нужной длины контекста и числа одновременных запросов.
- Добавьте 10–20% запаса на буферы фреймворка (vLLM, TensorRT-LLM, SGLang).
- Выберите ускоритель, в который нагрузка помещается целиком, или комбинацию ускорителей с NVLink.
- Сравните полосу памяти: для чат-ботов и ассистентов с требованием к скорости ответа она важнее пиковых терафлопс.
- Проверьте поддержку форматов: FP8 аппаратно ускоряется начиная с Hopper, FP4 — на Blackwell.
- Оцените инфраструктуру: модели с HBM3e потребляют больше и требуют соответствующих серверов.
Подробный разбор конфигураций — в статье как выбрать GPU-сервер для ИИ.
Типичные ошибки
- Считать только веса. KV-кэш при длинном контексте и большом числе пользователей может превышать объём самой модели.
- Сравнивать GPU по терафлопс. Для генерации текста при небольшом батче решает полоса памяти.
- Путать H100 PCIe и H100 SXM. У них разная память: HBM2e около 2 ТБ/с против HBM3 3,35 ТБ/с.
- Рассчитывать на расширение памяти. HBM распаяна на подложке, её объём нельзя увеличить.
- Игнорировать ошибки ECC при покупке б/у. Деградация HBM не ремонтируется в обычных условиях.
Что учесть при закупке
- Точный вариант. Многие ускорители выпускались с разным объёмом (A100 40 и 80 ГБ, V100 16 и 32 ГБ) — сверяйте партномер и вывод
nvidia-smi. - Форм-фактор. SXM и PCIe-версии одной модели отличаются памятью, полосой и энергопотреблением.
- Состояние памяти. Для б/у ускорителей запрашивайте вывод счётчиков ECC и row remapping.
- Совместимость. Убедитесь, что сервер поддерживает выбранный ускоритель, его питание и охлаждение.
- Гарантия и сроки. Уточняйте срок гарантии и наличие: ускорители с HBM3e часто поставляются под заказ.
Подберём под задачу ускоритель с нужным объёмом и полосой памяти и поможем посчитать запас под KV-кэш.
Смотреть gpu и ai-серверы в наличии →