Microsoft Research выпускает Heavy-Metal Quartet компиляторов искусственного интеллекта Rammer, Roller, Welder и Grinder

Microsoft Research releases the Heavy-Metal Quartet AI compilers Rammer, Roller, Welder, and Grinder.

Эволюция моделей и аппаратного ускорения искусственного интеллекта (ИИ) привела к уникальным проблемам для компиляторов. Эти проблемы возникают из-за постоянно изменяющейся архитектуры моделей ИИ, таких как переход от RNN и CNN к более новым моделям, таким как трансформеры, наряду с быстрыми достижениями в области аппаратного ускорения, такими как графические процессоры и нейропроцессоры. В результате эффективная компиляция стала крайне важной, чтобы обеспечить эффективную работу этих новых моделей ИИ на современном оборудовании.

Традиционные компиляторы ИИ обычно сталкиваются с ограничениями при оптимизации выполнения глубоких нейронных сетей (DNN). Нынешние компиляторы рассматривают вычисление DNN как графы потока данных с непрозрачными библиотечными функциями, что приводит к двухуровневому планированию, что вызывает значительные накладные расходы и недоиспользование аппаратных ресурсов. Кроме того, разделение данных и оптимизация доступа к памяти для моделей ИИ может быть трудоемким.

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

Группа исследователей из Microsoft Research представила новаторский набор компиляторов ИИ под названием “тяжелометаллический квартет”. В этот квартет входят Rammer, Roller, Welder и Grinder, каждый из которых разработан для решения определенных аспектов компиляции ИИ.

  • Rammer: Rammer переосмысливает пространство планирования для компиляции ИИ как двумерную плоскость и оптимизирует выполнение рабочих нагрузок DNN на массовых параллельных ускорителях. Rammer минимизирует накладные расходы планирования времени выполнения, располагая вычислительные задачи в виде “кирпичей” на этой плоскости, значительно повышая использование аппаратного обеспечения.
  • Roller: Roller оптимизирует эффективность компиляции путем эффективной формулировки стратегий разделения блоков данных. Он генерирует высокооптимизированные ядра за секунды, достигая трех порядков улучшения времени компиляции по сравнению с существующими компиляторами.
  • Welder: Welder всесторонне оптимизирует эффективность доступа к памяти для моделей DNN, уменьшая разрыв между пропускной способностью памяти и использованием вычислительного ядра. Он достигает значительного повышения производительности на различных моделях DNN и компиляторах.
  • Grinder: Grinder фокусируется на оптимизации выполнения управляющего потока в моделях ИИ, эффективно интегрируя управляющий поток в поток данных для эффективного выполнения на аппаратных ускорителях. Он достигает существенного ускорения для моделей DNN с интенсивным управляющим потоком.

Производительность квартета была оценена на нескольких устройствах и моделях ИИ. Rammer превзошел современные компиляторы, достигнув ускорения до 20,1 раза на графических процессорах. Roller продемонстрировал снижение времени компиляции на три порядка величины при сохранении конкурентоспособной производительности. Welder превзошел существующие фреймворки и компиляторы до 21,4 раза, с еще более значительными улучшениями в аппаратуре с более быстрыми вычислительными ядрами. Grinder достиг ускорения до 8,2 раза на моделях DNN с интенсивным управляющим потоком, что делает его самым быстрым среди компиляторов DNN для управляющего потока.

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