Opacus — это библиотека для безопасного обучения PyTorch моделей от FAIR. Opacus позволяет использовать дифференциальную приватность при обучении моделей. Дифференциальная приватность масштабируется лучше альтернативных методов.
Что такое дифференциальная приватность и зачем
Дифференциальная приватность (differential privacy) — это математический фреймворк для анонимизации конфиденциальной информации. Она часто используется в аналитике для анонимизации данных.
Подробнее про библиотеку
Цель Opacus заключается в сохранении приватности объектов данных с минимальным изменением качества итоговой модели. В библиотеке это осуществляется с помощью изменения стандартного PyTorch оптимизатора, чтобы внедрить в процесс обучение дифференциальную приватность. Подход основывается на версии стохастического градиентного спуска, которая использует дифференциальную приватность (DP-SGD).
Преимуществами Opacus являются:
- Скорость: Opacus использует Autograd из PyTorch, поэтому градиенты для батчей считаются быстрее, чем в существующих аналогах, где используется микробатчинг;
- Безопасность: в библиотеке используется криптографически безопасный генератор псевдослучайных чисел. Вычисления происходят на GPU для целого батча параметров;
- Гибкость: Opacus позволяет комбинировать код на чистом Python с кодом на PyTorch для кастомизации обучения;
- Интерактивность: Opacus трекает бюджет приватности (privacy budget) в каждый момент времени. Это позволяет останавливать обучение и следить за бюджетом приватности в реальном времени