ГлавнаяЛента

Разбор

Новая ИИ-архитектура Google: зачем нейросетям свои «эксперты»

2 февраля 2022, 11:48|
15573

В начале января разработчики Google Brain — исследовательского подразделения ИТ-корпорации — рассказали об архитектуре работы с нейросетями Vision Mixture of Experts (V-MoE) и опубликовали ее исходный код. Согласно их статье, такой подход — добавление в нейросеть специальных слоев-«экспертов» — позволяет добиться более высокой эффективности при работе с изображениями с помощью искусственного интеллекта без существенного увеличения вычислительных мощностей.

ICT.Moscow разобрался, в чем особенности этой архитектуры, действительно ли это новая разработка, а также насколько она применима для решения реальных задач в разных сферах и с применением разных ИИ-инструментов — текстовых, голосовых и визуальных. Разобраться в теме помог один из авторов разработки — научный сотрудник Google Brain Карлос Рикельме (Carlos Riquelme), а также ИИ-разработчики из Яндекса, SberDevices, ЦРТ, EORA, Intento, Tortu.

Новые «эксперты» для нейросетей 

Архитектура V-MoE, если обобщить выводы собеседников ICT.Moscow, — логическое, эволюционное развитие работы с нейросетями-трансформерами, которые были представлены Google Brain в 2017 году. Отличительная особенность визуальных трансформеров (ViT), как объяснил руководитель группы компьютерного зрения в беспилотных автомобилях Яндекса Кирилл Данилюк, — в них вкладывается меньше всего изначальных предпосылок (Inductive Bias). Иными словами, такие сети «настраивают сами себя», для чего, в свою очередь, требуются огромные наборы данных (датасеты) и вычислительные мощности. Соответственно, история развития трансформеров началась с текстовых моделей — наиболее известным примером служит GPT-3 (для русского языка «Сбером» была создана ruGPT-3).

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

Но есть проблема — чем больше параметров, тем больше надо делать вычислений, и любое увеличение глубины нейросети заметно сказывается на требованиях к вычислениям. Тогда же, в 2017 году, в Google стали думать, как сделать так, чтобы дальше можно было увеличить количество параметров, но не увеличивать требуемые вычисления — и таким образом получить более сложную сеть. И придумали, как использовать подход Mixture of Experts (MoE) и создавать внутри нейросети отдельные подсети и пускать вычисления не через все сразу, а только через специально выбранные роутером. На примерах Google видно, что маленькие архитектуры V-MoE содержат в четыре с половиной раза больше параметров при аналогичном количестве вычислений. Это соотношение справедливо и для остальных вариантов ViT vs V-MoE.

Задачи было две. Первая — обеспечить масштабирование модели на гораздо большее число параметров, чтобы работать с более сложными закономерностями. И вторая — хотелось сделать так, чтобы вычисления, которые производятся этой сетью, росли контролируемо.

Кирилл Данилюк

руководитель группы компьютерного зрения в беспилотных автомобилях Яндекса

Принцип построения нейросети-трансформера со слоями-«экспертами» MoE. Источник: Google Brain

Иными словами, сложность в следующем: для работы нейросетей-трансформеров с текстами уже нужно большое число параметров и серьезные вычислительные мощности (недаром одной из заметных тем ИИ-повестки последних лет стали суперкомпьютеры). А поскольку изображения — намного более сложный материал для обработки нейросетями, то и компьютеры должны быть намного более мощными — в квадратной пропорции, как пояснил Кирилл Данилюк. Чтобы сократить требуемые мощности, и была придумана MoE-архитектура (V-MoE для работы с изображениями).

Общим для этих сетей является то, что, их архитектура не является монолитной, а процесс обучения сквозным (с расчетом градиента сразу для всех весов сети). Вместо этого используется множество обученных по отдельности сетей-«экспертов», подключением/отключением которых (причем с разными весами) управляет отдельная нейросетевая модель-диспетчер (Gating Network). Такую архитектуру называют «смесью экспертов» (Mixture of Experts, MoE). Процесс обучения MoE-модели чем-то похож на послойное обучение глубоких сетей, популярное на границе тысячелетий.

UPD: В V-MoE эксперты «учатся по отдельности» не в том смысле, что они отдельно обучаются от остальной части сетки, а в том, что там разреженные активации, и градиенты за одно обновление только через одного «эксперта» проходят. Кстати, до Switch Transformer (разработанная в 2021 году модель нейросеть-трансформера Google Brain, для которой применяется подход MoE — прим.) на одном слое Switch Layer использовался не один «эксперт», а минимум два.

Сергей Марков

управляющий директор Управления экспериментальных систем машинного обучения SberDevices

Визуализация отличия в работе MoE-нейросети от обычных трансформеров при ограниченных вычислительных ресурсах. Источник: Google Brain

Карлос Рикельме из Google Brain пояснил ICT.Moscow, что для работы одной такой нейросети как правило требуется несколько компьютеров, объединенных в сеть, и тут кроется еще одна проблема, которая пока не решена.

Архитектура MoE позволяет работать с сетями, обладающими огромным числом параметров и способными обучаться крайне сложным функциям. Чтобы использовать возможности работы со столь высоким числом параметров, требуется много данных. Я полагаю, размеры датасетов росли на протяжении последних нескольких лет, и только недавно появилась возможность успешно обучать подобные распределенные сети (sparse networks).

С точки зрения разработки, внедрение и обучение таких нейросетей довольно сложное. Они настолько большие, что обычно распределяются на несколько компьютеров, и тогда передача даже одной единицы данных должна вестись на все компьютеры (например, введенные данные должны попасть сначала на один экспертный слой в машине J, а затем — на другой в машине K). Мы начинаем разрабатывать новые инструменты, чтобы работать с такими новыми типами моделей.

Карлос Рикельме

научный сотрудник Google Brain

Разработчики, с которыми поговорил ICT.Moscow, хоть и оценивают новую архитектуру позитивно, прорыва с прикладной точки зрения пока не видят. По словам Влада Виноградова из EORA Data Lab, эта разработка требует усилий для дальнейшего продвижения.

Вообще, их работа не такая неожиданная, чем, скажем, работа 2017 года с участием Джеффри Хинтона (известный ученый в сфере нейросетей — прим.). Есть и еще более раннее упоминание MoE — в статье 1991 года.

На изображениях Google собрал визуальный трансформер (ViT) с MoE и получил ускорение в два раза без потери качества. Это не прорыв — двойное ускорение не привлекает при высокой сложности реализации и обучения. Тем не менее, это может подойти для тех, кто выжал максимум из текущих методов ради баланса скорости и качества.

Для меня прорыв произойдет, когда удастся хотя бы десятикратно ускорить модель без потери качества.

Влад Виноградов

технический директор EORA Data Lab

Григорий Сапунов из Intento тоже отметил, что это довольно старый подход, и представленная Google в январе разработка — «не революция, а скорее последовательно более широкое применение уже известной идеи» (более подробный технический разбор этой архитектуры можно изучить здесь).

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

По размеру может получиться огромная нейросеть, сильно больше самой большой GPT-3, но в каждый момент времени только небольшая часть весов будет «работать». Раньше главная сложность в обучении таких архитектур, наверное, была в том, что они требуют более сложной распределенной инфраструктуры. Сейчас это уже не такая проблема.

Григорий Сапунов

сооснователь и технический директор в Intento

UPD (16.03.2022): ICT.Moscow также обсудил потенциальную применимость подобного типа нейросетей с представителем Департамента информационных технологий города Москвы (ДИТ Москвы).

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

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

ДИТ Москвы

Зачем нужны нейросети с «экспертами» 

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

Модели на основе MoE-подхода превосходят монолитные модели по числу параметров (и в то же время требуют при исполнении меньшего числа операций), поэтому V-MoE с 15 млрд параметров формально стала самой большой предобученной нейронной сетью для решения задач компьютерного зрения. Для сравнения, генеративные модели DALL-E и ruDALL-E содержат 13 млрд параметров, а сходные по функциональности с V-MoE сети ViT-G/14 (нейросеть-трансформер без «экспертов»  — прим.) — 1,8 млрд параметров, Florence — 637 млн параметров).

Сергей Марков

управляющий директор Управления экспериментальных систем машинного обучения SberDevices

Кирилл Данилюк из Яндекса сопоставил разработку в том числе и со сверточными нейронными сетями, которые предварительно настраиваются для корректной работы и сегодня используются в беспилотных автомобилях.

Оптимизированная сверточная нейросеть из тех, которые применяются в беспилотных автомобилях (в данном случае — классификатор), имеет порядка 10 млн параметров. Есть еще одна сверточная нейросеть — ResNet-152 — это 60 млн параметров, на порядок больше. Она уже слишком большая для использования в машине. Дальше Vision-трансформер (ViT) — 656 млн параметров, еще на порядок больше. И то, что представил Google — это 15 млрд.

Кирилл Данилюк

руководитель группы компьютерного зрения в беспилотных автомобилях Яндекса

15 млрд параметров для нейросетей V-MoE — вероятно, далеко не предел, если эта архитектура продолжит развиваться так же, как «материнская» MoE. Григорий Сапунов привел несколько примеров текстовых моделей, которые могут продолжить ряд, начатый экспертами из SberDevices и Яндекса: представленные в декабре языковые MoE-модели от Meta AI на 1,1 трлн параметров и от Google — GLaM на 1,2 трлн.

Второй эффект — это меньшие вычислительные мощности, которые требуются для работы с эквивалентным объемом данных. Этот эффект собеседники ICT.Moscow видят с двух позиций. Кирилл Данилюк из Яндекса рассматривает MoE как инструмент, позволяющий снизить рост требуемых вычислительных мощностей при увеличении числа параметров и данных (по сравнению с классическими трансформерами). А Григорий Сапунов из Intento ссылается на прямое сравнение работы GLaM (MoE-нейросети) с GPT-3 (сопоставимая ИИ-модель без «экспертов»). Получить точные показатели сложно, но, как пишет разработчик, в 5 из 7 категорий задач «GLaM заметно превзошла GPT-3».

С практической точки зрения — MoE-сети быстрее и лучше обучаются. Отсюда следует еще один эффект: если обучение происходит быстрее и качественнее, то заметно сокращается углеродный след от работы компьютеров. Правда, этот эффект пока не до конца понятен: неясно, какой вклад от другого «железа», софта, дата-центров и всего остального.

Григорий Сапунов

сооснователь и технический директор в Intento

Таким образом, четыре положительных эффекта MoE-сетей по сравнению с классическими трансформерами напрямую взаимосвязаны:

  1. они работают с большим числом параметров;
  2. им требуется меньше вычислительных мощностей;
  3. они быстрее и лучше обучаются на меньшем объеме данных;
  4. как следствие, сокращается углеродный выброс от работы компьютеров с такими нейросетями.

Но что это значит с практической точки зрения — где в реальности могут быть применимы MoE-нейросети и, в частности, V-MoE?

В каких сферах такие нейросети будут полезными 

Карлос Рикельме из Google Brain убежден, что в перспективе принципиальных ограничений применимости нейросетей с «экспертами» нет.

Такой подход уже успешно применялся в NLP и машинном переводе. Слои MoE (или, в целом, их Inductive Bias) могут применяться для любых задач машинного обучения. Мы полагаем, что это хорошее решение для тех задач, где вводимые данные могут быть разбиты на токены (например, слова в предложениях для языковых задач или кадры в видео).

Более того, архитектура MoE может быть полезной там, где решение одной из задач может мешать выполнению другой. То есть MoE позволяет легко изолировать специфичные части нейросети (в этом случае, обучение игре номер 2 не заставит «забыть», как играть в игру 1).

Карлос Рикельме

научный сотрудник Google Brain

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

При разработке разговорных интерфейсов можно выделить несколько слоев, на которых производится проектирование и реализация задачи. На наш взгляд, при работе с голосовыми и разговорными пользовательскими интерфейсами (VUI/CUI) более важную роль играет именно проектирование диалоговой системы (сценариев) — клиентский слой, чтобы диалог получился максимально человекоподобным, информативным и учитывающим все возможные развилки. NLP (инструментальный слой) играет роль системы обработки и классификации, на котором реализуется заложенная выше логика.

Работа с сегментацией проводилась и ранее — нельзя сказать, что это новый подход к работе с данными. Другое дело — применение этого подхода в алгоритмах обработки данных. Профилирование и узкое сегментирование повышает детализацию и качество анализа на конкретном участке, но при этом важно не терять контекст (общую картинку). Скорее всего, команда Google смогла найти оптимальный подход. Посмотрим на их результаты и на развитие выбранной архитектуры.

Юлия Мицкевич

операционный директор команды дизайна и разработки разговорных продуктов TORTU

Эксперты, работающие со статичными изображениями — аналогичными тем, которые приводят в пример разработчики из Google Brain, — тоже не спешат делать конкретных выводов относительно применимости V-MoE для своих задач.

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

Влад Виноградов

технический директор EORA Data Lab

Это касается и разработчиков, занимающихся нейросетями для анализа медицинских изображений.

Использование Mixture of Experts (MoE) в трансформерах для сегментации 2D- и 3D-медицинских изображений действительно может повысить точность и уменьшить время обработки исследования. При этом остается неисследованным вопрос о том, насколько хорошо переносятся веса модели на медицинские задачи.

Александр Громов

Computer vision team lead в компании «Третье Мнение»

Задача биометрического распознавания сложнее, чем работа со статическими изображениями. Но в компании ЦРТ, которая разрабатывает такие системы, уверены, что подобная архитектура нейросетей будет применима и в их разработках.

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

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

Дмитрий Дырмовский

генеральный директор Группы компаний ЦРТ

Наконец, самый сложный сценарий — это работа таких нейросетей «в поле», для решения задач в режиме реального времени. Здесь показательным будет пример беспилотников, которые не просто работают с изображениями в режиме реального времени, но в то же время должны быть максимально надежными. Есть ли перспектива V-MoE для решения подобных задач — вопрос пока открытый.

Беспилотник работает с картинкой с камер и с данными других сенсоров, а то, что мы видим у Google, — только про изображения. Очевидно, там не заложена работа с данными лидаров, радаров и так далее. Google использует датасет ImageNet с изображениями в низком разрешении (224 на 224 пикселя). Если же брать картинку в разрешении 1000 на 1000 пикселей (1000 в квадрате), то и сложность работы с ней возрастает пропорционально — квадратично. Плюс, мы работаем с видео, то есть с последовательностью кадров, а не с одним кадром. Нужно уметь обрабатывать поток изображений с частотой 10-30 кадров в секунду, это еще усложняет. 

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

Также стоит отметить, что цель работы модели «в бою» не в том, чтобы на каком-то датасете показать самые лучшие метрики (как это делает Google на датасетах JFT-300M и ImageNet). Цель в том, чтобы достаточно надежно видеть нужные типы объектов, делать это максимально быстро и максимально эффективно по ресурсам.

Кирилл Данилюк

руководитель группы компьютерного зрения в беспилотных автомобилях Яндекса

Собеседник ICT.Moscow подчеркнул, что даже с учетом снижения требований к вычислительным мощностям, «мы, наверное, могли бы решать наши задачи уже сейчас, если бы у нас на машине был дата-центр или кластер из нескольких мощных компьютеров». Иными словами, даже с учетом MoE для нейросетей-трансформеров требуется намного больше вычислений и данных.

Визуализация данных, собираемых лидаром на беспилотном автомобиле. Источник: Яндекс

Также открытым остается вопрос данных. Со сбором текстов для сетей-трансформеров проблем не было: разметка текста для датасета в этом случае происходит полностью автоматически. Работать со статичными изображениями для V-MoE сложнее, но разработчики Google Brain справились с этой задачей и собрали набор данных JFT-300M. Автоматизировать же сборку датасета для задач беспилотника — задача, пока не решаемая существующими методами.

Трансформеры требуют на порядок больше данных по сравнению с теми ИИ-моделями, которые применяются в беспилотниках сейчас. Если посмотреть на датасет JFT-300M, который Google собрали в полуавтоматическом режиме для обучения V-MoE, то он в 300 раз больше, чем ImageNet, на котором они показывают свой результат. И это сам по себе большой датасет, собранный за несколько лет.

Google придумал интересный способ автоматически собирать данные для такого класса задач. Как автоматически собирать разметку с камер и датчиков для задач беспилотника — пока открытый вопрос. Когда мир придумает, как собрать хорошую, качественную и автоматическую разметку для такого класса задач, наверное, мы приблизимся к тому, чтобы трансформеры начать использовать.

В любом случае, мы верим в то, что нейросети с V-MoE со временем придут в real-time-индустрию, то есть будут использоваться для решения задач «здесь и сейчас». Но будет ли это реализовано в беспилотниках — не факт.

Кирилл Данилюк

руководитель группы компьютерного зрения в беспилотных автомобилях Яндекса

Перспективы развития MoE-нейросетей

Работа с визуальными трансформерами, в том числе выполненными в архитектуре MoE, по мнению Сергея Маркова из SberDevices, в ближайшее время останется прежде всего прерогативой крупных исследовательских команд.

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

Сергей Марков

управляющий директор Управления экспериментальных систем машинного обучения SberDevices

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

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

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

Григорий Сапунов

сооснователь и технический директор в Intento

Отличительная черта мультимодальных нейросетей в том, что они обучаются параллельно на нескольких типах данных: например, текстах и изображениях. Примером может служить DALL-E — трансформер, генерирующий изображения на основе текстовых описаний. В одном из подкастов Сергей Марков из SberDevices, разрабатывавший русскую версию этой нейросети, ruDALL-E, подробно рассказывал об особенностях ее создания. Логично предположить, что мультимодальный подход будет интересен и разработчикам беспилотников, поскольку, как говорил Кирилл Данилюк, там также требуется несколько типов данных: с камер, лидаров и радаров, которые должны использоваться в рамках одной сети для единой задачи прогнозирования.

Если предположить, что MoE-нейросети действительно будут развиваться по тем направлениям, о которых сказал Григорий Сапунов — модуляризация, мультимодальность и масштабирование, — то это, вероятно, скажется на развитии тренда, о котором говорил ранее ICT.Moscow Игорь Пивоваров: появление Foundation Models.

Foundation — действительно большая тема, я про нее писал не так давно. Движение в ту сторону есть, и оно хорошее. MoE, конечно, может быть одним из решений в таких моделях, но необязательно. В целом оно нормально вписывается, в общем я бы ожидал, что часть Foundation Models будут на основе MoE. Но вряд ли все: еще какие-нибудь новые решения точно появятся. MoE — точно не финал истории.

Григорий Сапунов

сооснователь и технический директор в Intento

Расскажите знакомым:

Главное про цифровые технологии в Москве

Нажимая на кнопку, вы соглашаетесь с политикой конфиденциальности

Что такое ICT.Moscow?

ICT.Moscow — открытая площадка о цифровых технологиях в Москве. Мы создаем наиболее полную картину развития рынка технологий в городе и за его пределами, помогаем бизнесу следить за главными трендами, не упускать возможности и находить новых партнеров.



Если не указано иное, материалы доступны по лицензии Creative Commons BY 4.0