| Подсистема | 1 узел (сервер) | Кластер (2+ узлов) |
|---|---|---|
| GPU-связь | NVLink Switch внутри узла (900 ГБ/с между 8 GPU) | NVLink внутри узла + InfiniBand между узлами (400 Гбит/с NDR) |
| Сеть | 1–2 порта Ethernet для управления | Отдельная InfiniBand-фабрика Fat-Tree + Ethernet для управления |
| Коммутаторы | Не нужны для GPU-трафика | Quantum-2 QM9700 (NDR) или Quantum QM8700 (HDR), leaf + spine |
| Хранение | Локальный NVMe в узле (2–8 ТБ) | Локальный NVMe + общая параллельная ФС (Lustre / GPFS / BeeGFS) |
| Программное | CUDA, драйверы, ML-фреймворк | Плюс NCCL с rail-optimized и MTU 4 КБ, Subnet Manager (OpenSM или UFM), Slurm/Kubernetes, checkpoint-политика |
| Планировщик | Локально запускаешь python train.py | Slurm или Kubernetes с GPU-плагином, очереди, приоритеты, отказоустойчивость |
| Мониторинг | nvidia-smi + журнал | Prometheus + DCGM Exporter + мониторинг фабрики (UFM), сквозные дашборды |
| Питание | 5–12 кВт на стойку | 20–50 кВт на плотную сборку, часто DLC |
| Параметр подбора | На что влияет | Что уточняем у клиента |
|---|---|---|
| Размер обучаемой модели | Выбор GPU (A100 40/80 vs H100 80 vs H200 141 ГБ), число узлов, тип параллелизма | Целевой размер параметров, тип модели (dense vs MoE) |
| Тип распределённого обучения | Требования к NCCL-пропускной, топология фабрики | Data-parallel, model-parallel, pipeline, tensor |
| Число узлов сейчас и через 12–24 мес | Число коммутаторов, топология, запас портов | План роста, бюджет CapEx |
| Datalayout — размер и формат датасета | Класс общей СХД, размер локального NVMe-кэша | Объём датасета, формат (JPEG, TFRecord, parquet) |
| Поколение InfiniBand | HDR 200G (для A100) vs NDR 400G (для H100/H200) | Модель GPU в узле, планы обновления |
| Условия ЦОД | Воздух (12 кВт/стойка) vs DLC (30–50 кВт) | Мощность стойки, готовность к DLC |
| Планировщик задач | Slurm (HPC-style) vs Kubernetes (cloud-native) | Что уже используется, число команд-пользователей |
| Checkpoint-политика | Требования к write-пропускной СХД, частота checkpointов | Стоимость потерянного часа обучения |
| Отказоустойчивость обучения | Дублирование Subnet Manager, hot-swap NVMe, N+N БП | SLA внутренней ML-платформы |
| Подход | Что параллелится | Нагрузка на InfiniBand | Когда применим |
|---|---|---|---|
| Data-parallel (PyTorch DDP, ZeRO-1) | Батч делится между узлами, модель целиком на каждом | Умеренная (all-reduce градиентов раз в шаг) | Модель влезает в один узел (до 70B на H200) |
| ZeRO-2 / ZeRO-3 | Оптимизатор + градиенты (ZeRO-2) или + веса (ZeRO-3) шардированы | Высокая (all-gather + reduce-scatter каждый шаг) | Модель не влезает в узел, экономим память |
| Tensor-parallel | Матричные операции слоя делятся между GPU (обычно внутри узла через NVLink) | Внутри узла — NVLink Switch, между узлами — очень высокая | Крупные слои трансформера (Megatron-LM), 8 GPU в узле |
| Pipeline-parallel | Слои модели распределены по узлам конвейером | Умеренная (только на границах ступеней) | Очень глубокие модели, компенсация memory-limit |
| 3D-parallel (DP+TP+PP) | Все три оси одновременно | Смешанная, самая сложная в тюнинге | Foundation-модели 70B+ (Megatron-LM + DeepSpeed) |