Hitech logo

Искусственный интеллект

Компилятор поможет оптимизировать модели ИИ

TODO:
Георгий Голованов5 февраля, 12:16

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

Самые интересные технологические и научные новости выходят в нашем телеграм-канале Хайтек+. Подпишитесь, чтобы быть в курсе.

Современные методы оптимизации алгоритмов могут быть громоздкими и обычно позволяют разработчикам менять один из двух видов избыточности в структурах данных глубокого обучения: разреженность или симметрию. Команда из Массачусетского технологического института дает возможность создавать алгоритмы, которые не будут ограничиваться чем-то одним. Эксперименты показали, что скорость вычислений может возрасти в некоторых случаях почти в 30 раз.

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

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

«Таким образом, мы получаем преимущества обеих видов оптимизации. А что касается симметрии, интересно, что чем больше измерений у тензора, тем дешевле получаются вычисления», — сказала Уиллоу Аренс, соавтор статьи, которую она и ее коллеги представили на Международном симпозиуме по генерации и оптимизации кода.

Поскольку SySTeC использует доступный программный язык, она годится для улучшения алгоритмов машинного обучения широкого спектра применения. Будучи автоматизированной, она подходит для ученых, которые не разбираются в глубоком обучении, но хотят оптимизировать производительность алгоритмов для обработки данных.

Учитывая высокую стоимость и низкую скорость обучения больших языковых моделей (БЯМ), исследователи и разработчики активно обсуждают, в состоянии ли увеличение циклов вычислений повысить производительность БЯМ без необходимости в их переобучении. Специалисты из DeepMind и Калифорнийского университета предложили новые способы повышения производительности БЯМ путем стратегического распределения ресурсов.