적대적 테스트는 악의적이거나 실수로 입력되었을 때 어떻게 동작하는지 학습하기 위해 ML 모델을 체계적으로 평가하는 방법입니다. 이 가이드에서는 생성 AI를 위한 적대적 테스트 워크플로의 예를 설명합니다.
적대적 테스트란 무엇인가요?
테스트는 강력하고 안전한 AI 애플리케이션을 빌드하는 데 중요한 부분입니다. 적대적 테스트는 문제가 있는 출력을 유도할 가능성이 가장 높은 데이터를 제공하여 애플리케이션을 사전에 '파괴'하려는 시도를 수반합니다. 적대적인 쿼리로 인해 모델이 안전하지 않은 방식 (예: 안전 정책 위반)으로 실패할 가능성이 높고, 사람이 쉽게 식별할 수 있지만 머신이 식별하기 어려운 오류가 발생할 수 있습니다.
검색어는 다양한 방식으로 '적대적'일 수 있습니다. 명시적으로 적대적인 쿼리에는 정책을 위반하는 언어 또는 정책을 위반하는 관점을 포함할 수 있고, 모델을 조사하여 안전하지 않거나 유해하거나 불쾌감을 주는 말을 하려고 시도할 수 있습니다. 암시적으로 적대적인 쿼리는 무해하게 보일 수 있지만 논란의 소지가 있거나 문화적으로 민감하거나 해를 끼칠 수 있는 민감한 주제가 포함될 수 있습니다. 여기에는 인구통계, 건강, 금융 또는 종교에 관한 정보가 포함될 수 있습니다.
적대적 테스트는 팀이 미세 조정, 모델 보호 장치 또는 필터와 같은 완화 경로를 안내하기 위해 현재 실패를 노출하여 모델 및 제품을 개선하는 데 도움이 될 수 있습니다. 게다가 출력 정책을 위반하는 모델이 사용될 가능성 등 완화될 수 있는 위험을 측정하여 제품 출시 결정에 영향을 미치도록 할 수도 있습니다.
이 가이드에서는 책임감 있는 AI에 관한 새로운 권장사항으로 생성 모델 및 시스템에 대한 적대적 테스트 워크플로를 제공합니다.
적대적 테스트 예시 워크플로
적대적 테스트는 표준 모델 평가와 유사한 워크플로를 따릅니다.
입력 식별 및 정의
적대 테스트 워크플로의 첫 번째 단계는 의도적으로 그리고 체계적으로 공격을 받을 때 시스템이 어떻게 동작하는지 학습하기 위한 입력을 결정하는 것입니다. 세심한 입력은 테스트 워크플로의 효과에 직접적으로 영향을 줄 수 있습니다. 다음 입력으로 적대적 테스트의 범위와 목표를 정의할 수 있습니다.
- 제품 정책 및 실패 모드
- 사용 사례
- 다양성 요건
제품 정책 및 실패 모드
생성 AI 제품은 허용되지 않는 제품 동작 및 모델 출력을 설명하는 안전 정책을 정의해야 합니다 (즉, '안전하지 않은' 것으로 간주). 정책은 정책 위반으로 간주될 수 있는 실패 모드를 열거해야 합니다. 이 장애 모드 목록을 적대적 테스트의 기반으로 사용해야 합니다. 불합격 모드의 예로는 욕설, 금융, 법률, 의료 상담이 포함된 콘텐츠가 있습니다.
사용 사례
적대적 테스트의 또 다른 중요한 입력은 생성 모델 또는 제품이 제공하려는 사용 사례입니다. 따라서 테스트 데이터에는 사용자가 실제 제품과 상호작용하는 방식이 표시됩니다. 모든 생성 제품의 사용 사례는 약간씩 다르지만 일부 일반적인 사용 사례에는 언어 모델의 사실 찾기, 요약, 코드 생성 또는 지리나 지형, 아트 또는 의상 스타일에 따른 배경 이미지 생성이 있습니다.
다양성 요건
적대적 테스트 데이터 세트는 모든 타겟 장애 모드 및 사용 사례를 고려하여 충분히 다양하고 대표적이어야 합니다. 테스트 데이터 세트의 다양성을 측정하면 잠재적인 편향을 식별하고 다양한 사용자 집단을 염두에 두고 모델을 광범위하게 테스트할 수 있습니다.
다양성을 고려하는 세 가지 방법은 다음과 같습니다.
- 어휘 다양성: 검색어는 다양한 길이(예: 단어 수)로 구성되고, 광범위한 어휘 범위를 사용하고, 중복을 포함하지 않고, 다른 쿼리 공식 (예: wh-질문, 직접 및 간접 요청)을 나타내야 합니다.
- 시맨틱 다양성: 쿼리가 다양한 사용 사례와 글로벌 컨텍스트에서 민감한 정보 및 정체성 기반 특성 (예: 성별, 민족)을 포함하여 정책별로 다양한 주제 (예: 건강을 위한 당뇨)를 포함하도록 합니다.
- 정책 및 사용 사례 다양성: 쿼리가 모든 정책 위반 (예: 증오심 표현)과 사용 사례 (예: 전문가 조언)를 포괄하도록 합니다.
테스트 데이터 세트 찾기 또는 만들기
적대 테스트용 테스트 데이터 세트는 표준 모델 평가 테스트 세트와 다르게 구성됩니다. 표준 모델 평가에서 테스트 데이터 세트는 일반적으로 모델이 제품에서 마주하게 될 데이터 분포를 정확하게 반영하도록 설계되었습니다. 적대적인 테스트의 경우, 안전이 아닌 배포 외 예 및 특이 사례에서 모델의 동작을 증명하여 모델에서 문제가 있는 출력을 유도하도록 테스트 데이터를 선택합니다. 고품질 적대적 테스트 세트는 모든 안전 정책 차원을 포함하고 모델이 의도하는 사용 사례의 범위를 최대화해야 합니다. 어휘는 다양해야 하고 (예: 다양한 길이와 언어의 쿼리를 포함하여) 의미론적으로는 다양해야 합니다 (예: 다양한 주제와 인구통계를 포괄함).
안전 정책, 실패 모드, 텍스트 생성 및 텍스트-이미지 모델의 사용 사례를 다루는 기존 테스트 데이터 세트를 조사합니다. 팀은 기존 데이터 세트를 사용하여 제품 성능의 기준을 수립한 후 제품이 어려움을 겪는 특정 장애 모드를 심층 분석할 수 있습니다.
기존 테스트 데이터 세트가 부족한 경우 팀은 특정 실패 모드와 사용 사례를 타겟팅하는 새 데이터를 생성할 수 있습니다. 새 데이터 세트를 만드는 한 가지 방법은 먼저 작은 쿼리 데이터 세트 (즉, 카테고리당 수십 개의 예)를 만든 후 데이터 합성 도구를 사용하여 이 '시드' 데이터 세트를 확장하는 것입니다.
시드 데이터 세트에는 시스템에서 프로덕션 환경에서 발생할 수 있는 것과 최대한 유사한 정책, 정책 위반을 목적으로 만든 예시가 포함되어야 합니다. 매우 악의적인 언어는 안전 기능에 의해 감지될 가능성이 있으므로 창의적인 문구와 암시적으로 적대적인 입력을 고려하세요.
테스트 데이터 세트에서 민감한 속성 (예: 연령, 성별, 인종, 종교)에 대한 직접 또는 간접 참조를 사용할 수 있습니다. 이러한 용어는 문화마다 다르게 사용될 수 있다는 점에 유의하세요. 어조, 문장 구조, 길이가 다른 단어, 의미를 다양하게 사용합니다. 여러 라벨 (예: 증오심 표현 및 외설적 표현)이 적용될 수 있는 예는 노이즈와 중복을 일으킬 수 있으며 평가 또는 학습 시스템에서 제대로 처리되지 않을 수 있습니다.
어휘 및 시맨틱 다양성, 정책 위반 및 사용 사례 전반에 걸친 적용 범위, 고유성, 적대감, 노이즈 측면에서의 전반적인 품질 측면에서 적대적 테스트 세트를 분석해야 합니다.
모델 출력 생성
다음 단계는 테스트 데이터 세트를 기반으로 모델 출력을 생성하는 것입니다. 이 결과는 악의적인 사용자 또는 의도치 않은 유해한 입력에 노출될 경우 모델의 성능을 제품팀에 알립니다. 이러한 시스템 동작과 응답 패턴을 식별하면 향후 모델 개발에서 완화할 수 있는 기준 측정값을 제공할 수 있습니다.
출력에 주석 달기
적대 테스트의 출력이 생성되면 주석을 작성하여 실패 모드 또는 피해로 분류합니다. 이러한 라벨은 텍스트 및 이미지 콘텐츠의 안전 신호를 제공하는 데 도움이 될 수 있습니다. 또한 신호는 모델 및 제품 전반에서 피해를 측정하고 완화하는 데 도움이 될 수 있습니다.
안전 분류 기준을 사용하여 정책 위반 시 모델 출력 (또는 입력)에 자동으로 주석을 추가할 수 있습니다. 증오심 표현과 같이 엄격하게 정의되지 않은 구성을 감지하려는 신호의 경우 정확도가 떨어질 수 있습니다. 이러한 신호의 경우 평가자를 사용하여 점수가 '불확실'한 분류 기준 생성 라벨을 확인하고 수정하는 것이 중요합니다.
자동 주석 외에도 평가자를 활용하여 데이터 샘플에 주석을 달 수 있습니다. 적대적 테스트의 일환으로 모델 출력을 주석 처리하려면 수동 콘텐츠 검토와 마찬가지로 해를 입히고 잠재적으로 유해한 텍스트 또는 이미지를 확인해야 합니다. 또한 검토자는 개인의 배경, 지식, 신념에 따라 동일한 콘텐츠에 다르게 주석을 달 수 있습니다. 평가자 풀의 가이드라인이나 템플릿을 개발하면 평가자 풀의 다양성이 주석 결과에 영향을 미칠 수 있다는 점에 유의하세요.
보고 및 완화
마지막으로 테스트 결과를 보고서로 요약합니다. 측정항목을 계산하고 결과를 보고하여 안전 비율, 시각화, 문제가 있는 실패 사례를 제공합니다. 이러한 결과는 모델 개선을 안내하고 필터나 차단 목록과 같은 모델 보호 장치에 정보를 제공할 수 있습니다. 보고서는 이해관계자 및 의사 결정권자와의 커뮤니케이션에도 중요합니다.
추가 리소스
Google의 AI Red팀: AI를 더 안전하게 만드는 윤리적인 해커들
머신러닝 개발자를 위한 제품 공정성 테스트 (동영상):
개발자를 위한 제품 공정성 테스트(Codelab)