Чекап для искусственного интеллекта: зачем и как тестировать ИИ-решения?
Найм сотрудника без собеседования, основываясь только на резюме, справедливо считается рискованным шагом. Но таких сомнений почему-то не возникает при передаче бизнес-задач искусственному интеллекту. О том, чем опасно полное доверие ИИ-решениям, какие аспекты в работе алгоритмов нужно проверять и как в этом помогут традиционные подходы по тестированию ПО, рассказывает Денис Воденеев, директор отделения автоматизированного тестирования компании IBS.
Содержание |
Денис Воденеев Директор отделения автоматизированного тестирования компании IBS |
Почему нужно тестировать ИИ?
Технологии на основе искусственного интеллекта сейчас развиваются семимильными шагами, и бизнес ищет возможности их эффективного применения, включая потенциальную замену человеческого труда. Однако некорректные расчеты на этапе внедрения и отсутствие контроля качества этих решений могут привести к серьезным последствиям, варьирующимся от рисков для репутации компании до угроз жизни и здоровью людей.
Только за последние два года случилось несколько серьезных инцидентов, связанных с ИИ. В 2023 году произошел трагический случай с участием промышленного робота в распределительном центре сельхозпродукции в Южной Корее. Робот прижал работника к конвейеру, приняв его за коробку с продукцией, и нанес ему смертельные травмы. Ошибки в работе ИИ-решений были причиной происшествий и в России. В прошлом году на металлургическом заводе в Магнитогорске произошел сбой в работе ИИ-системы, отвечающей за контроль качества продукции, что привело к выпуску некачественной стали, поломкам оборудования у потребителей и нанесло ущерб в размере около 50 млн рублей. А в 2024 году из-за ошибки в работе ИИ-системы случился выброс вредных веществ на химическом заводе в Казани, пострадали рабочие.
Генеративные модели ИИ могут также создавать риски для конфиденциальности и безопасности данных. Они способны случайно воспроизвести защищенный авторским правом материал или привести к утечке персональных данных, если не внедрены соответствующие меры безопасности. Например, в 2023 году чат-бот стал причиной утечки корпоративных данных в компании Samsung.
Что тестировать?
ИИ-решения подвержены тем же рискам, что и любое другое программное обеспечение. Но на практике их проверке перед внедрением пока уделяется недостаточно внимания. Стандарты и подходы к контролю качества ИИ еще только формируются и в мире, и в России. Пока они есть только в отдельных отраслях. Например, в медицине, где цена ошибки несравненно выше. Однако принципы тестирования ИИ во многом аналогичны тем, что используются при тестирования традиционного ПО.
Перед тем как интегрировать ИИ-инструмент в бизнес-процессы, необходимо проверить, насколько корректно он реализует заявленные функции и способен давать точные результаты, т.е. надо провести функциональное тестирование. Несмотря на обещания экономических выгод от ИИ, в некоторых случаях его применение для автоматизации обходится дороже ручного труда, особенно в узкоспециализированных бизнес-функциях. При внедрении решений на основе ИИ также нужно предусмотреть разграничение прав доступа для разных групп: аналитика внутренних данных должна быть персонализированной, даже если датасет, на котором обучалась модель, одинаков для всех пользователей.
Генеративные нейросети требуют как архитектурно продуманной программной части, так и аппаратной в виде производительных процессоров (CPU) и графических процессоров (GPU) для быстрого выполнения запросов. Чтобы система справлялась с высокими нагрузками, важно предусмотреть достаточное количество оборудования и рассчитать его стоимость, а нагрузочное тестирование поможет определить, при каком объеме запросов система теряет эффективность и как улучшить ее стабильность.
Еще один важный аспект — обновление ИИ-моделей. Если раньше их релизы выходили раз в несколько месяцев, то сейчас они могут выпускаться еженедельно. Стремясь к повышению эффективности, можно регулярно менять в корпоративной системе старые ИИ-модели на новые. Но без тщательного регрессионного тестирования есть вероятность, что новая версия вместо повышения качества работы приведет к ухудшению результатов. Поэтому еще на этапах разработки и внедрения нужно подготовить регрессионный набор, по которому можно будет проверить, насколько хорошо инструмент выполняет свои функциональные задачи.
Не стоит забывать и про юзабилити. Технология может быть функциональной, но, если ее неудобно использовать, а ее интерфейс непонятный, эффективность теряется.
Таким образом, при внедрении ИИ-решений стоит обратить внимание на следующие аспекты:
- проверка корректности работы функционального решения LLM-моделей;
- корректность работы машинного и компьютерного зрения;
- проверка этичности моделей;
- проверка датасетов для обучения;
- тестирование масштабируемости и нагрузочное тестирование;
- интеграционное взаимодействие между различными моделями;
- регрессионные проверки работоспособности ПО после обновления и замены модели.
Как тестировать?
Одним из вариантов проверки и анализа ИИ-решений является подход бенчмаркинга, когда различные модели сравниваются на одних и тех же тестовых данных. Это помогает объективно оценить производительность и точность каждого решения.
Помимо сравнения моделей, можно также использовать регрессионное тестирование. Для этого подготавливается специальный набор данных, на котором оценивается функциональность системы. Далее с помощью этого датасета можно будет в автоматизированном режиме проверять, корректно ли функционирует приложение после внесения изменений — будь то замена модели или обновление архитектуры.
Существующие подходы по нагрузочному тестированию ответят на вопросы, которые важны при внедрении. Они позволяют выяснить, какие аппаратные ресурсы понадобятся, как учесть рост числа пользователей и какое среднее время ответа модели можно ожидать при одновременной работе 10 и более пользователей.
Немаловажным аспектом является и простое ручное тестирование. Но оно должно проводиться специалистом, понимающим, как работают AI-решения и как с ними можно взаимодействовать. При этом оценивается, не раскроет ли система информацию, которую мы не должны получить, исходя из нашей ролевой модели, правильным ли языком она отвечает, насколько чувствительна к промптингу и т.д.
Любое программное решение должно выполнять свою бизнес-функцию. Решения на базе ИИ не исключение. И, как мы убедились, тестирование помогает ответить на вопрос, справляется ли ИТ-решение со своей задачей.