Library for guaranteed backdoor neutralization of machine learning models
PROTECA предназначена для обеспечения гарантированной защиты прикладных систем искусственного интеллекта на основе нейронных сетей от бэкдоров и других воздействий.
PROTECA представляет собой программный модуль, расположенный по адресу https://pypi.org/project/PROTECA/.
Чтобы начать данную процедуру, нужно загрузить и установить все необходимые элементы из хранилищ Ubuntu.
Для установки дополнительных компонентов позже используем диспетчер пакетов Python pip.
Необходимо обновить локальный индекс пакетов apt, а затем загрузить и установить пакеты. Конкретный состав устанавливаемых пакетов зависит от того, какая версия Python будет использоваться в проекте.
Если используете Python 3, введите следующее:
sudo apt update
sudo apt install python3-pip python3-dev libpq-dev
Таким образом, будет установлен pip, файлы разработки Python для последующего использования библиотеки.
Создание виртуальной среды Python
База данных создана, теперь переходим к остальным требованиям проекта. Для удобства управления установим требования Python в виртуальной среде. Для этого потребуется доступ к команде virtualenv. Для установки используем pip.
sudo -H pip3 install --upgrade pip
sudo -H pip3 install virtualenv
После установки virtualenv переходим к проекту. Создайте в каталоге проекта виртуальную среду Python с помощью следующей команды:
virtualenv venv
Эта команда создаст каталог venv. В каталог будут установлены локальная версия Python и локальная версия pip. Необходимо использовать эту команду для установки и настройки изолированной среды Python.
Прежде чем установить требования Python, необходимо активировать виртуальную среду следующей командой:
source venv/bin/activate
Установка PROTECA Для установки программной библиотеки введите следующую команду:
pip install PROTECA
Для работы программного модуля необходима операционная система c перечисленными ниже установленными программными средствами:
- python3 – интерпретатор языка программирования высокого уровня Python.
- Модули, прописанные в файле requirements.txt
- CUDA версии 11.8. Рекомендовано для проработки блокнотов использовать инфраструктуру Google Collab.
Минимальные технические требования для запуска и использования открытой библиотеки Для корректного функционирования необходима следующая минимальная конфигурация аппаратной части:
- процессор не хуже Intel Core i7-4770K 3.50 GHz
- ОЗУ не менее 16 GB
- видеокарта не ниже GPU T4
Программная библиотека PROTECA обладает следующим функционалом:
- возможностью добавления предобученных моделей МО для их кросс-тестирования;
- изменение условий проведения тестирования;
- формирование рейтинга успешности тестов и устойчивости моделей МО;
- предоставление API сторонним сервисам.
Программная библиотека PROTECA содержит классы атак и защиты, которые могут помочь лучше понять атаки злоумышленников и разработать меры защиты на основе экспериментов. Каждый эксперимент (для любой модели МО) включает в себя 3 этапа:
Этап 1. Проверка качества предобученной модели МО;
Этап 2. Создание воздействия(-й);
Этап 3. Проверка эффективности выбранной защиты.