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


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

Видеоролик о технологиях ИСП РАН

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

Фреймворк машинного обучения – это среда с набором инструментов для обеспечения быстрой разработки соответствующих программных продуктов. Наиболее популярными открытыми фреймворками считаются TensorFlow и PyTorch.

В Исследовательском центре доверенного искусственного интеллекта (ИЦДИИ) ИСП РАН разработаны доверенные версии фреймворков:

  • TrustFlow (на базе версий TensorFlow: 2.12, 2.16.1);
  • TrustTorch (на базе версий PyTorch: 1.11.0, 2.0.0, 2.3.0).

Это версии, в которых найден и устранён ряд ошибок, способных вызвать некорректную работу, а значит, привести к некорректной работе разрабатываемых приложений.

Доверенные фреймворки входят в состав Платформы доверенного искусственного интеллекта (ДИИ) ИСП РАН, которая объединяет инструменты, реализующие лучшие практики MLOps и методы для противодействия принципиально новым угрозам, возникающим на всех этапах жизненного цикла соответствующих технологий.

Краткое описание фреймворков

TrustFlow (зарегистрирован в Роспатенте)

Программа является доверенной версией открытого фреймворка Tensorflow, прошедшей проверки в соответствии с жизненным циклом безопасной разработки ПО. TrustFlow:

  • предназначен для повышения защищенности приложений, использующих технологии ИИ;
  • предоставляет возможность исправления всех обнаруженных уязвимостей;
  • может быть использован разработчиками прикладных приложений в области машинного обучения.

TrustFlow разработан ИСП РАН в рамках мероприятия «Создание доверенных, с точки зрения безопасности исходного кода, версий выбранных открытых фреймворков с интеграцией предложенных исправлений» Программы центра ИИ «Разработка методов и технологий создания систем доверенного искусственного интеллекта» по направлению доверенный искусственный интеллект.

Тип ЭВМ: IBM PC-совместимый компьютер.
ОС: Linux.
Язык программирования: C++.

TrustTorch (зарегистрирован в Роспатенте)

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

TrustTorch:

  • предназначен для повышения защищенности приложений, использующих технологии ИИ;
  • предоставляет возможность исправления всех обнаруженных уязвимостей;
  • может быть использован разработчиками прикладных приложений, в которых применяются методы машинного обучения, в частности, нейронные сети.

TrustTorch разработан ИСП РАН в рамках мероприятия «Создание доверенных, с точки зрения безопасности исходного кода, версий выбранных открытых фреймворков с интеграцией предложенных исправлений» Программы центра ИИ «Разработка методов и технологий создания систем доверенного искусственного интеллекта» по направлению доверенный искусственный интеллект.

Тип ЭВМ: IBM PC-совместимый компьютер.
ОС: Linux.
Язык программирования: C++.

Инфраструктура анализа фреймворков

Для анализа фреймворков развёрнута аппаратно-программная инфраструктура обеспечения доверия, с помощью которой проводятся:

  • статический и динамический анализ кода;
  • постоянная проверка новых изменений кода;
  • синхронизация с оригинальными открытыми версиями.

Используемые инструменты (разработаны в ИСП РАН)

Svace − инструмент статического анализа исходного кода. Обнаруживает более 70 классов критических ошибок. Поддерживает языки C/C++, C#, Java, Kotlin, Go, Python, Scala, Visual Basic.NET; в легковесном анализе поддерживает язык JavaScript. Поставляется с web-интерфейсом просмотра предупреждений Svacer (Svace History Server).

Sydr+Sydr-fuzz – комплекс гибридного фаззинга и динамического анализа. Включает в себя Sydr − инструмент автоматической генерации тестов для сложных программных систем с целью увеличения покрытия кода и обнаружения ошибок, а также Sydr-fuzz – инструмент динамического анализа программ, который сочетает в себе возможности Sydr и современных фаззеров (libFuzzer и AFL++).

Результаты (данные на конец 2024)

  • Разработана методика создания доверенных фреймворков.
  • Обнаружен ряд ошибок, почти все исправления приняты в основные ветки фреймворков:
    • в TensorFlow найдены 36 ошибок (5 с помощью Sydr+Sydr-fuzz, 31 с помощью Svace), 30 исправлений приняты в основную ветку;
    • в PyTorch найдены 52 ошибок (35 с помощью Sydr+Sydr-fuzz, 17 с помощью Svace), 47 исправлений приняты в основную ветку.
  • 15 ошибок обнаружены в сторонних проектах (LLVM, oneDNN, miniz, torchvision, openjpeg, XNNPACK, mkl-dnn).

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

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

Опыт внедрения

Фреймворк TrustTorch прошел государственные испытания и рекомендован для принятия на снабжение Вооруженных Сил Российской Федерации и организации промышленного (серийного) производства.

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