Выбор GPU для LLMs: сколько памяти GPU мне нужно?
Автоматический перевод
Эта статья была автоматически переведена с оригинальной английской версии.
Оцените память для весов, KV cache и рантайма, прежде чем сравнивать скорость GPU. Затем измерьте пропускную способность памяти, вычислительную производительность и соединения между GPU с предполагаемым распределением запросов. Даже если веса модели помещаются в память, её может не хватить при одновременной обработке нескольких длинных запросов.
Используйте в расчёте памяти требуемое число одновременных запросов и длины последовательностей.
Оцените потребление памяти
Модель с 7 миллиардами параметров, хранящаяся в FP16, занимает около 14 GB только под значения весов. INT4 уменьшает эти значения примерно до 3.5 GB, но коэффициенты масштабирования, неквантизированные тензоры и выделения памяти рантаймом требуют дополнительной памяти. Важен фактический объём памяти, выделенный для артефакта.
Затем оцените память KV cache с учётом архитектуры, точности кэша, длин активных последовательностей и размера батча. Наконец, учтите временные активации, буферы, накладные расходы аллокатора и резерв, определённый по измерениям.
В простом примере планирования 14 GB весов и измеренное выделение 4 GB под KV уже требуют 18 GB без учёта остальных выделений. На карте с 24 GB остаётся мало места, если накладные расходы рантайма или более длинные запросы занимают остаток. Это не означает, что у каждой модели с 7 миллиардами параметров кэш занимает 4 GB.
Пропускная способность памяти и соединения между GPU меняют сравнение
| Вариант GPU | Заявленная память | Заявленная пропускная способность памяти |
|---|---|---|
| H100 SXM | 80 GB HBM3 | 3.35 TB/s |
| H200 SXM | 141 GB HBM3e | 4.8 TB/s |
| B200 SXM | 180 GB HBM3e | До 8 TB/s |
Эти значения взяты из референсной архитектуры NVIDIA HGX. Они описывают конкретные варианты, а не взаимозаменяемые характеристики всех карт с одним названием семейства.
При декодировании с небольшими батчами чтение весов и состояния аттеншна может сделать пропускную способность памяти важнее пиковой производительности матричных операций. Более крупные батчи, длинные префиллы и оптимизированные ядра могут изменить ресурс, который ограничивает производительность. Если модели нужны несколько GPUs, учитывайте время коллективных коммуникаций и доступные соединения между устройствами.
Сравнивайте фактическую стоимость успешного запроса при одинаковых требованиях к качеству и латентности. Учитывайте необходимые группы GPU и неиспользуемую ёмкость; одна лишь текущая цена аренды не показывает эффективность сервинга.
Раздел о выборе GPU в LLM Engineering Guide сравнивает дополнительные устройства. Используйте планирование памяти KV cache, чтобы оценить переменный объём выделяемой памяти.