<НА ГЛАВНУЮ

CUDA-L1: AI-фреймворк ускоряет производительность GPU в 3 раза с помощью контрастного обучения с подкреплением

Фреймворк CUDA-L1 от DeepReinforce использует контрастное обучение с подкреплением для автоматической оптимизации CUDA-кода, достигая в среднем 3,12× ускорения и до 120× в отдельных задачах.

Прорыв в оптимизации GPU с CUDA-L1

Команда DeepReinforce представила CUDA-L1 — автоматизированный фреймворк на основе обучения с подкреплением, который обеспечивает среднее ускорение в 3,12 раза и до 120-кратного ускорения в задачах на GPU. Эта инновационная система основана на контрастном обучении с подкреплением (Contrastive-RL), позволяющем ИИ анализировать и рефлексировать свои стратегии оптимизации, достигая превосходной производительности CUDA-кода без участия человека.

Что такое контрастное обучение с подкреплением

В отличие от традиционного обучения с подкреплением, использующего только числовые награды, Contrastive-RL включает в процесс обучения данные о производительности и предыдущих вариантах кода. Модель генерирует естественно-языковой "Анализ производительности", обсуждая, какой код был самым быстрым и почему. Это стимулирует сложное рассуждение и позволяет находить как известные, так и новые техники оптимизации.

Процесс обучения состоит из трёх этапов:

  1. Тонкая настройка на проверенном CUDA-коде, собранном из ведущих моделей.
  2. Самообучение, где ИИ генерирует и фильтрует работоспособный CUDA-код, улучшая корректность.
  3. Фаза Contrastive-RL, где сравниваются варианты кода и их скорость, что заставляет ИИ рефлексировать и совершенствоваться.

Реальные достижения производительности

Тестирование на KernelBench по 250 реальным задачам PyTorch показало:

  • Среднее ускорение: 3,12×
  • Максимальное ускорение: 120×
  • Медианный коэффициент успеха: 1,42× на 249 из 250 задач

Оптимизации работают на разных GPU NVIDIA, включая A100, H100, L40 и RTX 3090.

Примеры оптимизаций

  • Умножение матриц с диагональю: ИИ заменил неэффективное создание полной диагональной матрицы с помощью torch.diag на метод с расширением размерности и широковещательным умножением, снизив вычислительную сложность с O(N²M) до O(NM), что дало 64-кратное ускорение.
  • 3D транспонированная свёртка: Применена математическая оптимизация, которая позволила пропустить вычисления для гарантированно нулевых выходных значений, обеспечив 120-кратное ускорение.

Влияние на бизнес и исследовательскую деятельность

CUDA-L1 приносит следующие выгоды:

  • Экономия затрат: Каждое ускорение на 1% снижает использование облачных GPU и энергопотребление.
  • Ускорение разработки: Автоматизация оптимизации сокращает время выхода продуктов и уменьшает зависимость от экспертов CUDA.
  • Открытость: Все оптимизированные ядра CUDA и код доступны в открытом доступе для проверки.

Почему выигрывает Contrastive-RL

Этот метод позволяет ИИ обучаться через осмысленную самокритику, а не слепой пробой и ошибкой, что делает модель устойчивой к манипуляциям с вознаграждением и эффективнее традиционного обучения с подкреплением и эволюционных подходов. Он выявляет фундаментальные принципы оптимизации CUDA, такие как слияние операций, конфигурация блоков потоков и коалесценция памяти.

Основные техники оптимизации, открытые CUDA-L1

| Техника оптимизации | Ускорение | Описание | |-----------------------------|-----------------|------------------------------------------------------------| | Оптимизация расположения памяти | Постоянное | Эффективное использование кэша за счёт смежного расположения | | Доступ к памяти (коалесценция) | Среднее-высокое | Избегание конфликтов и максимизация пропускной способности | | Слияние операций | Высокое | Сокращение операций чтения/записи памяти | | Математическое короткое замыкание | Очень высокое | Пропуск вычислений, когда это возможно (10–100× ускорение) | | Конфигурация блоков потоков | Среднее | Адаптация размеров блоков под аппарат и задачу | | Сокращение на уровне warp | Среднее | Снижение разветвлений и затрат на синхронизацию | | Оптимизация регистров/памяти | Средне-высокое | Кэширование часто используемых данных рядом с вычислением | | Асинхронное выполнение | Переменное | Перекрытие ввода-вывода и вычислений для эффективности |

Будущее оптимизации с ИИ

CUDA-L1 демонстрирует, как ИИ становится самостоятельным инженером по оптимизации, повышая эффективность аппаратного обеспечения и продуктивность исследований без необходимости ручной настройки. Этот фреймворк задаёт новый стандарт автоматизированного улучшения производительности GPU.

Дополнительные материалы доступны на GitHub проекта CUDA-L1 с туториалами и кодом.

🇬🇧

Switch Language

Read this article in English

Switch to English