Современные вычислительные задачи в области искусственного интеллекта и машинного обучения неизменно требуют максимальной производительности аппаратных средств. Одним из наиболее актуальных вызовов является оптимизация GPU-ядер, особенно тех, которые отвечают за вычисления в трансформерных моделях, таких как механизмы внимания. Ручная настройка и разработка таких ядер требует глубоких знаний архитектуры оборудования, низкоуровневого программирования и оптимальных алгоритмов. Появление инструментов автоматизированной оптимизации, таких как OpenEvolve, способно изменить подход к решению этой проблемы, значительно повышая производительность без необходимости сложного ручного вмешательства.OpenEvolve представляет собой открытое воплощение системы AlphaEvolve от Google DeepMind.
Эта система применяет методы эволюционного программирования к исходному коду GPU-ядер, что позволяет автоматически искать и внедрять оптимизации, выходящие за пределы возможностей традиционной ручной разработки. В недавнем исследовании OpenEvolve показал выдающиеся результаты при оптимизации Metal-ядер для механизмов внимания трансформерных моделей на платформе Apple Silicon, обеспечив улучшение производительности на уровне порядка 12.5% и более.Ключевой задачей, которая была поставлена для OpenEvolve, стала оптимизация реализации Grouped Query Attention (GQA) в модели Qwen3-0.6B, включающей 40 голов запросов и 8 голов ключей-значений.
Исходной базой послужила высокооптимизированная производственная реализация scaled_dot_product_attention из MLX. Чтобы оценить потенциал эволюционной оптимизации, исследователи позволили системе изменить только исходный код Metal-ядер, сохранив при этом прочую инфраструктуру интеграции. Эволюционный процесс длился 25 итераций с разнообразным населением, включающим параллельно работающие «острова» — отдельные популяции с миграцией, что обеспечило эффективный комплексный поиск решений.Для оценки новых версий ядер применялся комплексный процесс, учитывающий не только производительность, но и точность вычислений, безопасность выполнения на GPU и стабильность результатов. В ходе эволюции OpenEvolve самостоятельно выявил ряд ключевых усовершенствований, продемонстрировавшихся в реальной работе.
Первым значительным открытием стала оптимизация с использованием SIMD-инструкций Apple Silicon. Вместо операций над отдельными элементами вектора, была найдена идеальная параметризация 8-элементных векторов, что в точности соответствовало ширине SIMD-блока на платформе. Такое решение позволило максимально задействовать вычислительные возможности GPU без дополнительной ручной настройки. Эволюционный алгоритм пришел к выводу, что вычисления с использованием 8-элементных векторов на головах размером 128 эффективно повышают пропускную способность и снижают вычислительные затраты.Вторым прорывом стал алгоритмический инсайт, выразившийся в переходе с традиционного трехпроходного алгоритма softmax к двухпроходному.
Эволюция слила вычисления нормализации softmax и накопления значений в один проход, тем самым снизив требования к пропускной способности памяти. Это изменение не только ускорило вычисления, но и улучшило устойчивость к ошибкам, снижая потенциальные задержки, связанные с повторным доступом к данным.Еще одной важной инновацией стала оптимизация под структуру памяти, специфичную для GQA и архитектуры Apple Silicon. Использование прямого маппинга голов с отношением 5:1 и адаптированная коалесцированная схема доступа к памяти позволили минимизировать задержки чтения и записи, улучшая общую пропускную способность и снижая нагрузку на систему памяти.В результате комплексной эволюционной оптимизации OpenEvolve достиг значительных качественных и количественных преимуществ.
Скорость декодирования на множестве прикладных задач выросла в среднем на 12.5%, при этом при определенных условиях наблюдался прирост до 106%. Скорость операций предварительного заполнения (prefill) увеличилась на 14.4%, общая пропускная способность выросла более чем на 10%. Интересно, что при этом архитектура обеспечивала практически полное сохранение корректности вычислений, не допуская сбоев и ошибок GPU.
Важно отметить, что были выявлены отдельные случаи регрессии в производительности, например, для очень коротких последовательностей или генерации кода, где показатели снижались. Тем не менее, подобные ситуации берутся в расчет и в дальнейшем планируется внедрять механизмы переключения между стандартными и эволюционно оптимизированными ядрами для обеспечения максимальной эффективности в разных сценариях.Ключевая заслуга OpenEvolve состоит в автоматическом открытии знаний, необходимых для глубокой аппаратной и алгоритмической оптимизации, без непосредственного участия экспертов в данных областях. Это демонстрирует потенциал эволюционных методов как инструмента для раскрытия скрытого потенциала аппаратной платформы и алгоритмов, что особенно важно в условиях стремительного развития компьютерных архитектур.Также OpenEvolve показал высокую надежность и безопасность.
Система оценки обеспечивала непрерывный контроль состояния GPU, предотвращая сбои и ошибки памяти, что необычно для автоматизированных систем экспериментов с низкоуровневым кодом. Внутренние механизмы автоматического восстановления и механизмы плавного выхода при сбоях гарантировали устойчивость процесса эволюции.Кроме этого, экосистема OpenEvolve постоянно развивается: реализованы возможности воспроизводимости результатов, визуализации эволюционных деревьев с динамическим отслеживанием производительности, а интеграция с параллельными «островами» популяций помогает лучше покрывать пространство оптимизаций. Такая техническая инфраструктура делает платформу уникально мощной для исследований и внедрений в области адаптивной оптимизации кода.В перспективе разработчики планируют расширять платформу для поддержки много-GPU конфигураций, в частности CUDA и ROCm, что расширит круг применений за пределы Apple Silicon.
Также рассматривается возможность оптимизации других критически важных компонентов трансформерных моделей, включая слои нормализации, функции активации и альтернативные структуры внимания.Кроме того, перспективными направлениями являются исследования мультизадачной оптимизации, объединяющей производительность, энергоэффективность и точность вычислений. Такая комплексная задача представляется исключительно сложной, однако наличие гибкой платформы с эволюционным поиском создает уникальные возможности для преодоления барьеров текущих методов.OpenEvolve демонстрирует, что автоматическое обнаружение современных высокопроизводительных ядров является не просто теоретической перспективой, а реальной технологией, способной конкурировать с экспертной инженерной работой. По мере быстрого развития аппаратных платформ и роста сложности моделей подобные системы становятся необходимым инструментом для повышения эффективности и ускорения инноваций.
Эти достижения открывают новые горизонты для исследователей и практиков, позволяя с помощью машинных методов раскрывать глубокие аппаратно-алгоритмические взаимосвязи и выявлять ранее недоступные улучшения. Эволюционная оптимизация таким образом становится уникальным союзником в поиске новых путей развития ИИ и высокопроизводительных вычислений.Для тех, кто заинтересован в практическом освоении технологии, OpenEvolve предоставляет полный комплекс инструментов для старта. Открытый исходный код, детальная документация и примеры использования, например, на базе MLX Metal-ядер, позволяют быстро погрузиться в процесс. Возможность интерактивного анализа развития эволюции и встроенные механизмы контроля делают платформу доступной как для исследователей, так и для квалифицированных разработчиков.
OpenEvolve не только меняет правила игры для оптимизации GPU-ядер, но и закладывает основу для будущих систем, способных автоматически создавать и улучшать программное обеспечение, адаптируясь к быстро меняющимся аппаратным условиям и новым вычислительным задачам. В эру, когда каждая миллисекунда и каждый байт памяти на счету, такие технологии станут неотъемлемой частью прогрессивных вычислительных экосистем.