03 인공지능 시스템의 신뢰성 테스트 계획 수립
전통적인 소프트웨어와 달리, 인공지능은 추론 결과에 대한 불확실성(uncertainty)을 내포한다. 이러한 인공지능의 불확실성을 줄이는 것은 안전성과 같은 신뢰성 확보에 중요한 요소이다. 따라서 소프트웨어의 품질 확인을 위한 테스트 외에도 인공지능 시스템의 신뢰성 확인을 위한 테스트가 추가 요구된다. 테스트를 위해서는 인공지능 시스템의 복잡도(complexity)와 운영환경을 고려한 계획 수립이 필요하며, 계획에 따라 생명주기 전 단계에서 정기적・지속적 테스트를 수행한다.
앞서 언급한 소프트웨어의 품질 확인 측면에서, 신뢰성 속성 평가 이전에 전통적인 소프트웨어의 품질 속성인 시스템 성능, 보안 등의 검증 절차를 반드시 거쳐야 한다. NIST RMF에서는 성능 검증(Test & Evaluation, Validation & Verification )에서 사용한 지표와 절차의 효율성까지도 평가하고 문서화 하는 것을 권고한다.
03-1 인공지능 시스템의 특성을 고려한 테스트 환경을 설계하였는가?
인공지능 시스템은 그 복잡도나 위험도에 따라 가상테스트 및 실환경 테스트를 고려해야 한다.
유네스코의 인공지능 윤리 권고에서는 인권에 대한 잠재적 위협 가능성이 있다고 식별된 인공지능 시스템의 경우 출시 전 이해관계자들에 의해 윤리 영향 평가의 일환으로 광범위한 테스트를 거쳐야 하며, 필요하다면 실제 상황과 동일한 조건에서 테스트를 진행하여야 한다고 권고한다.
정확한 테스트를 위해서는 실환경 테스트를 수행하는 것이 적절하지만, 테스트는 합리적인 시간 및 비용 범위 내에서 수행되어야 하므로 운영 조건이 매우 복잡한 시스템이라면 실환경 테스트가 적절하지 않을 수 있다. 또한, 인간과 물리적으로 상호작용하는 인공지능에 실환경 테스트를 적용한다면 위험한 상황이 발생할 우려가 있는데, 이 경우 가상테스트를 수행하여야 한다.
따라서, 시스템 특성을 고려하여 적절한 테스트 환경을 결정한 후 테스트 환경을 설계하는 것이 필요하다. 테스트 환경 설계 시 고려해야 할 사항의 예시는 아래와 같다.
인공지능 시스템의 운영환경이 복잡하고 끊임없이 변화하는가?
인권에 대한 잠재적 위협 가능성이 우려되는 시스템인가?
테스트는 합리적인 시간 및 비용 범위 내에서 수행 가능한가?
실환경 테스트 시 환경의 개체(예: 차량, 건물, 동물, 인간)에 손상을 주는가?
03-1a 테스트 환경 결정 시 인공지능 시스템의 운영환경을 고려하였는가?
운영 환경의 제약, 기능의 다양성, 성능 저하 요소 등 매개변수가 많은 인공지능 시스템이라면 테스트 스위트(test suite) 수가 거의 무한해질 수 있다. 이 경우, 매개변수의 조합을 통해 테스트 스위트 수를 줄일 수 있는 조합 테스팅(combination testing) 기법의 하나인 페어와이즈 기법의 활용을 고려해야 한다.
반면에, 예외적인 상황(edge case)에 대한 시나리오의 생성이 어렵거나, 테스트 시 환경의 개체에 손상을 줄 위험이 있는 시나리오가 포함된 인공지능 시스템은 가상테스트 환경을 고려해야 한다.
그 외, 테스트 환경을 마련하기 어려워 실환경 테스트를 수행할 수 없는 경우(예: 원자력 사고 현장을 탐사하는 로봇)에는 가상테스트가 채택될 수 있다.
03-1b 가상테스트 환경이 필요한 인공지능 시스템의 경우, 시뮬레이터를 확보하였는가?
일부 도메인은 오픈소스로 공개된 시뮬레이터가 있어, 개발할 인공지능 시스템에 적합하다면 이를 활용할 수 있다. ISO/IEC TR 29119-11:2020 - Guidelines on the testing of AI-based systems에서는 아래와 같은 시뮬레이터의 예시를 제공한다.
게임 엔진 기반의 이동형 로봇 시뮬레이터: MORSE(Modular OpenRobots Simulation Engine) 프로젝트
홈 서비스 로봇 학습 시뮬레이터: Facebook의 AI Habitat
자율주행차 테스트용 시뮬레이터: NVIDIA의 DRIVE Constellation
재사용 가능한 시뮬레이터가 없다면 시뮬레이터의 구축이 필요하며, 계획 및 설계 단계에서 시뮬레이터 구축을 위한 추가 자원의 규모(예: 인력, 비용, 시간)를 고려해야 한다.
시뮬레이터는 운영환경에 대한 대표성이 있어야 한다. 예를 들어, 자율주행차의 보행자 회피 테스트는 높은 수준의 이미지 대표성이 요구된다.
참고: GRT(Generative AI Red Team ) 행사
매년 개최되는 대규모 해커 컨퍼런스인 DEF CON에서는 23년부터 AI Village(AI 보안, 취약성 연구, 윤리적 해킹을 중심으로 활동하는 커뮤니티) 내 GRT 행사를 개최하고 있다.
2023년에는 AI와 머신러닝 보안에 대한 인식을 높이고, 다양한 커뮤니티와 정책 입안자들이 안전하고 책임감 있는 AI 기술을 개발하도록 돕는 것 목표로 주요 생성형 AI 모델의 취약점을 2,000명 이상의 적대적 공격을 통해 점검하는 첫 시도를 하였다. 이 행사에는 OpenAI, Google, Anthropic, NVIDIA, Stability 등 AI 기업이 모델을 제공했으며, 마이크로소프트, 미국 백악관 과학기술정책실, 국가과학재단(CISE) 등 정부와 비영리 단체가 참여하였다. 행사 결과 및 통계를 아래 출처에서 확인 할 수 있다.
2024년에는 개별 결함이 아닌, AI 모델의 취약성에 대한 통계적 경향을 다루기 위한 데이터셋을 모으고자 진행하였다. 영국 A 안전연구소(UK AISI)에서 제공하는 LLM 평가 도구인 Inspect AI를 활용해 취약점을 평가하고, 공격 수행 보고 플랫폼인 Crucible을 통해 반복 재현한 결함을 제출 하도록 했다. 결과 및 통계는 집계 완료 후 공개 예정이다.
03-2 인공지능 시스템의 테스트 설계에 필요한 협의 체계를 구성하였는가?
대부분의 인공지능 시스템은 복잡도가 높아 재현가능성(reproducibility)이 떨어져 투명성 확보에 어려움을 갖는다. 또한, 시스템의 복잡도는 기대 출력을 결정하는 테스트 오라클(test oracle)에 문제가 되기도 한다. 이에 따라 테스트가 통과 또는 실패했는지 그 여부를 판단하기 어렵다.
인공지능 시스템의 테스트 오라클 문제를 다루기 위해. 기존 시스템을 부분적인 오라클로 사용할 수 있는 A/B 테스팅(A/B testing), 입력값과 출력값 사이의 관계를 통해 시스템 동작을 확인하는 메타모픽 테스팅(metamorphic testing) 등의 테스팅 기법을 적용해볼 수 있다.
인공지능 시스템의 추론 결과에 대한 설명이 필요한 시스템이라면, 시스템 출력을 확인하는 대상 사용자에 따라 설명가능성*에 대한 평가 기준이 달라질 수 있다. 그리고 인공지능의 작동 방식을 이해하는 정도인 해석가능성(interpretability)의 평가 기준 역시 대상 사용자에 의존한다.
* ISO/IEC TR 29119-11:2020에서는 설명가능성을 '인공지능 시스템이 주어진 결과를 어떻게 도출했는지 이해하는 정도'라고 정의하며, 해석가능성을 '인공지능 기술이 작동하는 방식에 대한 이해 정도'로 정의한다.
따라서 인공지능 시스템의 기대 출력에 대한 결정이나, 시스템 출력에 대한 설명가능성 및 해석가능성 평가 기준 수립에 필요한 협의 체계를 구축함으로써 협의체를 구성하고, 구성원 간 합의 도출을 통해 테스트를 설계하는 방식이 적절하다.
03-2a 인공지능 시스템의 기대 출력을 결정하기 위한 협의 체계를 구성하였는가?
테스트 오라클 문제의 극복이 필요한 인공지능 시스템이라면, 시스템의 기대 출력을 결정하기 위해 해당 도메인의 내・외부 전문가로 구성된 협의체를 구성하여야 한다. 이때 기대 출력을 결정하기 위해 여러 전문가가 동의하는 데 시간이 걸릴 수 있음을 인지하여야 한다.
협의체 전문가들은 하나의 입력에 대해 각자 다른 기대 출력을 예상할 수도 있다. 그러므로 협의체 운영 전 전문가 합의를 위한 승인 기준을 미리 결정해두어야 한다. 예를 들어, 특정 기대 출력에 대한 전문가 3인 중 2인 이상 동의 시 승인하는 등의 방법이 있다.
03-2b 설명가능성 및 해석가능성 확인을 위한 사용자 평가단을 구성하였는가?
인공지능시스템 출력에 대한 설명이 필요한 시스템의 경우, 시스템의 설명가능성과 해석가능성을 테스트하기 위해서는 인공지능 시스템의 대상 사용자가 시스템의 출력과 작동 방식을 얼마나 쉽게 이해하는지 확인하여야 한다.
따라서 사용자 평가단을 구성하여 설명을 어떤 난이도로 제공할지 결정하고, 이를 모델 및 시스템 구현 시 반영해야 한다. 이를 위해, 계획 및 설계 단계에서 대상 사용자를 명확히 정의한 후 사용자 평가단을 구성해야 한다.
사용자 평가단의 평가 결과에 따라 테스트의 통과 및 실패 여부를 결정할 기준을 마련하는 것이 필요하다. 예를 들어, 평균 점수가 일정 점수 이상일 때 통과를 결정하는 등의 정량적 기준 마련이나, 평균 점수 계산 시 절사평균의 활용 여부 등의 산출 기준 마련 등이 있다.
Last updated