Новые методы для ускорения вычислений в искусственном интеллекте

Исследователи из Массачусетского технологического института (MIT) и компании NVIDIA разработали две техники, которые ускоряют обработку разреженных тензоров — структур данных, используемых для высокопроизводительных вычислительных задач. Эти техники могут значительно улучшить производительность и энергоэффективность систем, таких как массивные машинно-обучающие модели, лежащие в основе генеративного искусственного интеллекта.
Тензоры — это структуры данных, используемые машинно-обучающими моделями. Обе новые методики направлены на эффективное использование так называемой разреженности — нулевых значений в тензорах. При обработке этих тензоров можно пропускать нули, экономя тем самым вычислительные ресурсы и память. Однако существуют сложности в использовании разреженности, такие как поиск ненулевых значений в больших тензорах и определение необходимого объема памяти для хранения различных областей тензора.
Исследователи MIT и NVIDIA разработали два решения для этих проблем. Одно из них — техника, позволяющая аппаратному обеспечению эффективно находить ненулевые значения для широкого спектра моделей разреженности. Другое — метод, который может обрабатывать случаи, когда данные не умещаются в памяти, что увеличивает использование буфера хранения и снижает трафик вне чипа.
Оба метода повышают производительность и снижают энергопотребление аппаратных ускорителей, специально разработанных для ускорения обработки разреженных тензоров.
"HighLight" — это аппаратный ускоритель, разработанный исследователями MIT, который может обрабатывать широкий спектр моделей разреженности и эффективно работать с моделями, не содержащими нулевых значений. Используя технику, названную "иерархическая структурированная разреженность", исследователи могут эффективно представлять различные модели разреженности, состоящие из нескольких простых моделей. Этот подход делит значения в тензоре на меньшие блоки с собственными простыми моделями разреженности.
"Tailors" и "Swiftiles" — это методы, которые позволяют "перебронировать" память для увеличения размера блоков данных, а также терпимо относиться к случаям, когда блок не умещается в буфере. Эти методы удваивают скорость и требуют только половины энергии по сравнению с существующими аппаратными ускорителями.
В будущем исследователи хотят применить идею перебронирования к другим аспектам компьютерной архитектуры и улучшить процесс оценки оптимального уровня перебронирования.