Вечная боль AMD в AI: софт, софт и ещё раз софт
Железо у AMD давно не уступает NVIDIA. Radeon R9700, Instinct MI400 — цифры производительности в терафлопсах выглядят внушительно. Но каждый, кто пытался запустить современную LLM на AMD GPU, знает: теория расходится с практикой. Проблема не в вычислениях, а в том, как к ним обращаться. HIP (Heterogeneous Interface for Portability) — аналог CUDA, но библиотеки оптимизированных ядер для AI-операций (вроде flash-attention, fused kernels) под AMD пишутся с большим опозданием. Вручную.
Ранее мы рассказывали, как vLLM наконец-то получила нативный HIP-ядро для W4A16 — это был прорыв, но лишь для одного формата квантизации. А что насчёт специфических операций вроде RoPE, GELU, top-p sampling? Каждый раз ждать, пока кто-то напишет эффективный HIP-кернел, — дохлый номер.
Судя по датам, за 2025–2026 годы сообщество вручную написало около 200 HIP-ядер для основных AI-операций. Для сравнения: под CUDA их десятки тысяч. Разрыв колоссальный.
Новый игрок: RL + мультиагентный поиск = компилятор, который учится
Группа исследователей из Университета Цинхуа и AMD Research представила метод, который способен автоматически генерировать HIP-ядра для произвольных AI-операций. Суть: они обучили большую языковую модель (LLM) писать код на HIP, используя reinforcement learning и мультиагентный поиск. Звучит как научная фантастика? На практике — это эволюция подхода, который уже показал себя в AlphaZero и GitHub Copilot.
Модель не просто копирует примеры. Она генерирует варианты HIP-ядер, компилирует их, запускает бенчмарк и получает награду за скорость выполнения. Затем итеративно улучшает код. Мультиагентный поиск означает, что несколько копий модели соревнуются и обмениваются лучшими находками — так эффективнее исследуется пространство возможных оптимизаций (размеры блоков, развёртка циклов, использование shared memory и т.д.).
Ключевой ингредиент — синтетические данные. Исследователи сгенерировали сотни тысяч вариантов AI-операций (с разными размерностями, типами данных, паттернами доступа) и заставили модель учиться на них. В результате LLM научилась не просто подражать, а изобретать новые паттерны, которые не встречались в известных HIP-библиотеках.
Цифры: не просто слова, а 2.5x на реальных задачах
В опубликованной работе (arXiv, июнь 2026) результаты впечатляют. Для ключевых операций инференса LLM (например, fused multi-head attention projection) сгенерированные ядра оказались быстрее hand-tuned аналогов из состава Composable Kernel (библиотека AMD) в среднем в 2.5 раза. В отдельных случаях (flash attention variant для длинных последовательностей) ускорение достигало 3.8x.
Мы уже обсуждали, как KV Cache Sharing ускоряет инференс мультиагентных систем. Новый метод дополняет его — если раньше мы оптимизировали кеш, то теперь генерируются и сами kernels. Связка этих подходов может дать 3-5x на полном pipeline.
Но есть нюанс: генерация не бесплатна
Тренировка RL-модели потребовала около 10 000 GPU-часов на AMD Instinct MI400. Это дорого. Но идея в том, что обученная модель может генерировать ядра для новых операций за секунды — в runtime. Пока что такой подход применим для статических операций (фиксированных размеров, известных заранее). Для динамических (например, variable sequence length) нужны доработки.
Исследователи также отмечают, что сгенерированные ядра не всегда стабильны при экстремальных размерах (например, batch size 1 и огромный hidden dim). Тут ещё есть поле для RL-дообучения.
Что это значит для экосистемы?
Если метод дойдёт до production (а AMD уже анонсировала интеграцию в ROCm 7.0 для MI400 и Radeon R9700), то разработчикам AI-моделей больше не придётся ждать месяцами поддержки новых операций. Можно будет просто передать описание операции (в формате Triton или в виде математической спецификации) и получить скомпилированный HIP-кернел за пару минут.
Сборки вроде двух Radeon R9700 для AI-агентов перестанут быть компромиссом — дешёвая память AMD наконец-то сможет работать на полную мощность. А проклятие long-context, возможно, будет снято не только настройками, но и самим компилятором.
Живой автор: моё мнение
Я скептически относился к идее «AI напишет код для AI железа» — звучало как очередной хайп. Но факты упрямы: 2.5x на стандартных бенчмарках. Это не синтетические тесты вроде GEMM, а реальные операции из transformer. Если учесть, что через полгода-год появится версия для динамических форм, AMD может получить единую платформу kernel-generation как сервис. NVIDIA пока полагается на ручную оптимизацию cuDNN — да, она хороша, но не масштабируется под всё разнообразие emerging architectures. Возможно, именно автоматическая генерация ядер станет тем козырем, который выведет AMD в лидеры AI-инференса.
Конечно, надо дождаться практических репозиториев и повторить результаты. Но интерес уже есть. Если вы хотите первыми попробовать — следите за репозиторием HIP-Kernel-Gen на GitHub (пока приватный, обещают открыть в Q3 2026). И да, генетическая эволюция машинного кода на RTX 4090 — это было круто, но теперь у AMD появился свой эволюционный алгоритм. Хотя он больше про RL, чем про генетику. Не будем придираться.