Объединение множество потоков данных в один может повысить скорость работы нейронных сетей и позволит решать более чем одну задачу за раз с помощью мультиплексирования. Об этом сообщили исследователи из Принстонского университета и назвали этот способ — DataMUX.
DataMUX: обработка множества сигналов одновременно
Так же как мультиплексирование помогает коммуникационному каналу нести несколько сигналов за раз, так и новые исследования показывают, что оно поможет нейронным сетям сканировать множество потоков данных одновременно, тем самым повышая скорость обработки и анализа данных.
Нейронам в искусственных нейронных сетях (neural nets) “скармливаются” данные, а сигналы передаются друг от друга. В результате этого “кормления” связи сети подстраиваются для нахождения наилучшего шаблона, который мог бы решить поставленную задачу, например, задачу распознавания. Количественная характеристика нейронных сетей оценивается через параметры.
Последние исследования показывают, что современные нейронные сети имеют параметров больше, чем их потенциально нужно. Поэтому количество параметров можно сократить на 90% без значимой потери точности, но зато уменьшается размер сети. Над этим задумались ученные Принстонского университета: если нейронные сети требуют больших вычислительных ресурсов, чем им нужно, то могут ли они анализировать множество потоков информации одновременно для обучения; прямо как радиоканалы, которые множество сигналов?
Исследователи разработали метод под названием DataMUX, на основании которой нейронная сеть может одновременно анализировать множество потоков данных для обучения в виде одного пучка информации. Это поможет существенно повысить производительность, требуя меньше времени, вычислений и памяти. Они предполагают, что их метод DataMUX (детально рассмотренную в онлайн-трансляции, бумажную версию которой можно получить в ArXiv) может быть первый примером мультиплексирования данных в сфере нейронных сетей.
Мы надеемся, что это окажет серьезный вклад в потребление ресурсов и ту среду, образовавшуюся вокруг моделей машинного обучения, особенно для вычислительных сервисов, которые обрабатывают огромное количество запрос одновременно.
— Vishvak Murahari
DataMUX содержит слои мультиплексирования и демультиплексирования в конце нейронной сети. Входящим сигналам дается уникальный ключ для идентификации. Затем слой мультиплексирования объединяет эти сигналы вместе в единый поток. После того как нейронная сеть обработает их, слой демультиплексирования преобразует их обратно в разные сигналы.
Исследователи провели эксперименты над DataMUX с разными видами сетей: трансформерами, многослойными перспептронами, сверточными сетями (CNN). Эксперименты включали несколько задач: распознавание изображений, классификация текстов (спам, бизнес-статья и пр.), распознавание именованных сущностей (люди, группы, места).
Эксперименты с трансформерами на классификации текстов показали, что они могут мультиплексировать до 40 входящих сигналов, достигая тем самым ускорения в 18 раз. При этом потеряли точность только в 2%.
“Мы стремимся улучшить выходные результаты моделей машинного обучения множеством способов”, — утверждает Murahari. “Это очень полезно, так как открывает двери тем приложениям, которые используют модель достаточно часто. Например, представьте вспомогательное приложение для написания писем, в которую внедрена новейшая лингвистическая модель, тогда её использование будет более интуитивной и гладкой.” И добавляет “продукты, которые используют огромные модели могут неплохо уменьшить потребляемые вычислительные ресурсы с помощью DataMUX. Можно себе представить, что модели будут крутиться на CPU, а не GPU. А это значит, что появятся больше приложений, которые будут работать на слабых устройствах.”
Увеличение производительности в 18, вместо ожидаемых 40, объясняется способом, при котором ключи, ассоциированные с сигналом, росли в длине с увеличением количества сигналов. В будущем планируется ускорить обработку путем других стратегий мультиплексирования и демультиплексирования.
Нейронная сеть, которая использует DataMUX, не ограничена для выполнения одной задачи над мультиплексированными данными такой как распознавание изображений. DataMUX может использовать объединённый сигнал для решения нескольких задач одновременно, например, и для распознавания изображений, и на классификацию текстов. Замечает исследователь из Принстона машинного обучения Karthik Narasimhan.
В будущем, исследователи попробуют поэкспериментировать с мультиплексированием новейших моделей в т.ч. BERT и GPT-3. Также они хотят изучить другие схемы мультиплексирования и дойти до такого уровня, что будут обрабатывать тысячи сигналов за раз.
Введение в нейронные сети
Код курса
PYNN
Ближайшая дата курса
16 декабря, 2024
Продолжительность
24 ак.часов
Стоимость обучения
54 000 руб.
А о том, как обучать свои собственные нейронные сети на реальных примерах Data Science вы узнаете на специализированном курсе «Нейронные сети на Python» в лицензированном учебном центре обучения и повышения квалификации разработчиков, менеджеров, архитекторов, инженеров, администраторов, Data Scientist’ов и аналитиков Big Data в Москве.