![](https://neurohive.io/wp-content/uploads/2019/10/Snimok-ekrana-2019-10-15-v-3.29.05.png)
CrypTen — это обертка над PyTorch для обучения нейросетевых моделей на зашифрованных данных. Это снимает ограничения в использовании PyTorch в задачах, где секретность данных приоритетна.
Несмотря на прогресс в обучении нейросетевых моделей, на данный момент мало инструментов для работы с зашифрованными данными. Это ограничивает использование ML в сферах, где данные засекречены. Например, медицинские данные или персональные данные пользователей онлайн-платформы. CrypTen нужен для обеспечения безопасности обработки зашифрованных данных.
CrypTen позволяет исследователям экспериментировать с ML моделями, в которых используются методы для обезопашивания вычислений. Через интеграцию с PyTorch разработчики упростили работу с библиотекой, сделав ее привычной для исследователей.
Исследователи могут обучить PyTorch модель, как ResNet, с использованием зашифрованных данных. При этом синтаксис в CrypTen максимально похож на PyTorch.
![](https://neurohive.io/wp-content/uploads/2019/10/Snimok-ekrana-2019-10-15-v-1.52.34-570x250.png)
Архитектура библиотеки
На данный момент в CrypTen реализован криптографический метод secure multiparty computation (MPC). В будущих релизах планируется добавить поддержку гомоморфного шифрования и безопасными анклавами. MPC отличается от RSA, AES и других протоколов шифрования, которые широко используются.
![](https://neurohive.io/wp-content/uploads/2019/10/Baal-scheme_EN-1-570x285.jpg)
В сравнении с предыдущими имплементациями вычислительных протоколов у CrypTen есть 3 преимущества:
- Фокус на применении библиотеки для обучения ML моделей. Практически идентичный с PyTorch синтаксис и работа с тензорами минимизируют время на адаптацию к библиотеке;
- CrypTen — это библиотека, а не компилятор, что упрощает процесс отладки и экспериментирования с моделями;
- Ориентированность на реальные кейсы при дизайне библиотеки
Несмотря на это, в текущей версии библиотека не готова к использованию в реальных продуктах.