Проблема «налога на перемещение» данных
В современных кластерах ИИ перемещение весов моделей (checkpoints) размером в сотни гигабайт или терабайты становится узким местом. Традиционные подходы требуют загрузки данных из объектного хранилища (S3/HF) на локальный диск, затем в хост-память и только потом в GPU. Это создает избыточные копии и задержки, особенно при автоскейлинге, холодном старте (cold start) и RL-дообучении. NVIDIA ModelExpress (MX) решает эту проблему, меняя архитектуру загрузки: вместо многократных скачиваний из облака, система использует уже загруженные веса как источник для новых реплик.
Ключевая инновация: P2P RDMA через NIXL
Основной механизм ускорения — прямое взаимодействие GPU-to-GPU (P2P) через протокол RDMA с использованием библиотеки NVIDIA Inference Xfer Library (NIXL). Когда новая реплика запускается, MX проверяет, есть ли в кластере уже работающая нода с нужными весами. Если да, данные передаются напрямую между GPU, минуя объектное хранилище, локальный диск и CPU-буферы. Это превращает масштабирование из последовательной загрузки из облака в параллельное «разветвление» (fan-out) от существующих нод.
Производительность: от 8 минут к 1 минуте 44 секундам
На примере модели DeepSeek-V4 Pro (весы ~806 GiB) NVIDIA демонстрирует радикальное сокращение времени запуска:
- Время передачи весов: менее 10 секунд (за счет P2P RDMA).
- Общее время cold start: 1 минута 44 секунды.
- Сравнение: традиционный метод занимал около 8 минут.
Такой результат достигается за счет отказа от промежуточных копий и использования GPUDirect Storage (GDS) для чтения с локальных SSD напрямую в GPU, если P2P-источник недоступен.
Технические детали и интеграция
MX работает как слой управления (control plane) и передачи данных (data plane). Control plane координирует метаданные и совместимость версий, в то время как NIXL обрабатывает сам перенос байтов. Система поддерживает плагируемые бэкенды для InfiniBand, RoCE, NVLink и AWS EFA. MX уже интегрирован с популярными движками инференса: vLLM, SGLang, Dynamo и llm-d.
Сравнение подходов к загрузке весов
| Метод загрузки | Путь данных | Роль MX | Производительность |
|---|---|---|---|
| Традиционный (Cold Start) | Object Store → Disk → Host RAM → GPU | Нет (стандартная загрузка) | Медленно (~8 мин для 800GB+) |
| MX: Bootstrap (первая нода) | Object Store → CPU Buffer → GPU (без диска) | Model Streamer, multithreaded I/O | Быстро, но зависит от сети |
| MX: Scale-out (последующие ноды) | Source GPU → Target GPU (P2P RDMA) | NIXL, direct memory access | Экстремально быстро (<10 сек передача) |
| MX: Local Cache | Local SSD → GPU (через GDS) | Автоматическое обнаружение GDS | Высокая, без участия CPU |
Значение для индустрии
ModelExpress критически важен для экономии затрат на облачную инфраструктуру. Сокращение времени простоя GPU при масштабировании и обновлении моделей (например, при RLHF) напрямую снижает расходы на вычислительные ресурсы. Кроме того, механизм распределения кэша JIT-ядер и весов позволяет эффективнее использовать кластеры с динамической нагрузкой, где модели часто перезапускаются или масштабируются «на лету».
Источник: NVIDIA dev blog ↗
