Доверенные фреймворки машинного обучения
Фреймворк машинного обучения – это среда с набором инструментов для обеспечения быстрой разработки соответствующих программных продуктов. Наиболее популярными открытыми фреймворками считаются TensorFlow и PyTorch. Работа по созданию их доверенных версий ведётся в Исследовательском центре доверенного искусственного интеллекта (ИЦДИИ) ИСП РАН. Цель проекта − найти и устранить ошибки, которые могут вызвать некорректную работу фреймворков, а значит, привести к некорректной работе приложений.
Инфраструктура
Для анализа фреймворков развёрнута аппаратно-программная инфраструктура обеспечения доверия, с помощью которой проводятся:
- статический и динамический анализ кода;
- постоянная проверка новых изменений кода;
- синхронизация с оригинальными открытыми версиями.
Используемые инструменты (разработаны в ИСП РАН)
Svace − инструмент статического анализа исходного кода. Обнаруживает более 50 классов критических ошибок. Поддерживает языки C, C++, C#, Java, Kotlin и Go. Поставляется с web-интерфейсом просмотра предупреждений Svacer (Svace History Server).
Sydr+Sydr-fuzz – комплекс гибридного фаззинга и динамического анализа. Включает в себя Sydr − инструмент автоматической генерации тестов для сложных программных систем с целью увеличения покрытия кода и обнаружения ошибок, а также Sydr-fuzz – инструмент динамического анализа программ, который сочетает в себе возможности Sydr и современных фаззеров (libFuzzer и AFL++).
Результаты (данные на ноябрь 2023)
- Обнаружен ряд ошибок, почти все исправления приняты в основные ветки фреймворков:
- в TensorFlow найдены 27 ошибок (4 с помощью Sydr+Sydr-fuzz, 23 с помощью Svace), 26 исправлений приняты в основную ветку;
- в PyTorch найдены 39 ошибок (26 с помощью Sydr+Sydr-fuzz, 13 с помощью Svace), 36 исправлений приняты в основную ветку.
- 10 ошибок обнаружены в сторонних проектах (LLVM, oneDNN, miniz, torchvision, openjpeg).
- Разработана методика создания доверенных фреймворков.
- Разработаны доверенные фреймворки, которые апробированы на решениях индустриальных партнёров ИЦДИИ и внедрены в «Kaspersky Machine Learning for Anomaly Detection» v. 3.0.
Для кого предназначены доверенные фреймворки?
Доверенные фреймворки предназначены для применения в компаниях, разрабатывающих приложения на основе машинного обучения и нацеленных на высокий уровень надёжности и безопасности ПО.
Перейти к списку всех технологий