입력 및 출력 보호 장치 만들기

생성형 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팀이 이 의도하지 않은 편향을 어떻게 완화했는지 알아보세요.

개발자 리소스