GPU
Graphics Processing Unit
GPU (Graphics Processing Unit) — специализированный процессор с массивно-параллельной архитектурой, ставший основным вычислительным устройством для обучения и инференса нейронных сетей.
Что такое GPU
GPU (Graphics Processing Unit) — специализированный процессор, изначально созданный для обработки графики, но ставший основой современного машинного обучения благодаря массивно-параллельной архитектуре.
Почему GPU для ML
В отличие от CPU с несколькими мощными ядрами, GPU содержит тысячи простых ядер, работающих параллельно. Это идеально подходит для операций линейной алгебры — умножения матриц, свёрток, — составляющих основу нейронных сетей.
Ключевые преимущества:
- Параллелизм: тысячи ядер выполняют одну операцию над разными данными (SIMT)
- Пропускная способность памяти: HBM обеспечивает до 3+ ТБ/с
- Tensor Cores: аппаратное ускорение матричных операций
Основные производители
| Производитель | Серия для ML | Особенности |
|---|---|---|
| NVIDIA | A100, H100, H200, B200 | CUDA, Tensor Cores, NVLink |
| AMD | MI250X, MI300X | ROCm, HBM3 |
| Intel | Gaudi 2, Gaudi 3 | Habana Labs |
Ключевые характеристики GPU для ML
- VRAM — объём видеопамяти определяет максимальный размер модели
- Tensor Cores — специализированные ядра для матричных операций в FP16/BF16/FP8
- Interconnect — NVLink/NVSwitch для связи между GPU
- TDP — тепловыделение, критично для планирования охлаждения
Пример: выбор GPU для LLM
Для инференса LLaMA 3 70B в FP16 требуется ~140 ГБ VRAM:
- 2× NVIDIA A100 80GB (NVLink)
- 1× NVIDIA H200 141GB
- С квантизацией INT4: 1× NVIDIA A100 40GB
# Оценка VRAM для модели
params_billions = 70
bytes_per_param = 2 # FP16
vram_gb = params_billions * bytes_per_param
print(f"Требуется VRAM: {vram_gb} GB") # 140 GB