Google изобрела распределённый ИИ для миллиарда смартфонов
Только подумайте, какова совокупная вычислительная мощность всех смартфонов в мире? Это огромнейший вычислительный ресурс, который вполне может эмулировать даже работу человеческого мозга. Нельзя, чтобы такой ресурс простаивал без дела, тупо прожигая киловатты энергии на чатики и ленты социальных сетей. Если отдать эти вычислительные ресурсы единому распределённому мировому ИИ, да ещё снабдить его данными с пользовательских смартфонов — для обучения — то такая система может осуществить качественный скачок в данной области.
Стандартные методы машинного обучения требуют, чтобы набор данных для обучения модели («первичка») был собран в одном месте — на одном компьютере, сервере или в одном дата-центре или облаке. Отсюда его забирает модель, которая проходит обучение на этих данных. В случае с кластером компьютеров в дата-центре применяется метод стохастичного градиента (Stochastic Gradient Descent, SGD) — алгоритм оптимизации, который постоянно проходит по частям набор данных, гомогенно распределённый по серверам в облаке.
Компании Google, Apple, Facebook, Microsoft и остальные игроки в сфере ИИ давно занимаются именно этим: собирают данные — иногда конфиденциальные — с компьютеров и смартфонов пользователей в единое (предположительно) защищённое хранилище, на котором тренируют свои нейросети.
Сейчас учёные из Google Research предложили интересное дополнение к этому стандартному методу машинного обучения. Они предложили инновационный подход под названием федеративное машинное обучение (Federated Learning). Он позволяет всем устройствам, которые участвуют в машинном обучении, делить на всех единую модель для прогнозирования, но при этом не делиться первичными данными для обучения модели!
Такой необычный подход, может быть, и снижает эффективность машинного обучения (хотя это ещё не факт), но зато существенно снижает затраты Google на содержание дата-центров. Зачем компании вкладывать огромные суммы в своё оборудование, если у неё во всём мире есть миллиарды Amdroid-устройств, которые могут разделить нагрузку между собой? Пользователи могут быть рады такой нагрузке, ведь они тем самым помогают сделать лучше сервисы, которыми сами пользуются. А ещё защищают свои конфиденциальные данные, не отправляя их в дата-центр.
Google подчёркивает, что в данном случае речь идёт не просто о том, что уже обученная модель выполняется непосредственно на устройстве пользователя, как это происходит в сервисах Mobile Vision API и On-Device Smart Reply. Нет, именно обучение модели осуществляется на конечных устройствах.
Система федеративного обучения работает по стандартному принципу распределённых вычислений типа SETI@Home, когда миллионы компьютеров решают одну большую сложную задачу. В случае SETI@Home это был поиск аномалий в радиосигнале из космоса по всей ширине спектра. А в случае федеративного машинного обучения Google это совершенствование единой общей модели (пока) слабого ИИ. На практике цикл обучения реализован следующим образом:
- смартфон скачивает текущую модель;
- с помощью мини-версии TensorFlow осуществляет цикл обучения на уникальных данных конкретного пользователя;
- улучшает модель;
- вычисляет разницу между улучшенной исходной моделями, составляет патч с применением криптопротокола Secure Aggregation, который допускает расшифровку данных только при наличии сотен или тысяч патчей от других пользователей;
- отправляет патч на центральный сервер;
- принятый патч немедленно усредняется с тысячами патчей, полученных от других участников эксперимента, по алгоритму федеративного усреднения;
- выкатывается новая версия модели;
- улучшенная модель рассылается участникам эксперимента.
Федеративное усреднение очень похоже на вышеупомянутый метод стохастичного градиента, только здесь первоначальные вычисления происходят не на серверах в облаке, а на миллионах удалённых смартфонов. Основное достижения федеративного усреднения — в 10-100 раз меньший трафик с клиентами, чем трафик с серверами при использовании метода стохастичного градиента. Оптимизация достигнута за счёт качественного сжатия апдейтов, которые отправляются со смартфонов на сервер. Ну и плюс здесь используется криптографический протокол Secure Aggregation.

Google обещает, что смартфон будет производить вычисления для распределённой мировой системы ИИ только в моменты простоя, так что это никак не скажется на производительности. Более того, можно установить время работы только на время, кеогда смартфон подключен к электросети. Таким образом, эти расчёты даже не повлияют на время работы от аккумулятора. В данный момент федеративное машинное обучение уже тестируют на контекстных подсказках в клавиатуре Google — Gboard on Android.
Более подробно алгоритм федеративного усреднения данных (Federated Averaging) описан в научной работе Communication-Efficient Learning of Deep Networks from Decentralized Data, которая опубликована 17 февраля 2016 года на arXiv.org (arXiv:1602.05629).
Источник
От Джона Уилера до наших дней: эволюция концепции бозонных звезд
Космический телескоп «Роман» займется поиском древних черных дыр по поглощаемым ими звездам
Можно ли разделить фотон пополам с точки зрения квантовой физики?
Призрачные отсветы минувшего
Объективная реальность существует лишь благодаря другим людям
Как миллионы лет эволюции сделали из стрекоз непревзойденных пилотов
Именная гитара «Flying Arrow» Керри Кинга от B.C. Rich
Темная энергия под вопросом: почему рушится главная модель Вселенной