Microsoft исследователи предлагают PIT (Перестановочно-Инвариантное Преобразование) Компилятор Глубокого Обучения для Динамической Разреженности

Ученые компании Microsoft представляют PIT (Перестановочно-Инвариантное Преобразование) - компилятор глубокого обучения для динамической разреженности

На последних этапах, глубокое обучение было отмечено всплеском исследований, направленных на оптимизацию моделей для динамической разреженности. В таком сценарии образцы разреженности проявляют себя только во время выполнения программы, что представляет собой серьезную задачу для эффективных вычислений. Решая эту задачу наперекор, группа исследователей предложила новое решение, названное Перестановочно-невариантное преобразование (ПНП), продемонстрированное в их последнем исследовании на 29-й ACM конференции по принципам операционных систем.

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

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

Работа ПНП начинается с определения правил ПНП для всех операторов в заданной модели. Эти правила служат основой для генерации эффективных GPU-ядер, настроенных на конкретные требования динамической разреженности. Важно, что этот процесс полностью осуществляется во время выполнения программы, что гарантирует, что ПНП может динамически адаптироваться к разреженным образцам, по мере их развертывания. Реализация включает два критических примитива – SRead и SWrite – которые позволяют исполнять ПНП-правила быстро, поддерживая динамическую разреженность в режиме онлайн.

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

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

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

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