Доверенные фреймворки машинного обучения


Скачать сборник технологий

Доверенные фреймворки машинного обучения

Фреймворк машинного обучения – это среда с набором инструментов для обеспечения быстрой разработки соответствующих программных продуктов. Наиболее популярными открытыми фреймворками считаются 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.

Для кого предназначены доверенные фреймворки?

Доверенные фреймворки предназначены для применения в компаниях, разрабатывающих приложения на основе машинного обучения и нацеленных на высокий уровень надёжности и безопасности ПО.

Перейти к списку всех технологий