Сравнение производительности GPU для больших языковых моделей
2 мин. чтения
Стремительное развитие больших языковых моделей (БЯМ) ставит новые задачи в области вычислительной техники. Важнейший вопрос для меня – как показывают себя GPU при работе с этими моделями. В этой статье я намерен рассмотреть производительность различных GPU через призму концепций TFLOPS (триллионы операций с плавающей точкой в секунду) и TOPS (триллионы операций в секунду). Я представлю возможности отдельных моделей в наглядной таблице, дополнив ее краткими пояснениями.

Источник: Авторская работа
TOPS (тера-операций в секунду) и FLOPS (операций с плавающей точкой в секунду) – два важных показателя для характеристики производительности GPU, но они относятся к разным типам вычислительных операций, особенно при запуске и обучении БЯМ (больших языковых моделей).
TOPS (тера-операций в секунду)
- TOPS обычно измеряет производительность целочисленных операций (INT8, INT16, INT32 и т. д.).
- Он типично используется для AI-ускорителей (например, Tensor Cores, NPUs, TPUs), поскольку вывод (генерация выходных данных, предсказание) БЯМ часто использует операции с фиксированной точкой, которые более эффективны, чем вычисления с плавающей точкой.
- Для вывода используются операции INT8 или INT4, поскольку они снижают вычислительные и требования к памяти без существенного ухудшения производительности модели. Поэтому заявленная производительность AI-ускорителей часто указывается в TOPS.
- Пример: GPU может иметь производительность 200 TOPS для операций INT8, что означает, что он может выполнять 200 триллионов целочисленных операций в секунду.
FLOPS (операций с плавающей точкой в секунду)
- FLOPS измеряет скорость выполнения операций с плавающей точкой (FP16, FP32, FP64).
- Это критически важно для обучения БЯМ, поскольку большим моделям требуется точность FP16 или FP32 для точных расчетов весов и градиентов.
- Пример: современный GPU может иметь производительность 20 TFLOPS (терафлопс) FP32, что означает, что он может выполнять 20 триллионов операций с плавающей точкой в секунду.
- Для очень больших моделей (например, GPT-4 или Gemini) также используются операции FP16 (числа с плавающей точкой половинной точности) и bfloat16 (BF16), поскольку они быстрее, но при этом достаточно точны для обучения.
GPU | Tensor/AI Cores | FP32 (TFLOPS) | FP16 (TFLOPS) | BF16 (TFLOPS) | INT8 (TOPS) | VRAM (GB) | Mem. Bandwidth (GB/s) | Power Consumption (W) |
---|---|---|---|---|---|---|---|---|
NVIDIA H200 SXM | 528 | 67 | 1,979 | 1,979 | 3,958 | 141 (HBM3e) | 4,800 | 600-700 |
NVIDIA H100 SXM | 576 | 67 | 1,979 | 1,979 | 3,958 | 80 (HBM3) | 3,350 | 350-700 |
NVIDIA H100 PCIe | 576 | 51 | 1,513 | 1,513 | 3,026 | 80 (HBM3) | 2,000 | 350-700 |
NVIDIA A100 PCIe | 432 | 19.5 | 312 | 312 | 624 | 80 (HBM2e) | 1,935 | 250-400 |
RTX 6000 ADA | 568 | 91.1 | 48 (GDDR6 ECC) | 960 | 300 | |||
NVIDIA L40s | 568 | 91.6 | 48 (GDDR6 ECC) | 864 | 350 | |||
RTX A6000 | 336 | 38.7 | 48 (GDDR6) | 768 | 250 | |||
NVIDIA RTX 5090 | 680 | 104.8 | 450 | 900 | 32 (GDDR7x) | 1,790 | 575 | |
NVIDIA RTX 4090 | 512 | 82.6 | 330 | 660 | 24 (GDDR6x) | 1,008 | 450 | |
NVIDIA RTX 3090 | 328 | 40 | 285 | 24 | 936 | 350 | ||
NVIDIA RTX 2080 | 544 | 14.2 | 108 | 11 | 616 | 260 | ||
AMD MI300X | 61 | 654? | 1,307 | 2,615 | 192 (HBM3) | 5,200 | 750 |