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

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

“`

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

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

Для решения этой проблемы исследовательская команда Apple представила уникальный алгоритм DeepPCR, который направлен на ускорение обучения и вывода нейронных сетей. Принцип работы DeepPCR заключается в том, чтобы рассматривать ряд из L шагов как решение некоторого набора уравнений. Для получения этого решения команда применила алгоритм параллельного циклического сокращения (PCR). Основное преимущество DeepPCR заключается в снижении вычислительной сложности последовательных процессов с O(L) до O(log2 L). Благодаря этому снижению сложности, особенно при больших значениях L, увеличивается скорость работы.

Команда провела эксперименты для проверки теоретических утверждений о сниженной сложности DeepPCR и определения условий ускорения. Применение DeepPCR для параллелизации прямого и обратного проходов в многослойных перцептронах позволило достичь ускорения до 30 раз для прямого прохода и до 200 раз для обратного прохода.

Команда также продемонстрировала адаптивность DeepPCR, используя его для обучения ResNet с 1024 слоями. Благодаря DeepPCR обучение можно завершить в 7 раз быстрее. Техника также используется в фазе генерации моделей диффузии, обеспечивая процесс генерации на 11 раз быстрее, чем последовательный подход.

Команда подвела итоги своей работы следующим образом.

  1. Представлен инновационный подход DeepPCR для параллелизации последовательных процессов в обучении и выводе нейронных сетей. Особенностью является способность снижать вычислительную сложность с O(L) до O(log2 L), где L – длина последовательности.
  1. DeepPCR использовано для параллелизации прямого и обратного проходов в многослойных перцептронах (MLPs). Проведен анализ производительности технологии, чтобы определить режимы высокой производительности метода с учетом основных параметров конструкции. Исследуется баланс между скоростью, правильностью решения и использованием памяти.
  1. DeepPCR используется для ускорения обучения глубоких ResNet на наборах данных MNIST и генерации в моделях диффузии, обученных на наборах данных MNIST, CIFAR-10 и CelebA. Результаты показывают, что при значительном ускорении DeepPCR достигает улучшения производительности до 7 раз для обучения ResNet и до 11 раз для создания моделей диффузии, сохраняя результаты, сравнимые с последовательными методами.

“`