Ученые из MIT и NVIDIA разработали две методики, которые ускоряют обработку разреженных тензоров, структур данных, используемых для высокопроизводительных вычислений. Эти методики могут значительно улучшить производительность и энергоэффективность систем, таких как масштабные модели машинного обучения, используемые в генеративном искусственном интеллекте.
Тензоры – это структуры данных, которые используют модели машинного обучения. Оба новых метода направлены на эффективное использование разреженности в тензорах, позволяя пропускать нулевые значения и экономить вычислительные ресурсы и память. Однако использование разреженности не лишено проблем. Например, определение ненулевых значений в больших тензорах – сложная задача.
Исследователи из MIT и NVIDIA предложили два решения. Первое позволяет аппаратным средствам эффективно находить ненулевые значения для различных шаблонов разреженности. Второе решение увеличивает использование буфера хранения и снижает трафик внешней памяти.
Один из разработанных акселераторов, HighLight, может обрабатывать различные шаблоны разреженности и эффективно работать даже с моделями без нулевых значений. Исследователи использовали “иерархическую структурированную разреженность” для представления различных шаблонов разреженности.
Другой подход,названный “Tailors” и “Swiftiles”, позволяет эффективно “перебронировать” данные для ускорения рабочих нагрузок. Этот метод быстро оценивает идеальный размер блока данных, экономя вычислительные ресурсы. Комбинация этих методов удваивает скорость и снижает энергопотребление в два раза по сравнению с существующими акселераторами.
“Swiftiles позволяет нам оценить, каким должен быть размер этих блоков без необходимости многократного уточнения оценки. Это становится возможным благодаря поддержке перебронирования”, – говорит Xue, один из авторов разработки.
В будущем исследователи планируют применить идею перебронирования к другим аспектам компьютерной архитектуры и усовершенствовать процесс оценки оптимального уровня перебронирования.