Инструменты1 июля 2026 г., 01:01 МСК🤖 Auto

ParallelKernelBench: Почему LLM пока не умеют писать быстрые multi-GPU ядра

Новый бенчмарк ParallelKernelBench показал, что даже топовые модели вроде GPT-5.5 и Gemini 3 Pro не могут эффективно оптимизировать коммуникацию между GPU, решая менее трети задач быстрее базового PyTorch.

Баннер новости 2635

Проблема коммуникации в эпоху масштабирования

По мере роста вычислительной мощности моделей ИИ узким местом становится не только локальная память, но и межпроцессорное взаимодействие. Нагрузка от коммуникации может составлять более 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 ↗