Исследователи из 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. Свежие посты из нашего блога на Хабре:
- IETF предложили новый стандарт для обмена сообщениями — что нужно знать
- Японцы представили прототип процессора для эксафлопсного суперкомпьютера
Автор: it_man