Исследователи из MIT разработали новый метод шифрования для работы с нейронными сетями в облаке — Gazelle. Сервер обрабатывает данные пользователя, не зная их содержания, то есть они остаются анонимными. Рассказываем о системе и её перспективах.


/ фото John Jones CC

Зачем понадобилась Gazelle


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

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

Как работает технология


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

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

В целом система состоит из трех компонентов. Первый — это гомоморфный слой (Homomorphic Layer), который содержит быстрые реализации гомоморфных операций: SIMD-сложение и SIMD-умножение (скалярное), а также автоморфизмы. Второй компонент — это ядра линейной алгебры (Linear Algebra kernels). Здесь «заключены» алгоритмы матрично-векторного умножения и гомоморфной свертки, а также системы поиска признаков изображений.

Третий компонент называется Gazelle Network Inference. Это система вывода, которая объединяет системы искаженного контура с ядрами линейной алгебры. Она представляет собой основу протокола для вывода результатов обработки нейронной сети.

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

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

Такое разделение нагрузки гарантирует, что нейросистема будет проводить сложные гомоморфные вычисления для одного слоя за раз. Это позволяет избежать зашумления данных и повысить производительность системы (так как искаженный контур лучше всего работает именно на нелинейных слоях). Аналогичный обмен данными поочередно выполняется для всех слоев сети.

Далее, проводится процедура разделения секретов. Данные, разбитые на несколько частей, синхронизируются и собираются воедино у клиента. Облачный сервис отправляет последнему ключ для расшифровки результата. Так одна сторона (пользователь) получает результаты классификации, а вторая сторона (сервер с нейросетью) не получает ничего.

Подробнее о системе можно узнать в статье, которую опубликовали исследователи по результатам своей работы.

Перспективы технологии


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


/ фото PxHere PD

Возможно, одним из юзкейсов станет алгоритм машинного обучения, который выявляет у пациентов наличие диабетической ретинопатии по снимку глаза. Система уже одобрена Управлением по санитарному надзору за качеством пищевых продуктов и медикаментов США и используется в больницах. Есть вероятность, что она станет первой, для которой реализуют Gazelle.

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



P.S. О чем еще мы пишем в блоге об IaaS:


P.P.S. Свежие посты из нашего блога на Хабре:

Комментарии (3)


  1. saipr
    04.09.2018 22:28

    Звучит красиво!


    1. AlexanderS
      04.09.2018 22:47

      Вот именно, что только звучит. А потом какой-нибудь деятель выяснит, что подмешивание определённого шума к зашифрованным данным прогоняемым через эту нейросеть позволяет дешифровать их!


    1. napa3um
      04.09.2018 23:35

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

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