Сравнение производительности GPU для больших языковых моделей

Gábor Bíró 11 января 2025 г.
2 мин. чтения

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

Сравнение производительности GPU для больших языковых моделей
Источник: Авторская работа

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
Gábor Bíró 11 января 2025 г.