생성형 AI 애플리케이션은 책임감 있는 모델 동작을 보장하기 위해 safeguards라고도 하는 입력 및 출력 데이터 필터링을 사용합니다. 입력 및 출력 필터링 기법은 모델로 들어가거나 모델에서 나오는 데이터를 확인합니다.
보호 장치 및 규격화된 안전 분류 기준
이전에 안전을 위한 조정과 잘 설계된 프롬프트 템플릿을 사용했더라도 모델이 의도치 않은 피해를 입히는 콘텐츠를 출력할 수 있습니다. 이를 더욱 개선하기 위해 콘텐츠 분류 기준으로 보호 조치를 추가할 수 있습니다. 콘텐츠 분류 기준은 입력과 출력 모두에 적용할 수 있습니다.
입력 분류 기준은 애플리케이션에 사용되지 않으며 모델의 안전 정책 위반을 야기할 수 있는 콘텐츠를 필터링하는 데 일반적으로 사용됩니다. 입력 필터는 콘텐츠 정책을 우회하려는 적대적인 공격을 타겟팅하는 경우가 많습니다. 출력 분류 기준으로 모델 출력을 추가로 필터링하여 안전 정책을 위반할 수 있는 의도하지 않은 생성을 포착할 수 있습니다. 모든 콘텐츠 정책을 포괄하는 분류 기준을 사용하는 것이 좋습니다.
Google은 입력과 출력을 필터링하는 데 사용할 수 있는 콘텐츠 안전성을 위한 기성 분류 기준을 개발했습니다.
- Perspective API는 머신러닝 모델을 사용하여 댓글이 대화에 미칠 수 있는 영향(사용자가 인식하는 영향)에 점수를 매기는 무료 API입니다. 댓글이 악의적인 댓글, 위협적이거나 모욕적인지, 주제에서 벗어났는지 등에 관한 가능성을 나타내는 점수를 제공합니다.
- 텍스트 검토 서비스는 특정 사용량 한도 미만으로 사용할 수 있는 Google Cloud API이며 머신러닝을 사용하여 민감하다고 간주될 수 있는 잠재적으로 위험한 카테고리 및 주제를 비롯한 안전 속성 목록과 문서를 분석합니다.
기성 분류기가 정책 목표를 얼마나 잘 충족하는지 평가하고 실패 사례를 정성적으로 평가하는 것이 중요합니다. 또한 과도한 필터링은 의도치 않은 피해를 입히고 애플리케이션의 유용성을 저하시킬 수 있으므로 과잉 필터링이 발생할 수 있는 사례도 검토하는 것이 중요합니다. 이러한 평가 방법에 관한 자세한 내용은 모델 및 시스템의 안전 평가를 참고하세요.
맞춤 안전 분류 기준 생성
정책이 기성 API로 다루지 않거나 자체 분류기를 만들려는 경우 프롬프트 조정 및 LoRA와 같은 매개변수 효율적인 조정 기법을 사용하면 효과적인 프레임워크를 얻을 수 있습니다. 이러한 방법에서는 전체 모델을 미세 조정하는 대신 제한된 양의 데이터를 사용하여 모델의 중요한 매개변수 집합을 학습시킬 수 있습니다. 이렇게 하면 모델이 비교적 적은 학습 데이터와 컴퓨팅 성능으로 새로운 안전 사용 사례에 맞게 분류하는 방법 등의 새로운 동작을 학습할 수 있습니다. 이 접근 방식을 사용하면 사용자 및 작업에 맞춤설정된 안전 도구를 개발할 수 있습니다.
작동 방식을 설명하기 위해 이 Codelab에서는 '애자일 분류기'를 설정하는 데 필요한 코드를 보여줍니다. 이 Codelab에서는 데이터를 수집하고 LLM에 맞게 형식을 지정하고 LoRA 가중치를 학습한 후 결과를 평가하는 단계를 보여줍니다. Gemma를 이용하면 코드 몇 줄만으로 강력한 분류기를 만들 수 있습니다. 보다 자세한 개요를 보려면 'Towards Agile Text Classifiers for 모든 사람을 위한' 연구 논문을 참고하세요. 수백 개의 학습 예시만으로 이러한 기술을 사용해 다양한 안전 작업을 학습시켜 최고의 성능을 발휘하는 방법을 소개합니다.
이 튜토리얼 예시에서는 YouTube 및 Reddit 댓글을 바탕으로 증오심 표현 감지를 위해 공개적으로 사용 가능한 데이터 세트인 ETHOS 데이터 세트를 사용하여 증오심 표현에 대한 분류 기준을 학습시킬 수 있습니다. 더 작은 Gemma 모델로 학습하면 예 200개 (데이터 세트의 1⁄4 미만)에 대해서만 0.80의 F1 점수, 0.78의 ROC-AUC를 달성합니다. 이 결과는 이 리더보드 리더보드에 보고된 최신 결과에 비해 유리합니다. 리더보드의 다른 분류기와 마찬가지로 800개의 예를 학습하면 Gemma 기반 애자일 분류기는 F1 점수 83.74와 ROC-AUC 점수 88.17을 달성했습니다. 이 분류기는 바로 사용하거나 Gemma Agile Classifier 튜토리얼을 통해 조정할 수 있습니다.
Gemma Agile 분류 기준 튜토리얼
Codelab 시작 | Google Colab 시작 |
보호 장치 설정을 위한 권장사항
안전 분류 기준을 사용하는 것이 좋습니다. 하지만 콘텐츠가 차단된 경우 생성 모델이 사용자를 위해 아무것도 생성하지 않는 안전장치를 마련할 수 있습니다. 애플리케이션은 이러한 경우를 처리할 수 있도록 설계되어야 합니다. 대부분의 인기 챗봇은 미리 준비된 답변을 제공하여 이 문제를 처리합니다 ('죄송합니다. 언어 모델입니다. 이 요청과 관련하여 도움을 드릴 수 없습니다').
유용성과 무해함 간의 적절한 균형 찾기: 안전 분류 기준을 사용할 때는 거짓양성(예: 출력이 안전하지 않은 경우 안전하지 않다고 주장함)과 거짓음성(있는 경우 출력에 안전하지 않음으로 라벨을 지정하지 않음) 등 거짓양성(예: 출력이 안전하지 않다고 주장함)을 비롯하여 실수가 발생할 수 있음을 이해하는 것이 중요합니다. F1, 정밀도, 재현율, AUC-ROC 등의 측정항목을 사용해 분류기를 평가하면 거짓양성과 거짓음성 오류를 어떻게 절충할지 결정할 수 있습니다. 분류 기준의 임곗값을 변경하면 적절한 안전성을 유지하면서 과도한 출력을 필터링하는 것을 방지하는 이상적인 균형을 찾는 데 도움이 됩니다.
분류 기준에 의도하지 않은 편향이 있는지 확인: 다른 ML 모델과 마찬가지로 안전 분류 기준도 사회문화적 고정관념과 같은 의도하지 않은 편향을 전파할 수 있습니다. 잠재적으로 문제가 될 수 있는 동작이 있는지 애플리케이션을 적절하게 평가해야 합니다. 특히 콘텐츠 안전 분류 기준은 온라인에서 악의적인 표현의 타겟이 더 자주 발생하는 ID와 관련된 콘텐츠에 과도하게 트리거될 수 있습니다. 예를 들어 Perspective API가 처음 출시되었을 때 모델은 특정 ID 그룹(블로그)을 참조하는 댓글에서 더 높은 악의성 점수를 반환했습니다. 자주 표적이 되는 집단 (예: '흑인', '무슬림', '페미니스트', '여성', '게이'와 같은 단어)을 언급하는 댓글은 본질적으로 악의 소지가 더 많기 때문에 이러한 과도한 행동이 발생할 수 있습니다. 분류기를 학습시키는 데 사용되는 데이터 세트가 특정 단어가 포함된 댓글에 중대한 불균형이 있는 경우 분류기는 과도하게 일반화하여 이러한 단어가 포함된 모든 댓글을 안전하지 않을 가능성이 높다고 간주할 수 있습니다. Jigsaw팀이 이 의도하지 않은 편향을 어떻게 완화했는지 알아보세요.
개발자 리소스
- Perspective API: 유해한 콘텐츠를 식별합니다
- 텍스트 검토 서비스: Google Cloud 고객용