Автор: доктор Рэнд Хинди (генеральный директор) и доктор Джозеф Дюро (технический директор).

* Мы обновляем все материалы о токене AIR, следите за обновлениями!

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

В Snips мы решаем эту проблему за счет сочетания трех факторов:

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

Децентрализованная частная аналитика

Прежде чем мы сможем углубиться в детали того, как мы можем безопасно и конфиденциально децентрализовать обучение голосовых помощников, нам сначала нужно взглянуть на более простую проблему: децентрализованная частная аналитика.

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

Чтобы добиться этого, мы рассмотрели несколько различных подходов, от гомоморфного шифрования до дифференциальной конфиденциальности. Но именно благодаря использованию MPC с Secret Sharing мы в конечном итоге смогли эффективно и безопасно суммировать векторы по набору пользователей, не раскрывая вклад любого из них (также известная как частная аналитика). Наше первоначальное исследование было опубликовано более года назад вместе с библиотекой с открытым исходным кодом под названием SDA (Secure Distributed Aggregation), и теперь оно было адаптировано, чтобы побудить участников вести себя честно с помощью токена.

Вот как работает метод:

  • Секретное заполнение. Пользователи шифруют свои данные об использовании, добавляя случайный ключ секретной панели, прежде чем отправлять его разработчику с запросом аналитики. Поскольку разработчик не знает ключа секретной панели, у него нет возможности узнать, что на самом деле сделал пользователь.
  • Обмен секретами. Секретные планшеты пользователей распределяются по набору узлов обработки, называемых клерками, которые затем безопасно их объединяют. Любой может быть клерком, просто разместив токены Snips, включая устройства, на которых пользователи запускают своих помощников. Клерки затем выбираются с вероятностью, пропорциональной логу их ставки, и наказываются, если обманывают или не отвечают вовремя. Чтобы повысить безопасность и устойчивость к отключению клерков, блокноты делятся с клерками с помощью Shamir’s Secret Sharing. Для дополнительной безопасности можно также использовать доказательства с нулевым разглашением для публичной проверки того, что отправляются правильные акции.
  • Реконструкция. После того, как каждый клерк суммирует частичные доли, полученные от всех пользователей, он отправляет свой результат разработчику, который затем может восстановить сумму всех планшетов. Вычитание этого из суммы дополненных данных об использовании, первоначально отправленных пользователями, дает желаемую аналитику. После завершения процесса разработчик платит клеркам токенами за обработку данных, причем сумма пропорциональна тому, сколько данных они обработали.

Используя этот протокол, для конфиденциальных вычислений аналитики для отслеживания 100 различных событий более 250 тыс. Пользователей требуется, чтобы клерки загрузили файл размером 1 МБ и провели 6 минут вычислений фоновых задач на таком легком устройстве, как Raspberry Pi 3. Это означает любое устройство - от мобильный телефон к умной колонке - можно быть клерком и зарабатывать токены, участвуя в этой обработке.

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

Решение этих проблем называется дифференциальная конфиденциальность. Идея заключается в том, что вы хотите добавить шум к пользовательским данным, чтобы вы не могли узнать что-либо определенное на индивидуальном уровне, при этом наблюдая значимый сигнал на агрегированном уровне. Обычно это делается для аналитики в Chrome, основанной на алгоритме под названием RAPPOR. Перед отправкой отдельных материалов из наших браузеров добавляется немного шума, чтобы Google не узнал определенную информацию о своих пользователях. Поскольку шум добавляется локально, решение называется локальной дифференциальной конфиденциальностью.

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

Для решения этой проблемы существует альтернатива, называемая глобальной дифференциальной конфиденциальностью. Если одному или нескольким агрегаторам доверяют агрегирование сигнала или они делают это зашифрованным способом, как в SDA, клерки могут добавлять шум вместо пользователей. Это может обеспечить тот же уровень конфиденциальности, со значительно меньшим количеством шума, добавляемого к данным. Проведенный нами эксперимент показывает, что использование глобальной дифференциальной конфиденциальности с 1 000 пользователей обеспечивает такую ​​же эффективность прогнозирования, как RAPPOR с 1 000 000 пользователей, при этом гарантируя такой же уровень дифференциальной конфиденциальности.

Это означает, что сочетание частного агрегирования и глобальной дифференцированной конфиденциальности обеспечивает пользователям и разработчикам голосовых приложений такие же уровни конфиденциальности и точности, что и Google Chrome для своей аналитики, полагаясь на миллионы пользователей. Помимо чистой децентрализации, наше решение Private Analytics также демократизирует использование дифференциально частной аналитики!

Децентрализованное машинное обучение

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

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

Процесс выглядит следующим образом:

  • Аннотация. Пользователи комментируют свои данные с помощью приложения Snips или любого другого доступного инструмента. Это делается в частном порядке, так что никто не может получить доступ к их данным, кроме них самих.
  • Секретное заполнение. Их аннотированные данные затем используются для обновления градиента нейронной сети, работающей локально на их устройстве (помните, что Snips работает на устройстве на 100%!). Затем с использованием того же протокола, что и для аналитики, обновленный градиент шифруется путем добавления ключа секретной панели и отправляется разработчику с запросом обновленной нейронной сети.
  • Обмен секретами. Секретные планшеты пользователей затем безопасно собираются клерками по тому же протоколу, что и для аналитики.
  • Реконструкция. Затем разработчик выполняет операции реконструкции, опять же по тому же протоколу, что и для аналитики, но на этот раз платит как клеркам, так и пользователям, предоставившим свои данные.

Существует ключевая проблема, которую часто упускают из виду: большинство децентрализованных решений машинного обучения, таких как OpenMined, DML или BigAI, предполагают, что пользователи предварительно пометили данные на своих устройствах. Чтобы обучить контролируемую модель, вам нужны описания ситуаций (X) и соответствующие правильные решения, которые вы хотите, чтобы ИИ делал автономно (Y). Эти X и Y строго требуются для большинства практических приложений машинного обучения и проводят четкое различие между проблемами, которые сегодня можно решить децентрализованным способом, и теми, которые не могут.

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

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

Помимо стимулирования надзора и внесения вклада в глобальную градиентную общественность, существует ряд других проблем, которые необходимо решить, чтобы сделать федеративное машинное обучение реальностью. К ним относятся минимизация количества циклов обмена между устройствами и сервером, сходимость алгоритма оптимизации и т. Д. Это задачи, над которыми мы собираемся работать в следующем году, сотрудничая с партнерскими исследователями из LIP6 и INRIA.

Более подробную информацию о нашем подходе к федеративному обучению вы можете найти в этой презентации.

Если вам понравилась эта статья и вы заботитесь о конфиденциальности, нажмите кнопку хлопка, а затем твитните всех 👉👉 jodureau, randhindi и snips