Повысьте производительность машинного обучения, отбросив нули

Обновление: 6 августа 2023 г.
Повысьте производительность машинного обучения, отбросив нули

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

Модели искусственного интеллекта развивают свой «интеллект», обучаясь на наборах данных, которые помечены, чтобы сообщить модели, как различать различные входные данные, а затем соответствующим образом реагировать. Чем больше размеченных данных поступает, тем лучше становится модель при выполнении той задачи, которую ей поручили. Для сложных приложений глубокого обучения, таких как беспилотные автомобили, это требует огромных наборов входных данных и очень длительного времени обучения, даже при использовании мощных и дорогих высокопараллельных суперкомпьютерных платформ.

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

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

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

«Как именно использовать разреженность для ускорения распределенного обучения - сложная проблема, - заявляет команда. «Все узлы должны обрабатывать блоки данных в одном месте во временном интервале, поэтому мы должны координировать узлы, чтобы гарантировать агрегирование только блоков данных в одном месте. Чтобы преодолеть это, мы создали процесс агрегатора для координации рабочих, инструктируя их о том, какой блок отправить следующим ».

Команда продемонстрировала свою схему OmniReduce на испытательном стенде, состоящем из массива графических процессоров (GPU), и достигла восьмикратного ускорения для типичного глубокое обучение Задачи.

ЭЛЕ Таймс
+ сообщения
  • BD Soft объединяется с Data Resolve, расширяет свои предложения в области кибербезопасности и корпоративной аналитики
  • Комбинированный подход позволяет найти лучшую прямую траекторию для построения пути робота
  • Один материал с двумя функциями может привести к более быстрой памяти
  • Новые Технологии Может принести самую быструю версию 5G к вам домой и на работу