Видеоролик о технологиях ИСП РАН
Доверенные фреймворки машинного обучения
Фреймворк машинного обучения – это среда с набором инструментов для обеспечения быстрой разработки соответствующих программных продуктов. Наиболее популярными открытыми фреймворками считаются 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 прошел государственные испытания и рекомендован для принятия на снабжение Вооруженных Сил Российской Федерации и организации промышленного (серийного) производства.
Перейти к списку всех технологий