Оптимизатор для PyTorch: упрощение генерации ядер GPU через тензорную алгебру.

 Mirage: A Multi-Level Tensor Algebra Super-Optimizer that Automates GPU Kernel Generation for PyTorch Applications

“`html

Использование Mirage для генерации ядер GPU для внимания

Мираж: инновационный инструмент для автоматизации создания высокопроизводительных ядер GPU

С ростом искусственного интеллекта и внедрением крупных языковых моделей и генеративного ИИ возросла потребность в более эффективных графических процессорах (GPU). GPU – это специализированные вычислительные устройства, широко используемые для выполнения задач высокой вычислительной сложности и способные выполнять вычисления параллельно. Написание правильных ядер GPU важно для полного использования их возможностей. Эта задача довольно трудоемкая и сложная, требует глубоких знаний в области архитектуры GPU и некоторых языков программирования, таких как C++, CUDA и др.

Машиностроительные компиляторы ML, такие как TVM, Triton и Mojo, предоставляют определенную автоматизацию, но для получения оптимального результата все еще требуется ручное управление ядрами GPU. Для достижения оптимальных результатов и избежания ручной работы исследователи Университета Карнеги-Меллон разработали Mirage, инновационный инструмент, предназначенный для автоматизации генерации высокопроизводительных ядер GPU путем их поиска и создания. Ядра, сгенерированные Mirage, могут непосредственно использоваться на тензорах PyTorch и вызываться в программах PyTorch. Пользователям необходимо написать несколько строк кода в Mirage по сравнению с традиционным скриптом, который использует много строк.

Mirage можно рассматривать как инструмент, призванный изменить будущее, достигая высокой производительности, лучшей эффективности и большей корректности в приложениях искусственного интеллекта. Ручное написание ядер GPU может содержать ошибки, что затрудняет достижение необходимых результатов, но исследования по Mirage показали, что ядра, сгенерированные Mirage, работают на 1,2-2,5 раза быстрее, чем лучший код, написанный человеком. Кроме того, интеграция Mirage в PyTorch снижает общую задержку на 15-20%.

“`

Полезные ссылки: