Проблема коммуникации в эпоху масштабирования
По мере роста вычислительной мощности моделей ИИ узким местом становится не только локальная память, но и межпроцессорное взаимодействие. Нагрузка от коммуникации может составлять более 20% задержки при инференсе, и этот разрыв растет быстрее, чем увеличивается пропускная способность межсоединений. Традиционные бенчмарки фокусировались на однопоточных GPU, но реальные production-задачи требуют распределенных вычислений.
Компания Together AI представила ParallelKernelBench (PKB) — фреймворк для оценки способности LLM писать CUDA-ядра, которые заменяют стандартные связки PyTorch + NCCL на прямую передачу данных через NVLink. Задача моделей: заменить референсный код на кастомное ядро, использующее симметричную память и оптимизирующее коммуникацию.
Результаты тестирования: разрыв между надеждой и реальностью
В исследовании участвовали 87 задач, взятых из реальных кодовых баз таких систем, как Megatron-LM, DeepSpeed, TensorRT-LLM и NeMo-RL. Тестировались модели GPT-5.5, Gemini 3 Pro, Claude Opus 4.7, GLM-5.1/5.2 и DeepSeek V4 Pro. Результаты оказались скромными: даже лучшие модели решают лишь около трети задач корректно, а еще меньше из них превосходят базовый уровень производительности.
| Модель | Correct @1→3 | Fast @1→3 (лучше PyTorch+NCCL) | Примечание |
|---|---|---|---|
| GPT-5.5 | 28 → 36 | 22 → 27 | Лидер по количеству успешных оптимизаций |
| DeepSeek V4 Pro | 24 → 30 | 12 → 19 | Хорошая корректность, слабая оптимизация |
| Gemini 3 Pro | 20 → 31 | 12 → 20 | Средние результаты по всем метрикам |
| Claude Opus 4.7 | 20 → 31 | 12 → 20 | Сильная логика, но сложности с CUDA-спецификой |
| GLM-5.1 | 6 → 7 | 2 → 3 | Значительно отстает от лидеров |
Почему модели проваливаются?
Анализ ошибок выявил два основных паттерна. Слабые модели часто не могут даже скомпилировать код. Более сильные reasoning-модели (такие как GPT-5.5) успешно компилируют ядра, но выдают неверные результаты или вызывают дедлоки. Главная сложность заключается не в синтаксисе CUDA, а в логике распределения данных, координации рангов и порядке коллективных операций.
Кроме того, модели демонстрируют узкий набор используемых механизмов коммуникации. Они предпочитают простые copy engines или SM load/store, почти игнорируя более эффективные, но сложные в использовании инструменты вроде TMA (Tensor Memory Accelerator) и NVLS (NVLink Scale). Это связано с нехваткой обучающих данных по новым аппаратным абстракциям.
Есть ли успехи?
Несмотря на общие проблемы, были зафиксированы случаи, когда сгенерированные ядра превосходили публичные оптимизации. Например, одно из ядер для цикла обучения GRPO в NVIDIA NeMo-RL показало время выполнения 87.9 мкс против 320.6 мкс у референса PyTorch+NCCL, приблизившись к теоретическому пределу (roofline) в 4.99 мкс. Это доказывает, что потенциал у LLM есть, но для достижения production-уровня требуется более глубокая интеграция с аппаратными особенностями и, возможно, агентные циклы обратной связи.
Источник: Together AI ↗
