Как видно из названия, это журнал стажера по машинному обучению (ML) в ImpactIA Foundation. Я постараюсь вести еженедельный журнал своей деятельности в Фонде, чтобы отслеживать свои успехи и оставлять дорожную карту для стажеров, которые придут после меня.
Введение
На прошлой неделе было время, которого с нетерпением ждут многие исследователи — ежегодная конференция по нейронным системам обработки информации. Он был основан в 1986 году как открытое междисциплинарное собрание исследователей, изучающих биологические и искусственные нейронные сети. Сегодня это одна из самых популярных конференций, связанных с искусственным интеллектом, на которую ежегодно поступают тысячи статей. Это издание из-за COVID-19 проводилось виртуально.
Наш Фонд уделяет большое внимание образованию во время работы, понимая, что постоянное развитие своих знаний в постоянно развивающейся области, такой как ИИ, необходимо для достижения целей Фонда. Поэтому на прошлой неделе я смог потратить половину своего рабочего времени на посещение различных обучающих курсов и семинаров. На нем было так много всего, что это было довольно ошеломляюще. Основные доклады, на которых я присутствовал, были:
- «Где нейронаука встречается с ИИ (и что нас ждет в будущем)», Джейн Ван, Кевин Миллер, Адам Марблстоун
- «Обучение с подкреплением в автономном режиме: от разработки алгоритма до практического применения», Сергей Левин, Авирал Кумар
- «Абстракция и мышление в системах ИИ: современные перспективы», Франсуа Шолле, Мелани Митчелл, Кристиан Сегеди.
- «Федеративное обучение и аналитика: промышленность встречается с научным сообществом», Брендан МакМахан, Вирджиния Смит, Питер Кайруз
Все они были невероятно захватывающими и информативными — и да, я признаю, что в некоторые моменты я не мог этого понять. В этом блоге я хочу обсудить федеративное обучение, новое захватывающее направление машинного обучения.
Время перемен
За последние годы крупные технологические компании, такие как Amazon и Google, создали империю облачных данных. Amazon Web Services и Google Cloud стали ключевыми компонентами бизнес-стратегии этого гиганта. В мире ИИ многие пользователи централизованно хранят свои модели и данные в этих популярных облачных сервисах. Хотя они предлагают немедленные практические решения, такая централизованная модель не приносит пользы обществу в долгосрочной перспективе. Клайв Хамбли сказал «Данные — это новая нефть», и мы не хотим жить в мире, где все наши данные принадлежат и хранятся крупными технологиями. В этом году в США проходят исторические слушания с участием крупных технологических компаний по антимонопольным вопросам. Люди заботятся о своих данных и хотят сохранить определенный контроль над ними.
За последние несколько лет набирает обороты новый подход: Федеративное обучение (FL). В то время как традиционные архитектуры моделей требуют, чтобы все данные хранились в одном месте, FL вместо этого распределяет процесс обучения по край. Чего ждать?
Что такое федеративное обучение?
Хорошо, давайте сделаем шаг назад. Представьте, что вы создаете мобильную службу перевода. Вы создали и запустили нейронную сеть на своих обучающих данных, развернули ее и теперь хотите собирать пользовательские данные с вашего веб-сайта или приложения, чтобы продолжать улучшать сервис. Эти локальные данные обычно отправляются на централизованную машину или в центр обработки данных («облако»). У этого подхода есть несколько недостатков. Во-первых, данные, собранные локальными устройствами или датчиками, должны быть отправлены обратно на централизованную машину или в центр обработки данных для обработки, прежде чем они будут возвращены на локальные устройства или датчики. Это требует времени и ограничивает возможности обучения в реальном времени. Во-вторых, существуют проблемы с конфиденциальностью данных при сборе и хранении данных ваших пользователей в одном централизованном месте. Мы видели, как обещания децентрализованной системы блокчейна с годами набирают популярность. FL также использует децентрализованную структуру для устранения вышеуказанных ограничений.
Вместо этого FL загружает текущую модель на локальное устройство или датчик и вычисляет обновленную модель, используя локальные данные. Эти локально обученные модели затем шифруют и отправляют обновление (обычно весовое) обратно на центральный сервер, который объединяет все эти небольшие обновления из различных источников в единую консолидированную и улучшенную глобальную модель, которая затем отправляется обратно на устройства, а цикл повторяется.
Давайте быстро перейдем к шагу за шагом, чтобы убедиться, что вы поняли предыдущий абзац:
- Локальное устройство загружает общую модель с центрального сервера.
- Рассчитайте ошибку модели по отношению к локальным данным
- Локальное устройство шифрует и подготавливает обновление (ошибку), которое отправляет обратно на центральный сервер.
- Центральный сервер объединяет (т. е. усредняет) все небольшие обновления, которые он получил, чтобы сформировать согласованное изменение в общей модели.
- Процедура повторяется
Теперь, хотя этот подход теоретически мог существовать какое-то время, лишь недавно он стал практическим подходом. За последние несколько лет смартфоны стали умнее (нет, я серьезно). Apple, Samsung и им подобные оснастили свои флагманские телефоны нейронными двигателями, способными быстро умножать матрицы (святой Грааль современных систем искусственного интеллекта, для отличного объяснения, прочитайте недавний блог моего коллеги о графических процессорах).
Почему это полезно?
Во-первых, он решает проблему прогнозирования и обучения в реальном времени, загружая модель локально и улучшая модель на основе локальных данных. Во-вторых, это шаг к приватности пользователя, поскольку центральный сервер никогда не соприкасается с данными пользователя. Это позволяет нескольким организациям совместно разрабатывать модели путем объединения своих данных без необходимости прямого обмена защищенными данными друг с другом. Таким образом, FL децентрализует машинное обучение, устраняя необходимость централизованного хранения данных. Это бесценно для больниц и других организаций, работающих в области медицины, где конфиденциальность пользователей имеет первостепенное значение.
Проблемы
Все это может показаться слишком хорошим, чтобы быть правдой, и, как и все в жизни, перед федеративным обучением стоят некоторые проблемы.
Коммуникация имеет решающее значение в сетях FL, поскольку данные остаются на каждом локальном устройстве, и только обновления модели передаются на центральный сервер. Это может стать узким местом, поскольку упрощенная реализация федеративной сети требует, чтобы каждое устройство отправляло полное обновление модели обратно на центральный сервер для каждого раунда. Вы можете себе представить, что это становится непрактичным, когда модели становятся очень большими. Тем не менее, для решения этой проблемы проводятся исследования, такие как Федеративное обучение: стратегии повышения эффективности связи (октябрь 2017 г.), в котором исследуются методы, которые могут снизить затраты на связь по восходящей линии связи.
Кроме того, федеративные сети должны быть в состоянии обрабатывать небольшие доли одновременно активных устройств, а также изменчивость аппаратного обеспечения, что повлияет на возможности хранения, вычислений и связи. Им также необходимо управлять упавшими устройствами в сети.
Возможно, самое главное, хотя это шаг к конфиденциальности пользователей, перехватывая и используя градиент или обновления модели с разных участвующих узлов, можно восстановить исходные частные данные. Для действительно гарантированной конфиденциальности нам нужна дифференциальная конфиденциальность (выходящая за рамки этого блога, но это хорошее введение).
Вывод
Этот блог задумывался как введение в федеративное обучение, поэтому он не затрагивает все аспекты этого подхода. Если вам интересно узнать об этом больше, я настоятельно рекомендую вам прочитать Федеративное обучение: проблемы, методы и направления будущего (август 2019 г.) группы исследователей из Университета Карнеги-Меллона, в котором представлен обширный обзор недавней работы. в этом домене.