안전 안내

생성형 인공지능 모델은 강력한 도구이지만 한계가 있습니다. 다양성과 적용 가능성으로 인해 부정확하거나, 편향되거나, 불쾌감을 주는 출력과 같은 예기치 않은 출력이 발생할 수 있습니다. 이러한 출력으로 인한 피해 위험을 제한하려면 후처리 및 엄격한 수동 평가가 필수적입니다.

Gemini API에서 제공하는 모델은 다양한 생성형 AI 및 자연어 처리 (NLP) 애플리케이션에 사용할 수 있습니다. 이러한 기능은 Gemini API 또는 Google AI Studio 웹 앱을 통해서만 사용할 수 있습니다. Gemini API 사용 시 생성형 AI 금지된 사용 정책Gemini API 서비스 약관도 적용됩니다.

대규모 언어 모델 (LLM)이 유용한 이유 중 하나는 다양한 언어 작업을 처리할 수 있는 창의적인 도구이기 때문입니다. 하지만 대규모 언어 모델은 불쾌감을 주거나 민감하지 않거나 사실에 맞지 않는 텍스트를 포함하여 예상치 못한 출력을 생성할 수 있습니다. 또한 이러한 모델의 놀라운 다양성으로 인해 발생할 수 있는 바람직하지 않은 출력의 유형을 정확히 예측하기가 어렵습니다. Gemini API는 Google의 AI 원칙을 염두에 두고 설계되었지만, 이러한 모델을 책임감 있게 적용하는 것은 개발자의 몫입니다. 개발자가 안전하고 책임감 있는 애플리케이션을 만들 수 있도록 Gemini API에는 일부 기본 콘텐츠 필터링과 4가지 유해성 차원에서 조정 가능한 안전 설정이 있습니다. 자세한 내용은 안전 설정 가이드를 참고하세요.

이 문서는 LLM 사용 시 발생할 수 있는 몇 가지 안전 위험을 소개하고 새로운 안전 설계 및 개발 권장사항을 추천합니다. (법규에 따라 제한이 적용될 수도 있지만 이러한 고려사항은 이 가이드의 범위를 벗어납니다.)

LLM으로 애플리케이션을 빌드할 때는 다음 단계를 따르는 것이 좋습니다.

  • 애플리케이션의 안전 위험 이해
  • 안전 위험을 완화할 수 있는 조정 고려
  • 사용 사례에 적합한 안전 테스트 수행
  • 사용자로부터 의견을 요청하고 사용량 모니터링

애플리케이션에 적합한 성능에 도달할 때까지 조정 및 테스트 단계를 반복해야 합니다.

모델 구현 주기

애플리케이션의 안전 위험 이해

여기서 안전은 LLM이 유해한 언어를 생성하거나 고정관념을 조장하는 콘텐츠를 생성하는 등 사용자에게 해를 끼치지 않는 능력을 의미합니다. Gemini API를 통해 제공되는 모델은 Google의 AI 원칙을 염두에 두고 설계되었으며, 사용에는 생성형 AI에 관한 금지된 사용 정책이 적용됩니다. 이 API는 유해한 언어 및 증오심 표현과 같은 일반적인 언어 모델 문제를 해결하고 포용성을 추구하며 고정관념을 피하는 데 도움이 되는 기본 제공 안전 필터를 제공합니다. 하지만 각 애플리케이션은 사용자에게 서로 다른 위험을 초래할 수 있습니다. 따라서 애플리케이션 소유자는 사용자와 애플리케이션으로 인해 발생할 수 있는 잠재적 피해를 파악하고 애플리케이션이 LLM을 안전하고 책임감 있게 사용하도록 해야 합니다.

이 평가의 일환으로 피해가 발생할 가능성을 고려하고 심각도와 완화 단계를 결정해야 합니다. 예를 들어 사실에 기반한 이벤트를 바탕으로 에세이를 생성하는 앱은 엔터테인먼트를 위해 허구의 이야기를 생성하는 앱에 비해 잘못된 정보를 피하는 데 더 신중해야 합니다. 잠재적인 안전 위험을 탐색하는 좋은 방법은 최종 사용자 및 애플리케이션의 결과로 인해 영향을 받을 수 있는 다른 사용자를 조사하는 것입니다. 여기에는 앱 도메인에서 최신 연구를 조사하거나, 사용자가 유사한 앱을 사용하는 방식을 관찰하거나, 사용자 연구, 설문조사를 실행하거나, 잠재 사용자와 비공식 인터뷰를 진행하는 등 다양한 방법이 포함될 수 있습니다.

고급 도움말

  • 타겟 인구 내의 다양한 잠재 사용자에게 애플리케이션과 그 의도된 목적에 대해 이야기하여 잠재적 위험에 대한 더 넓은 관점을 얻고 필요에 따라 다양성 기준을 조정하세요.
  • 미국 정부의 국립표준기술연구소 (NIST)에서 발표한 AI 위험 관리 프레임워크는 AI 위험 관리에 관한 자세한 안내와 추가 학습 리소스를 제공합니다.
  • 언어 모델로 인한 윤리적 및 사회적 위험 에 관한 DeepMind의 간행물에는 언어 모델 애플리케이션이 해를 끼칠 수 있는 방식이 자세히 설명되어 있습니다.

안전 위험을 완화할 수 있는 조정을 고려합니다.

이제 위험을 이해했으므로 위험을 완화하는 방법을 결정할 수 있습니다. 우선순위를 지정할 위험과 이를 방지하기 위해 얼마나 노력해야 하는지 결정하는 것은 소프트웨어 프로젝트에서 버그를 분류하는 것과 마찬가지로 중요한 결정입니다. 우선순위를 정한 후에는 가장 적합한 완화 유형을 생각해 볼 수 있습니다. 간단한 변경으로도 차이를 만들고 위험을 줄일 수 있습니다.

예를 들어 애플리케이션을 설계할 때 다음 사항을 고려하세요.

  • 애플리케이션 컨텍스트에서 허용되는 사항을 더 잘 반영하도록 모델 출력을 조정합니다. 조정하면 모델의 출력이 더 예측 가능하고 일관되므로 특정 위험을 완화하는 데 도움이 될 수 있습니다.
  • 더 안전한 출력을 지원하는 입력 방법 제공 LLM에 제공하는 정확한 입력은 출력의 품질에 영향을 미칠 수 있습니다. 입력 프롬프트를 실험하여 사용 사례에서 가장 안전한 방법을 찾는 것은 그만한 가치가 있습니다. 그러면 이를 촉진하는 UX를 제공할 수 있기 때문입니다. 예를 들어 사용자가 입력 프롬프트의 드롭다운 목록에서만 선택하도록 제한하거나 애플리케이션 컨텍스트에서 안전하게 작동하는 것으로 확인된 설명 문구가 포함된 팝업 제안을 제공할 수 있습니다.
  • 안전하지 않은 입력을 차단하고 사용자에게 표시되기 전에 출력을 필터링합니다. 간단한 상황에서는 차단 목록을 사용하여 프롬프트나 대답에서 안전하지 않은 단어나 구문을 식별하고 차단하거나, 인간 검토자가 이러한 콘텐츠를 수동으로 변경하거나 차단하도록 요구할 수 있습니다.

  • 학습된 분류기를 사용하여 각 프롬프트에 잠재적인 위험이나 적대적인 신호로 라벨을 지정합니다. 그런 다음 감지된 위험 유형에 따라 요청을 처리하는 방법에 대해 다양한 전략을 적용할 수 있습니다. 예를 들어 입력이 명백하게 적대적이거나 악의적인 경우 차단되고 대신 사전 스크립트된 대답이 출력될 수 있습니다.

    고급 팁

    • 신호에 따라 출력이 유해한 것으로 판단되면 애플리케이션에서 다음 옵션을 사용할 수 있습니다.
      • 오류 메시지 또는 사전 스크립트된 출력을 제공합니다.
      • 동일한 프롬프트에서 다른 출력이 생성되는 경우가 있으므로 대체 안전 출력이 생성되는지 확인하기 위해 프롬프트를 다시 시도해 보세요.

  • 각 사용자에게 고유 ID를 할당하고 특정 기간에 제출할 수 있는 사용자 쿼리 볼륨에 제한을 두는 등 의도적인 오용을 방지하기 위한 안전 장치 마련 또 다른 보호 조치는 프롬프트 인젝션 가능성을 방지하는 것입니다. 프롬프트 삽입은 SQL 삽입과 마찬가지로 악의적인 사용자가 모델의 출력을 조작하는 입력 프롬프트를 설계하는 방법입니다. 예를 들어 이전 예시를 무시하도록 모델에 지시하는 입력 프롬프트를 전송할 수 있습니다. 의도적인 오용에 관한 자세한 내용은 생성형 AI에 관한 금지된 사용 정책을 참고하세요.

  • 본질적으로 위험이 낮은 기능으로 조정 범위가 좁은 작업 (예: 텍스트 구절에서 키워드 추출) 또는 인간의 감독이 더 많은 작업 (예: 인간이 검토할 짧은 형식 콘텐츠 생성)은 위험이 낮은 경우가 많습니다. 예를 들어 이메일 답장을 처음부터 작성하는 애플리케이션을 만드는 대신 개요를 확장하거나 대체 문구를 제안하는 데만 제한할 수 있습니다.

사용 사례에 적합한 안전 테스트를 수행합니다.

테스트는 강력하고 안전한 애플리케이션을 빌드하는 데 중요한 부분이지만 테스트의 범위, 범위, 전략은 다양합니다. 예를 들어 재미로 만든 하이쿠 생성기는 법률 회사가 법률 문서를 요약하고 계약서 초안을 작성하는 데 사용하는 애플리케이션보다 심각한 위험을 초래할 가능성이 낮습니다. 하지만 하이쿠 생성기는 더 다양한 사용자가 사용할 수 있으므로 적대적 시도나 의도치 않은 유해한 입력이 발생할 가능성이 더 클 수 있습니다. 구현 컨텍스트도 중요합니다. 예를 들어 조치를 취하기 전에 사람 전문가가 검토하는 출력이 있는 애플리케이션은 이러한 감독이 없는 동일한 애플리케이션보다 유해한 출력을 생성할 가능성이 낮은 것으로 간주될 수 있습니다.

위험이 비교적 낮은 애플리케이션의 경우에도 변경사항을 적용하고 테스트하는 과정을 여러 번 거쳐야 출시할 준비가 되었다고 확신할 수 있는 경우가 많습니다. AI 애플리케이션에는 두 가지 테스트가 특히 유용합니다.

  • 안전성 벤치마킹에는 애플리케이션이 사용될 가능성이 있는 방식의 맥락에서 애플리케이션이 안전하지 않을 수 있는 방식을 반영하는 안전성 측정항목을 설계한 다음 평가 데이터 세트를 사용하여 애플리케이션이 측정항목에서 얼마나 잘 작동하는지 테스트하는 작업이 포함됩니다. 테스트 전에 허용되는 최소 수준의 안전 측정항목을 고려하는 것이 좋습니다. 그래야 1) 이러한 기대치에 대해 테스트 결과를 평가하고 2) 가장 중요한 측정항목을 평가하는 테스트를 기반으로 평가 데이터 세트를 수집할 수 있습니다.

    고급 도움말

    • 애플리케이션의 컨텍스트에 완전히 적합한 테스트 데이터 세트를 만들려면 인적 평가자를 사용하여 자체 테스트 데이터 세트를 빌드해야 할 수 있으므로 '기성' 접근 방식에 지나치게 의존하지 않도록 주의하세요.
    • 측정항목이 두 개 이상인 경우 변경사항으로 인해 한 측정항목이 개선되지만 다른 측정항목이 악화되는 경우 어떻게 절충할지 결정해야 합니다. 다른 성능 엔지니어링과 마찬가지로 평균 성능보다는 평가 세트 전반의 최악의 성능에 집중하는 것이 좋습니다.
  • 적대적 테스트는 애플리케이션을 적극적으로 중단하려고 시도하는 것입니다. 목표는 약점을 파악하여 적절한 조치를 취할 수 있도록 하는 것입니다. 적대적 테스트는 애플리케이션에 전문 지식이 있는 평가자의 상당한 시간과 노력이 필요할 수 있지만, 많이 할수록 문제를 발견할 가능성이 커집니다. 특히 드물게 발생하거나 애플리케이션을 반복 실행한 후에만 발생하는 문제를 발견할 가능성이 커집니다.

    • 적대적 테스트는 악의적이거나 의도치 않게 유해한 입력이 제공되었을 때 ML 모델이 어떻게 작동하는지 파악하기 위한 목적으로 ML 모델을 체계적으로 평가하는 방법입니다.
      • 입력이 안전하지 않거나 유해한 출력을 생성하도록 명확하게 설계된 경우 악의적인 입력으로 간주될 수 있습니다. 예를 들어 텍스트 생성 모델에 특정 종교에 대한 증오심 표현을 생성하도록 요청하는 경우가 있습니다.
      • 입력 자체는 무해하지만 유해한 출력을 생성하는 경우(예: 텍스트 생성 모델에 특정 민족의 사람을 설명하도록 요청하고 인종 차별적인 출력을 받는 경우) 입력이 의도치 않게 유해한 것으로 간주됩니다.
    • 적대적 테스트와 표준 평가의 차이점은 테스트에 사용되는 데이터의 구성입니다. 적대적 테스트의 경우 모델에서 문제가 있는 출력을 유도할 가능성이 가장 높은 테스트 데이터를 선택합니다. 여기에는 안전 정책과 관련된 드물거나 특이한 예시와 예외적인 경우를 포함하여 발생 가능한 모든 유형의 유해성에 대해 모델의 동작을 조사하는 것이 포함됩니다. 또한 구조, 의미, 길이와 같은 문장의 다양한 측면에서 다양성을 포함해야 합니다. 테스트 데이터 세트를 빌드할 때 고려해야 할 사항에 관한 자세한 내용은 공정성을 위한 Google의 책임감 있는 AI 관행을 참고하세요.

      고급 도움말

      • '레드팀'에 사람을 모집하여 애플리케이션을 깨뜨리려고 하는 기존 방식 대신 자동화된 테스트를 사용하세요. 자동화된 테스트에서 '레드팀'은 테스트 중인 모델에서 유해한 출력을 유도하는 입력 텍스트를 찾는 또 다른 언어 모델입니다.

문제 모니터링

아무리 많이 테스트하고 완화해도 완벽함을 보장할 수는 없으므로 문제가 발생할 경우 이를 발견하고 처리하는 방법을 미리 계획하세요. 일반적인 접근 방식으로는 사용자가 의견을 공유할 수 있는 모니터링 채널을 설정하고(예: 좋아요/싫어요 평가) 다양한 사용자의 의견을 적극적으로 요청하는 사용자 연구를 실행하는 것이 있습니다. 특히 사용 패턴이 예상과 다른 경우에 유용합니다.

고급 도움말

  • 사용자가 AI 제품에 의견을 제공하면 프롬프트 조정에 더 나은 예시를 선택하는 데 도움이 되는 등 시간이 지남에 따라 AI 성능과 사용자 환경을 크게 개선할 수 있습니다. Google의 사람과 AI 가이드북의견 및 제어 챕터에서는 의견 메커니즘을 설계할 때 고려해야 할 주요 사항을 강조합니다.

다음 단계

  • 안전 설정 가이드를 참고하여 Gemini API를 통해 사용할 수 있는 조정 가능한 안전 설정을 알아보세요.
  • 프롬프트 소개를 참고하여 첫 번째 프롬프트를 작성해 보세요.