경험 기반 테스트
AI 기반 시스템의 경험 기반 테스트
포함 사항:
• 오류 추측
• 탐색적 테스트
• 체크리스트 기반 테스트
AI 기반 시스템의 오류 추측
일반적으로 다음을 기반으로 합니다.
• 테스터 지식
• 일반적인 개발자 오류
• 유사한 시스템(또는 이전 버전)의 장애
예시
• 시스템적으로 편향된 훈련 데이터의 사용으로 인해 과거에 ML 시스템이 어떻게 실패했는지에 대한 지식 사용
AI 기반 시스템의 탐색적 테스트
테스트는 이전 테스트의 테스트 결과를 기반으로 파생된 이후 테스트에 대한 기회와 함께 반복적인 방식으로 설계, 생성 및 실행됩니다.
사양이 좋지 않거나 테스트 오라클 문제가 있을 때 특히 유용합니다.
변형 시험과 같은 체계적인 시험 기법을 보완하기 위해 자주 사용됨
AI 기반 시스템의 탐색적 테스트 투어
둘러보기는 테스터가 특정 초점을 중심으로 구성된 탐색적 테스트를 수행할 때 사용하는 일련의 전략 및 목표에 대한 은유입니다.
AI 기반 시스템의 탐색적 테스트를 위한 일반적인 투어는 ML 시스템의 편향, 과소적합 및 과대적합의 개념에 초점을 맞출 수 있습니다.
• 예를 들어, 교육에 사용되는 다양한 유형의 데이터, 데이터 분포, 변형, 형식 및 범위에 대한 테스트에 집중하기 위해 데이터 둘러보기를 적용한 다음 데이터 유형을 사용하여 모델을 테스트할 수 있습니다.
AI 기반 시스템을 위한 탐색적 데이터 분석
“우리는 기대를 가지고 데이터를 탐색합니다. 우리는 데이터에서 본 것을 기반으로 기대치를 수정합니다. 그리고 우리는 이 과정을 반복합니다.”
탐색적 데이터 분석(EDA):
• 대화식의 가설 기반 데이터 탐색을 포함합니다.
• 데이터는 패턴, 관계, 경향 및 특이치에 대해 조사됩니다.
• 일반적으로 두 영역에서 도구 지원이 필요합니다.
- 데이터와의 상호 작용을 위해 분석가가 복잡한 데이터를 더 잘 이해할 수 있도록 합니다.
- 데이터 시각화를 위해 분석가가 결과를 쉽게 표시할 수 있도록 합니다.
주로 데이터 시각화에 의해 주도되는 탐색 기술의 사용은 사용 중인 ML 알고리즘을 검증하고 효율적인 모델을 생성하는 변경 사항을 식별하고 도메인 전문 지식을 활용하는 데 도움이 될 수 있습니다.
Google "ML 테스트 체크리스트"
ML 데이터:
1. 기능 기대치는 스키마에 캡처됩니다.
2. 모든 기능이 유익합니다.
3. 기능의 비용이 너무 많이 들지 않습니다.
4. 기능은 메타 수준 요구 사항을 준수합니다.
5. 데이터 파이프라인에는 적절한 개인정보 보호 제어 기능이 있습니다.
6. 새로운 기능을 빠르게 추가할 수 있습니다.
7. 모든 입력 기능 코드가 테스트됩니다.
ML 인프라:
1. 교육은 재현 가능합니다.
2. 모델 사양은 단위 테스트를 거칩니다.
3. ML 파이프라인은 통합 테스트를 거칩니다.
4. 제공하기 전에 모델 품질을 검증합니다.
5. 모델을 디버깅할 수 있습니다.
6. 모델은 서빙하기 전에 카나리아를 받습니다.
7. 제공 모델 롤백 가능
모델 개발:
1. 모델 스펙을 검토하여 제출합니다.
2. 오프라인과 온라인 지표는 상관 관계가 있습니다.
3. 모든 하이퍼파라미터가 조정되었습니다.
4. 모델 부실의 영향이 알려져 있습니다.
5. 더 단순한 모델이 더 좋은 것은 아닙니다.
6. 중요한 데이터 조각에 대한 모델 품질이 충분합니다.
7. 모델은 다음 사항을 고려하여 테스트됩니다.
포함.
모니터링 테스트:
1. 종속성 변경으로 인해 알림이 발생합니다.
2. 데이터 불변성은 입력에 대해 유지됩니다.
3. 훈련과 봉사는 편향되지 않는다.
4. 모델이 너무 진부하지 않습니다.
5. 모델이 수치적으로 안정적입니다.
6. 컴퓨팅 성능이 퇴보하지 않았습니다.
7. 예측 품질이 퇴보하지 않았습니다.
테스트 기법 선택 - 1/2
위험 기반 테스트 사용 – 이것은 모든 테스트에 적용됩니다.
비 AI 구성 요소의 경우 평소와 같이 기술을 선택합니다.
테스트 오라클 문제가 있는 경우:
• 백투백 테스트
- 테스트 케이스 및 동등한 시스템 필요
- 시스템의 이전 버전은 회귀 테스트를 위한 테스트 오라클 역할을 할 수 있습니다.
- 동등한 시스템이 독립적으로 개발되어야 함
• A/B 테스트
- 조작 입력을 테스트 케이스로 사용
- 통계 분석을 사용하여 동일한 시스템의 두 가지 변형을 비교합니다.
- 새로운 변종의 데이터 포이즈닝을 확인하는 데 사용할 수 있습니다.
- 자가 학습 시스템의 자동 회귀 테스트에 사용할 수 있습니다.
• 변성 테스트
- 결함을 찾기 위해 응용 프로그램을 알고 있는 미숙한 테스터에게 좋습니다.
- 예상 결과는 절대값이 아닌 소스 테스트 케이스에 상대적입니다.
- 상용 도구 지원 없음
테스트 기법 선택 – 2/2
시스템이 공격을 받을 가능성이 있는 경우:
• 적대적 테스트
- 적대적 사례가 중대한 영향을 미칠 수 있는 경우
• 데이터 중독 테스트
쌍대 테스트
• 여러 매개변수가 있는 복잡한 시스템
경험 기반 테스트
• 데이터가 위험할 수 있는 경우
• 사용 중인 ML 알고리즘을 검증하고, 효율성 개선 사항을 식별하고, 도메인 전문 지식을 활용하기 위한 EDA
• Google ML 테스트 체크리스트
신경망 커버리지
• 미션 크리티컬 시스템 지원