Почему старые модели тормозят на новом железе
В блоге NVIDIA Developer объясняется, что производительность LLM зависит от баланса между точностью, пропускной способностью (throughput) и интерактивностью (latency). На архитектуре Blackwell главная проблема — дисбаланс между вычислениями и перемещением данных. Если модель спроектирована без учета «потолка» (roofline model), GPU простаивает, ожидая данные из памяти, а не выполняя математические операции.
Ключевой вывод: для максимизации throughput (токенов в секунду) модель должна быть compute-bound (ограничена вычислительной мощностью), а для low-latency decoding — memory-bound, но с оптимизированным доступом. Инженеры NVIDIA рекомендуют смещать баланс в сторону вычислений через правильную размерность слоев.
Правило «квадратных» линейных слоев
Архитектура трансформера определяется соотношением ширины модели (hidden dimension H) и количества слоев. NVIDIA настоятельно рекомендует проектировать линейные слои так, чтобы их матрицы GEMM были максимально близки к квадратным (M ≈ N). Это увеличивает арифметическую интенсивность (операции на байт данных).
Если размерность H или промежуточного слоя H' мала, GPU тратит больше времени на чтение/запись, чем на умножение. Даже при большом количестве токенов (M) слой FFN-2 может оставаться узким местом, если K (размерность проекции) слишком мала.
Требования к размерности для Blackwell
Для эффективного использования GPU Blackwell (GB300/GB200) параметры модели должны быть выровнены под размер тайлов GPU. Идеальные значения — кратные 256 или 512. Это позволяет задействовать все ядра Tensor Cores без простоев.
| Параметр | Рекомендация NVIDIA | Почему это важно |
|---|---|---|
| Выравнивание размерностей | Кратное 128, идеально 256 или 512 | Максимальное использование памяти и вычислительных блоков GPU |
| Соотношение Width/Depth | Ширина > Глубина (Width-over-Depth) | Повышает арифметическую интенсивность, переводя нагрузку в compute-bound режим |
| Квантование | NVFP4 (для весов и активаций) | Минимальная потеря точности, максимальный throughput на Blackwell |
| Параллелизм | Expert Parallelism (EP) + Helix Parallelism | Масштабирование MoE-моделей на мультинодовые системы NVLink |
Пример: Почему FFN-2 может стать «бутылочным горлышком»
NVIDIA приводит конкретный бенчмарк для слоя FFN-2 на GB300 с параметрами H=8192 и H'=512. Несмотря на большой размер батча (16384 токенов), слой остается ограниченным памятью из-за малого размера K и разницы в точности записи (FP8) и чтения (FP4).
| Токенов (M) | Время математики (µs) | Время чтения FP4 (µs) | Время записи FP8 (µs) | Доминирующий фактор |
|---|---|---|---|---|
| 256 | 0.14 | 0.30 | 0.26 | Баланс |
| 2048 | 1.15 | 0.37 | 2.10 | Запись (Memory) |
| 16384 | 9.16 | 0.89 | 16.80 | Запись (Memory) |
Как видно из таблицы, при увеличении количества токенов время выполнения математических операций растет линейно, но время записи в память (FP8) растет быстрее, становясь главным ограничителем производительности. Это доказывает необходимость пересмотра размерностей H' для больших моделей.
Инструментарий и стратегии масштабирования
Для внедрения этих принципов NVIDIA предлагает использовать TensorRT Model Optimizer и LLM Compressor для квантования NVFP4. Для распределения больших MoE-моделей рекомендуются стратегии Expert Parallelism (EP) и Helix Parallelism в TensorRT-LLM, которые балансируют нагрузку между узлами NVLink, минимизируя задержки коммуникации.
Главный посыл статьи: проектируйте модель «под железо» на этапе архитектуры, а не пытайтесь оптимизировать уже готовую модель постфактум. Это сэкономит деньги на инфраструктуре и ускорит инференс.
Источник: NVIDIA dev blog ↗
