Сюжет 24. Основные подходы к тестированию ИИ

Я не провалил тест,

я просто нашел 100 способов

сделать его неправильно.

Бенджамин Франклин

Тестирование ИИ можно разделить на два направления по цели, с которой оно проводится. Во-первых, это проверка конкретной ИИ-системы на работоспособность. Во-вторых, это проверка ИИ на близость к AGI. Это принципиально разные цели, которые предполагают принципиально разные подходы к организации тестирования и подобру тестовых материалов.

Начнем с первого – тестирования работоспособности ИИ-систем.

Так как ИИ-системы – это в первую очередь программное обеспечение, для тестирования их работоспособности применяется опыт, накопленный за десятилетия цифровой эры, и традиционные виды тестирования.

Функциональное тестирование, в ходе которого проверяется, что ИИ-система ведёт себя в соответствии с требованиями и спецификациями. Как правило, оно проводится в несколько стадий. На первой проверяется заявленный функционал всех компонентов ИИ-системы по отдельности. На второй – их интеграция между собой. На третьей – работоспособность ИИ-системы как единого программного комплекса.

Тестирование производительности, в ходе которого проверяется, как ИИ-система справляется с плановыми, стрессовыми и пиковыми нагрузками. Плановые нагрузки – это обычный трафик запросов в соответствии со сценариями использования. Стрессовые нагрузки предполагают постепенное увеличение количества запросов до значений, когда ИИ-система перестает на них откликаться. Пиковые нагрузки – это проверка устойчивости ИИ-системы в случае резкого роста количества запросов.

Тестирование на безопасность – выявление уязвимостей, которые могут быть использованы злоумышленниками. Оно включает проверку проблем с аутентификацией, шифрованием данных, вредоносными инъекциями и другими уязвимостями.

Все это классика тестирования ПО, которая применяется при разработке любых ИИ-систем. Однако функциональное тестирование современных ИИ-систем, в основе которых лежат LLM, кардинально отличается от функционального тестирования традиционного ПО. Основная причина – недетерминированность результатов тестирования.

В традиционных приложениях один и тот же тестовый пример всегда должен давать один и тот же результат. ИИ-системы могут возвращать различные результаты в одинаковых тестовых примерах, и все результаты могут быть корректными. Поэтому в чистом виде традиционные подходы тестирования для ИИ-систем не работают и требуют существенной модернизации.

Перечислим три основные проблемы тестирования ИИ-систем.

... читайте сюжет в полной версии

поделиться в: