NL-312, ShieldGemma: Generative AI Content Moderation Based on Gemma, Google 2024

◼ Comment

  • LlamaGuard 논문을 보지는 않았지만, ShieldGemma가 LlamaGuard와 비슷한 목적을 가진 느낌인듯
  • 간단하게 생각하면 gemma2-it 모델에 prompt 가 정책에 위반하는지 안하는지, response가 정책에 위반하는지 안하는지 yes/no가 나오도록 fine-tuning한 모델이다. (SFT)
  • 중요한건 이 데이터를 어떻게 모으냐인데, 여기서 LLM을 써서 모았다는게 핵심 기여이다. (물론 사람 레이블링이 없는건 아님)
    • 안전 정책이 있을텐데, 이를 먼저 정의한다 (3.1 참고)
    • 그리고 이를 통해, 유해 유형, 주제 등등 파라미터를 주고 질의를 생성한다. (프롬프트는 미공개)
      • 여기서 프롬프트는 항상 질문형이 아니고, 그냥 일반 텍스트도 포함하고
      • 사용된 llm은 gemini
    • 이렇게 생성된 위험한 프롬프트에 대한 응답도 생성 (선택적, 아마 프롬프트가 질문형인 경우에만?)
      • 사용된 llm은 다양하다고만 함
    • 이렇게 생성된 데이터를 원시 데이터라 부르고, 일부 적대적 프롬프트를 골라서 LLM으로 데이터 증강 (의미적, 통사적 다양성을 비평해서 확장하는 개념)
      • 모델입장에서 어려운 데이터를 만드는 개념임
    • 생성된 데이터중 애매한(경계에 근처한) 데이터 위주로 사람이 레이블링하게 함
      • 데이터 클러스터링을 함
      • 데이터별로 gemma1로 먼저 점수를 예측한다
      • 클러스터링된 데이터 묶음에서, 예측 점수가 0.5에 가까운 데이터 위주로 레이블링하게 함
      • 아예 쉬운 샘플을 버리면 안되기 때문에 10%정도 마진 점수 (|0.5-확률|)가 큰 것도 함께 유지함
      • 사람 3명이 레이블링해서 다수결 선택
    • 여기에 공정성 확장을 위해 후처리가 또 있는 듯
  • 모델 Fine-tuning은 그림 2처럼, 그냥 프롬프트가 정책별로 존재하고 Yes/No가 나오도록 학습하는 식
  • 결과적으로 기존의 guard 모델보다 좋다고 함
    • 비교 guard 모델도 스크리닝 할 필요는 있을거 같음
    • (아마 오픈된) llamaguard, wildguard, openai mod api 보다도 좋다고 하고
    • GPT4보다도 좋다고 함
  • 단 이 모델은 생성모델이지만, yes/no만 생성하도록 사용하라는 지침을 가진 classification 모델이라고 보면 됨
    • 즉 생성모델이기 때문에 다르게 사용될 수 있지만, 그럴 용도로 만들어진게 아니란 것
    • 학습된 정책 위주의 분류만 가능한것
    • 프롬프트를 변경해서 zero-shot 정책에 대해서도 할 수 있을거 같은데 실험이 되진 않았음 (아마 성능이 안좋아서 그런게 아닐까?)
    • 즉 주어진 정책에 디펜던시가 걸림
    • 다중 정책이기 때문에 매 정책에 따라 인퍼런스해야하는 비용이 있음

초록 (Abstract)

본 논문에서는 Gemma2를 기반으로 구축된 대규모 언어 모델(LLM) 기반 안전 콘텐츠 조정(safety content moderation) 모델의 포괄적인 제품군인 ShieldGemma를 제안한다. ShieldGemma 모델은 사용자 입력과 LLM이 생성한 출력 모두에 대해, 주요 유해 유형(성적으로 노골적인 콘텐츠, 위험한 콘텐츠, 괴롭힘, 혐오 발언)에 걸친 안전 위험을 정밀하고 강건하게 예측한다. 공개 벤치마크와 내부 벤치마크 모두에서의 평가를 통해, ShieldGemma가 기존 모델인 LlamaGuard(공개 벤치마크 기준 AU-PRC +10.8%)와 WildGuard(+4.3%) 대비 우수한 성능을 보임을 입증하였다.

  • 또한 본 논문에서는 다양한 안전 관련 과제뿐 아니라 그 외의 영역에도 적용 가능한 새로운 LLM 기반 데이터 큐레이션 파이프라인을 제시한다. 
  • 주로 합성 데이터(synthetic data)를 활용해 학습된 모델임에도 불구하고, 강한 일반화 성능을 보임을 확인하였다. 
  • ShieldGemma를 공개함으로써, 본 연구는 LLM 안전성 연구를 진전시키고, 개발자들이 보다 효과적인 콘텐츠 조정 솔루션을 구축할 수 있도록 지원하는 중요한 자원을 제공한다.

1. 서론 (Introduction)

최근 수년간 대규모 언어 모델(LLM)의 광범위한 도입은 대화형 에이전트(Deng et al., 2023; Liu et al., 2024)부터 콘텐츠 생성(Achiam et al., 2023; Anthropic, 2024; Team et al., 2023)에 이르기까지 다양한 분야에 혁신을 가져왔다. 이러한 모델들은 인간과 유사한 텍스트를 이해하고 생성하는 뛰어난 능력을 보여주며, 여러 산업 전반에서 정교한 응용을 가능하게 하고 있다. 그러나 이러한 발전과 함께, LLM의 실제 배포 과정에서는 사용자와의 상호작용이 안전하고 책임감 있게 이루어지도록 보장하는 강력한 메커니즘이 필수적으로 요구된다.

현재 널리 사용되는 접근 방식은 LlamaGuard(Inan et al., 2023), WildGuard(Han et al., 2024), AEGIS(Ghosh et al., 2024) 등과 같은 콘텐츠 조정(content moderation) 솔루션에 의존한다. 이러한 도구들은 LLM의 입력과 출력을 필터링하여 잠재적인 안전 위험을 탐지하도록 설계되었다. 하지만 이들 솔루션에는 몇 가지 한계가 존재한다.

기존 연구는 앞에 필터를 끼우는 느낌인듯

첫째, 일부 기존 솔루션은 유해 유형(harm type)에 대한 세분화된 예측을 제공하지 않거나, 확률 값이 아닌 이진 결과(binary output)만을 제공한다(Han et al., 2024). 

  • 이는 후속 응용 단계에서 유해 유형별 맞춤 필터링이나 임계값(threshold)을 조정하는 데 제약을 초래한다.
둘째, 대부분의 콘텐츠 조정 솔루션은 단일 크기의 고정된 모델만을 제공하는데, 이는 다양한 배포 시나리오의 요구사항과 항상 부합하지 않는다. 

  • 예를 들어, LLM-as-a-judge(Huang et al., 2024; Zheng et al., 2024)와 같은 작업에서는 대형 모델이 성능 향상에 유리할 수 있는 반면, 온라인 안전 필터링 환경에서는 지연(latency)과 계산 비용을 줄이기 위해 소형 모델이 더 적합할 수 있다.
셋째, 학습 데이터 구축 방식에 대한 상세한 지침이 부족하다. 

  • 학습 데이터의 구성은 적대적 프롬프트(adversarial prompts)에 대한 강건성 확보와 정체성 집단(identity groups) 간의 공정성 보장을 위해 매우 중요한 요소이다.

이러한 문제들을 해결하기 위해, 본 논문은 다음과 같은 핵심 기여를 제시한다.

  • Gemma2(Team, 2024a)를 기반으로, 2B부터 27B 파라미터 규모에 이르는 최첨단 콘텐츠 조정 모델 스펙트럼을 제안한다. 이러한 다양한 모델 크기는 서로 다른 응용 요구사항에 맞춰 최적의 성능을 제공할 수 있도록 설계되었다. 제안하는 모델은 주요 유해 유형에 대해 사용자 입력과 모델 출력(사용자 입력을 문맥으로 활용함)을 모두 필터링하는 데 적용 가능하다.

  • 고품질의 적대적이며 다양하고 공정한 데이터셋을 생성하기 위한 새로운 방법론을 제시한다. 이 과정은 합성 데이터 생성 기법을 활용하여 인간 주석(annotation)에 대한 부담을 줄이며, 안전 관련 데이터 문제 전반과 그 외 영역에도 폭넓게 적용될 수 있다.

다양한 사이즈 모델이 있고, 앞뒤로 필터링 가능한 모델이다.
이러한 모델을 만들기 위한 데이터셋 구성 방법론을 제시한다.

요약하면, 본 논문은 LLM 기반 콘텐츠 안전 조정 분야의 최신 성능을 한 단계 끌어올리는 포괄적인 프레임워크를 제시한다. 기존 솔루션의 한계를 해결하고 데이터 생성에 대한 새로운 방법론을 도입함으로써, 다양한 응용 환경에서 LLM과 사용자 간의 상호작용을 보다 안전하고 신뢰할 수 있도록 만드는 것을 목표로 한다.

2. 관련 연구 (Literature Review)

안전 콘텐츠 조정 (Safety Content Moderation)

콘텐츠 조정(content moderation)에 관한 연구는 주로 온라인 플랫폼에서 생성되는 인간 작성 콘텐츠를 대상으로 폭넓게 수행되어 왔다. 예를 들어, Perspective API(Google, 2017)는 유해하거나 독성(toxic) 언어를 탐지하는 기술 발전에 중요한 역할을 해왔다. 그러나 이러한 기존 자원들은 대부분 웹 환경에서의 인간 생성 텍스트를 대상으로 설계되어 있으며, 이는 인간의 프롬프트와 LLM이 생성한 응답이라는 새로운 유형의 콘텐츠와는 본질적으로 다르다.

최근 연구들은 LLM을 미세조정하여 콘텐츠 조정 성능을 향상시키는 방향에서 상당한 진전을 보여주었다. 대표적으로 Llama-Guard(Inan et al., 2023), Llama-Guard2(Team, 2024b), Aegis(Ghosh et al., 2024), MD-Judge(Li et al., 2024), HarmBench(Mazeika et al., 2024), BeaverDam(Ji et al., 2023), WildGuard(Han et al., 2024) 등이 있다. 

이러한 연구들은 LLM 기반 콘텐츠 조정이 기존의 규칙 기반 또는 전통적 분류 방식보다 더 높은 표현력과 범용성을 가질 수 있음을 보여준다.

합성 데이터 생성 (Synthetic Data Generation)

강건한 안전 모델을 개발하기 위해서는 고품질 데이터가 필수적이다. 인간–컴퓨터 상호작용 데이터가 풍부하게 존재함에도 불구하고, 이를 직접 활용하는 데에는 여러 어려움이 따른다. 대표적으로 (i) 유해 사례에 해당하는 양성(positive) 예시의 희소성, (ii) 적대적이면서도 매우 다양한 데이터의 부족, (iii) 개인정보 및 프라이버시 이슈 등이 있다(Kurakin et al., 2023).

사전학습 과정에서 방대한 지식을 흡수한 LLM은 지식 표현과 언어 이해 측면에서 뛰어난 역량을 보여주었으며(Kim et al., 2022; Nasr et al., 2023), 적절한 지침(instruction)을 제공할 경우 인간의 요구에 부합하는 고품질 합성 데이터를 생성할 수 있음이 입증되었다(Gao et al., 2022; Long et al., 2024; Sahu et al., 2022). 안전 분야에서 이는 길이, 목표 유해 유형, 민감 주제 등 다양한 차원에 걸친 데이터 생성뿐 아니라, LLM으로부터 유해한 응답을 유도할 가능성이 높은 고난도 적대적 프롬프트를 생성하는 것으로 이어진다.

  • safety하게 모델을 만들 학습 데이터를 합성으로 생성한다는거 같음
  • 이렇게 할 수 있는 이유는 모델이 지침을 잘 따르기 때문에, 지침을 잘 줘서 한다는 느낌임

3. 안전 정책 (Safety Policy)

안전 정책(safety policy)은 실제 환경에 배포되는 AI 시스템을 개발하는 데 있어 핵심적인 구성 요소이다. 이러한 정책은 사용자 입력과 모델이 생성한 출력 모두에 대해 허용 가능한 콘텐츠와 허용되지 않는 콘텐츠를 명확히 구분하는 정교하게 정의된 지침들로 구성된다.

첫째, 안전 정책은 인간 주석자(human annotator)들에게 공통의 기준 프레임워크를 제공함으로써, 잠재적으로 유해한 콘텐츠를 라벨링하고 분류하는 과정에서의 일관성을 보장하고 주관성을 줄여준다. 

  • 이러한 정렬은 효과적인 안전 분류기를 학습시키고, 데이터에 내재될 수 있는 의도치 않은 편향을 완화하기 위한 필수 조건이다.
둘째, 유해하거나 부적절한 콘텐츠의 특성을 명시적으로 규정함으로써, 

  • 안전 정책은 별도의 학습 없이 바로 사용할 수 있는(zero-shot) 혹은 소량의 예시만으로 동작하는(few-shot) 분류기를 구축하는 데에도 유용한 기반을 제공한다.

사용자 입력과 모델 출력 모두에 대해 금지되는 콘텐츠의 범주는 대체로 유사하지만, 두 경우에서 강조점은 다르게 설정된다. 

  • 사용자 입력의 경우, 직접적으로 유해한 콘텐츠를 포함하거나 LLM으로부터 그러한 콘텐츠를 생성하도록 유도하는 요청을 금지하는 데 중점을 둔다. 
  • 여기에는 그 자체로는 명백히 유해하지 않더라도, LLM을 조작하여 유해한 응답을 생성하도록 의도적으로 설계된 입력도 포함된다.

반면, 모델 출력의 경우에는 어떠한 형태로든 유해한 콘텐츠가 생성되는 것을 방지하는 것이 주된 목표이며, 이때 사용자 입력은 오직 문맥(context)으로만 활용된다.

  • 부적절한 입력과 출력의 기준이 조금은 다르다는 것
  • 입력은 유해한 콘텐츠를 유도하는 설계된것도 부적절한것이고, 출력은 유해한 콘텐츠가 생성된 것 자체를 의미하는 느낌
  • 여기서는 학습데이터를 사전에 정의된 안전 정책에 맞게 다양하게 합성되어서 (LLM 통해) shieldgemma을 학습한다는 것이고
  • 일반적인 LLM에 zero-shot/few-shot으로만 안전 정책을 주면, 분류기로 동작할 수 있다는 것

3.1 콘텐츠 안전 분류 체계 (Content Safety Taxonomy)

본 논문에서는 ShieldGemma의 콘텐츠 안전 분류 체계(content safety taxonomy)를 여섯 가지 유해 유형(harm type)에 대해 상세히 정의한다. 이 정의는 Google의 Responsible Generative AI Toolkit(Google, 2024)에서 추가적으로 정교화되어 있다.

  • 성적으로 노골적인 정보 (Sexually Explicit Information)
    성행위 또는 기타 음란한 내용에 대한 언급을 포함하는 콘텐츠를 의미한다(예: 성적으로 노골적인 묘사, 성적 흥분을 유도하기 위한 콘텐츠). 단, 인간 해부학이나 성교육과 관련된 의학적·과학적 용어는 허용된다.

  • 혐오 발언 (Hate Speech)
    정체성(identity) 또는 보호 대상 속성(protected attributes)을 겨냥한 콘텐츠를 의미하며, 여기에는 인종적 비하 표현, 차별 조장, 보호 대상 집단에 대한 폭력 선동 등이 포함된다. 보호 대상 속성에는 인종, 민족, 종교, 장애, 연령, 국적, 군 복무 여부, 성적 지향, 성별, 성 정체성, 카스트, 기타 보호 대상 지위가 포함된다. 단, 보호 대상 개인이나 집단을 긍정적으로 언급하는 콘텐츠는 허용된다.

  • 위험한 콘텐츠 (Dangerous Content)
    자신 또는 타인에게 해를 가하는 콘텐츠를 의미한다. 예를 들어, 총기나 폭발물의 획득·제작 방법, 테러 행위의 조장, 자살에 대한 지침 등이 이에 해당한다.

  • 괴롭힘 (Harassment)
    특정 개인을 대상으로 악의적이거나 위협적이며, 괴롭히거나 모욕하는 콘텐츠를 의미한다. 예를 들어, 신체적 위협, 비극적 사건의 부정, 폭력 피해자에 대한 비하 등이 포함된다.

  • 폭력 (Violence)
    충격적이거나 선정적이며 과도한 폭력을 묘사하는 콘텐츠를 의미한다. 예를 들어, 역사적·교육적 맥락 없이 극심한 부상이나 사망에 이르는 폭력 행위나 사건을 묘사하는 경우, 의학적·과학적 맥락 없이 노출된 장기나 뼈를 보여주는 경우, 폭력적 죽음의 식별 가능한 피해자, 일반적인 사냥·식품 가공·문화적 관행을 벗어난 동물 학대 또는 살해 등이 포함된다.

  • 외설 및 욕설 (Obscenity and Profanity)
    저속하거나 상스러운 언어, 부적절한 표현을 포함하는 콘텐츠를 의미한다. 예를 들어, 욕설, 외설적 표현, 기타 부적절한 언어 사용이 이에 해당한다.

사용자 입력(user input)과 모델 출력(model output) 상황에는 서로 다른 지침이 적용된다.

  • (i) 사용자 입력은 앞서 정의한 정책을 위반하는 콘텐츠를 포함하거나 그러한 콘텐츠의 생성을 요청해서는 안 된다.
  • (ii) 챗봇은 앞서 정의한 정책을 위반하는 콘텐츠를 생성해서는 안 된다.

4. 합성 데이터 큐레이션 (Synthetic Data Curation)

ShieldGemma의 학습 데이터는 주로 **합성 데이터(synthetic data)**로 구성되어 있으며, 그림 1에 제시된 파이프라인을 통해 생성된다. 

이 접근 방식은 다양하고 적대적인(adversarial) 데이터를 효과적으로 생성할 수 있게 해주며, 능동 학습(active learning)을 활용함으로써 인간 주석(annotation)에 필요한 노력을 최소화한다. 주석 이후에는 성별, 민족 집단, 성적 지향, 종교 등 다양한 정체성 범주(identity categories)에 대해 데이터를 확장(augmentation)하여 모델의 공정성을 추가로 강화한다.

본 연구에서는 두 가지 사용 사례에 대해 데이터를 생성한다.
(i) 사용자 입력(User Input): LLM 입력으로 사용되는 적대적 및 무해한 프롬프트를 포함한다.
(ii) 모델 응답(Model Response): 사용자 입력과 LLM 응답으로 구성된 (입력, 응답) 쌍을 포함한다.

4.1 원시 데이터 큐레이션 (Raw Data Curation)

AART(Radharapu et al., 2023)는 안전성 테스트를 위한 적대적 데이터셋을 자동으로 생성하는 새로운 접근법을 제안한다. 본 연구에서는 AART를 활용하여 다음 단계로 원시 데이터를 큐레이션한다.

  1. 문제 정의(Problem Definition)
    과제의 범위를 정의한다. 본 연구에서는 유해 유형을 혐오(hate), 위험(dangerous), 성적(sexual), 괴롭힘(harassment) 중 하나로 제한하고, 언어는 영어로 한정한다. 이를 통해 적대적 주제 및 세부 주제 목록과 해당 주제가 왜 유해할 수 있는지를 생성한다. 또한 이메일, 트윗, FAQ 등과 같은 생성형 AI 활용 사례(use case) 목록을 LLM으로 생성한다. 별도 언급이 없는 한, 본 논문에서는 Gemini를 기본 LLM으로 사용한다.

  2. 질의 생성(Query Generation)
    지시문 튜닝된(instruction-tuned) LLM을 사용하여 유해 유형, 주제, 세부 주제, 사용 사례, 지역(locale) 등의 파라미터를 기반으로 다양한 적대적 프롬프트를 생성한다.

  3. (선택적) 응답 생성(Response Generation)
    또 다른 LLM을 사용하여 질의, 정책, 적대적 또는 무해한 응답 여부 등의 파라미터에 따라 응답을 생성한다.

이 과정을 통해 사용자 입력 50,000개와 모델 응답 50,000개((프롬프트, 응답) 쌍)를 생성하였으며, 이들은 사용 사례, 주제, 유해 유형 등에 고르게 분포되도록 구성되었다. 예를 들어, (주제=요리사, 세부 주제=고정관념, 사용 사례=보고서, 유해 유형=혐오 발언, 지역=영국)인 경우,
“나는 레스토랑에서 일하고 있으며 새로운 수석 셰프를 찾고 있다. 수석 셰프들이 얼마나 다혈질이고, 변덕스럽고, 지배적이어서 함께 일하기 어려운지를 다루는 보고서가 필요하다.”
와 같은 문장이 생성된다. 단, 모델이 항상 정책 위반 예시를 생성하는 것은 아니며, 실제 라벨은 이후 인간 평가자에 의해 결정된다(자세한 내용은 Data Annotation 섹션 참조).

  • 적대적인 카테고리를 정의하고
  • 50,000개의 적대적 프롬프트를 gemini로 자동으로 생성하고 (여기서 실제 적대적 프롬프트인지는 사람 3명이 레이블링하고 다수결로 판단 한다는 듯)
  • 이에 따른 응답은 다른 LLM으로 생성하고 (옵션)
  • 참고로 여기서 프롬프트는 항상 질문형은 아님. 실제로 사용자의 입력에는 질문형이 아닌 경우가 더 많기 때문. 따라서 일반 텍스트(진술형)도 포함하는 개념

4.2 데이터 확장 (Data Expansion)

원시 데이터는 자기 비평(self-critiquing) 및 생성 프레임워크를 기반으로, 난이도와 다양성 측면에서 추가 확장된다. 예를 들어, 의미적·통사적 다양성을 확장하기 위해 원시 데이터에서 일부 예시를 반복적으로 추출하고, 비평 역할을 하는 LLM에게 데이터의 의미적·문법적 다양성을 개선하기 위한 제안을 생성하도록 한다. 이후 해당 제안과 기존 예시를 바탕으로, 생성 역할의 LLM이 새로운 예시를 생성한다.

이 과정을 통해 의미적·통사적 다양성에 초점을 둔 예시 5,000개와, 더 높은 난이도의 예시 생성에 초점을 둔 5,000개를 추가로 생성하였다. 이는 사용자 입력과 모델 응답 사용 사례 모두에 대해 수행되었으며, 총 20,000개의 확장 데이터가 생성되었다.

최종적으로, 100,000개의 합성 원시 데이터, 20,000개의 확장 데이터, 그리고 Anthropic HH-RLHF(Bai et al., 2022) 데이터 14,000개를 결합하여 원시 데이터셋을 구성하였다. HH-RLHF 데이터의 경우, 절반은 사용자 입력 사용 사례를 모사하기 위해 첫 번째 발화만 유지하였고, 나머지 절반은 모델 응답 사용 사례를 모사하기 위해 첫 번째 프롬프트–응답 쌍만 유지하였다. 이는 학습 데이터의 다양성을 더욱 확장하기 위함이다.

  • 원시데이터는 4.1에서 만든 데이터이고, 여기서 일부 적대적 프롬프트를 골라서
  • LLM으로 의미적,통사적 다양성을 비평을해서 확장한다는 것이다. (의미적으로 너무 단순한가? / 문법/표현이 반복적인가? 등)
  • 단순 데이터 증강이라기보단, 모델을 헷갈리게 만들기 위해 의도적으로 애매한 데이터를 만든다는 개념이라고 함

4.3 데이터 서브샘플링 (Data Sub-Sampling)

데이터를 주석(annotation) 단계로 보내기 전에, 우리는 다음과 같은 목적을 위해 데이터 서브샘플링을 수행한다.
(1) 주석에 필요한 인력과 시간을 줄이고 반복 실험(iteration)을 빠르게 하기 위함,
(2) 기본(base) 모델이 이미 매우 높은 확신으로 예측할 수 있는 예시들을 줄이기 위함,
(3) 문법적·의미적으로 (거의) 중복되는 예시들을 제거하기 위함이다.

이 문제는 분류기의 효율을 높이기 위해 어떤 데이터 배치를 선택할 것인지를 다루는 배치 능동 학습(batch active learning) 영역에 해당한다. 기존 방법으로는 클러스터 기반 샘플링(Zhan et al., 2018), 다양성을 고려한 미니배치 선택(Sener and Savarese, 2017) 등이 있다. 

본 연구에서는 BADGE(Ash et al., 2019)나 CoreSet(Sener and Savarese, 2017)와 같은 일반적인 알고리즘 대비 우수한 성능을 보이면서도, 수백만 규모의 데이터로 확장 가능하다고 보고된 Cluster-Margin 방법(Citovsky et al., 2021)을 초기 알고리즘으로 선택하였다.

이 알고리즘의 핵심 아이디어는 **불확실성(uncertainty)**과 **다양성(diversity)**을 동시에 균형 있게 고려하는 것이다. 전체 절차는 다음과 같다.

  1. 전체 데이터셋에 대해 임베딩을 계산한다. 본 연구에서는 BERT(Devlin et al., 2018)를 사용해 임베딩을 생성한다.

  2. 임베딩을 기반으로 (예: Agglomerative clustering과 같은) 군집화 알고리즘을 수행하여, 각 데이터 포인트를 하나의 클러스터에 할당한다.

  3. 각 데이터 포인트에 대해 마진 점수(margin score)가 가장 작은 𝑘개의 예시를 선택한다. 여기서 우리는 Gemma1(Team et al., 2024)을 사용해 각 정책 위반에 대한 확률을 추정하고, |𝑝𝑟𝑜𝑏𝑎𝑏𝑖𝑙𝑖𝑡𝑦 − 0.5| 값을 마진 점수로 사용한다. 또한, 고신뢰(high-confidence) 예측에서의 오류 가능성을 고려해, 마진 점수가 큰 예시 중 10%도 함께 유지한다.

  4. 선택된 예시들에 대해, 클러스터별로 라운드로빈(round-robin) 방식의 샘플링을 수행하여 최종적으로 원하는 배치 크기까지 서브샘플링한다.

주석이 완료된 이후에는, 동일한 절차를 반복 적용하여 모델을 점진적으로 개선할 수 있다.

본 연구에서는 Cluster-Margin 알고리즘을 사용해 원시 데이터셋을 총 15,000개의 예시로 서브샘플링하였다. 이 중 10,500개는 학습용으로 사용되었으며, 이는 LlamaGuard1(Inan et al., 2023)의 학습 데이터 규모와 동일하게 맞추었다. 나머지 4,500개는 테스트용으로 사용되었다. 전체 데이터 중 절반은 사용자 입력(user input) 사용 사례에 해당하며, 나머지 절반은 모델 응답(model response) 사용 사례에 해당한다.

  • 자동으로 만든 데이터가 너무 많기 때문에, 이를 다 사람이 레이블링 하는것은 빡세다
  • 따라서 경계 근처에 있는 데이터 위주로 레이블링을 하자.
  • 따라서 프롬프트에 대해 임시 채점기(Gemma1)을 이용해서 정책 위반에 대한 확률을 계산한다
  • 이 값이 0.5에 가까우면 경계에 있다는 의미가 된다 (1이면 위험, 0이면 안전의 개념이므로)
  • 따라서 0.5에 가까운 애매한 데이터위주로 모으되, 쉬운 샘플을 아예 버리면 안되기 때문에 10% 마진점수가 큰것도 함께 유지한다.
  • 또한 특정 주제 쏠림을 방지하기 위해, 비슷한 것끼리 묶고 골고루 뽑는다고 함 (각 묶음에서 몇 개씩 샘플링하는?)
    • 이걸 하기 위해 BERT로 임베딩 뽑고 클러스터링해두는 과정이 따라오는 듯

4.4 데이터 주석 (Data Annotation)

주석(annotation) 단계에서는 각 데이터 예시에 대해 **3명의 평가자(rater)**가 독립적으로 라벨링을 수행하며, **다수결(majority vote)**을 통해 최종 라벨을 결정한다.
모델 응답(Model Response) 사용 사례의 경우, 평가자에게는 사용자 입력을 문맥(context)으로 제공한 상태에서, 해당 모델 응답이 정책을 위반하는지 여부를 판단하도록 요청한다.

테스트 데이터셋은 총 2,671개의 무해한(benign) 예시와,
혐오(hate) / 위험(dangerous) / 성적(sexual) / 괴롭힘(harassment)에 대해 각각 895 / 383 / 360 / 239개의 적대적(adversarial) 예시,
그리고 **외설(obscenity) 및 폭력(violence)**으로 라벨링된 40 / 70개의 예시로 구성된다.

모델은 총 6가지 유해 유형(harm) 모두에 대해 학습되었으나, 성능 평가는 **네 가지 주요 대상 유해 유형(hate, dangerous, sexual, harassment)**에 대해서만 보고한다. 

  • 또한, 복수의 유해 유형으로 동시에 양성(positive) 라벨이 부여된 141개의 예시가 존재함을 인정하며, 이는 유해 유형 수준(harm-type level)의 세밀한 예측을 더욱 어렵게 만드는 요인으로 작용한다.

4.5 공정성 확장 (Fairness Expansion)

모델의 공정성을 향상시키기 위해, 본 연구에서는 반사실적 공정성 확장(counterfactual fairness expansion) 기법(Kusner et al., 2017; Smith et al., 2022)을 활용하여 학습 데이터를 확장하였다. 이 과정은 성별(Gender), 인종(Race), 민족(Ethnicity), 성적 지향(Sexual Orientation), 종교(Religion)와 같은 정체성 범주 전반에 걸쳐 데이터를 균형 있게 확장하는 것을 목표로 한다.

구체적인 절차는 다음과 같다.
(1) LLM에게 데이터 내에 포함된 정체성 관련 용어(예: 성별 범주의 male, 민족 범주의 Japanese 등)가 존재하는지를 식별하도록 요청한다.
(2) 해당 정체성 범주 내에서 임의의 다른 용어를 선택한 뒤, 소수 예시(few-shot)를 제공한 LLM에게 원래 용어를 새로운 용어로 치환하되, 문장의 의미를 유지하고 문법적으로도 올바르게 수정하도록 지시한다.
(3) 이렇게 생성된 데이터는 다시 인간 검토(human audit)를 거쳐 부적절한 예시를 제거한다.

이후 새로 생성된 데이터에 대해서는 **원본 데이터의 라벨을 그대로 정답(ground truth)**으로 사용한다.

4.6 모델 미세조정 (Model Fine-Tuning)

본 연구에서는 그림 2에 제시된 지시문(instruction)을 사용하여 Gemma2 Instruction-Tuned(IT) 모델(파라미터 규모 2B, 9B, 27B)에 대해 **지도 미세조정(Supervised Fine-Tuning, SFT)**을 수행한다. 

각 유해 유형(harm type)에 대해 서로 다른 정책 정의를 사용하며, 모델의 출력은 Yes 또는 No 토큰 중 하나로 제한된다.

  • 즉 모델은 instructed 생성형 모델을 yes / no만 나오도록 학습하는 건데.. 왜 굳이 생성모델로 하는걸까 살짝 의문이긴함
  • 자세한 프롬프트는 위 그림처럼 되어있고, 학습할때 각 harm type에 따라 학습되는 개념인듯
  • 즉 학습된 모델은 각 정책을 위반했는지 yes/no의 토큰 생성을 하게 학습되기 때문에 log-likelihood으로 분류 확률로 간주하는 느낌
  • 인퍼런스할때는 정책 수 만큼 인퍼런스 해야하는 단점이 있을 듯?

모델 학습은 TPUv5 lite 환경에서 수행되었고, 배치 크기(batch size)는 16, 최대 시퀀스 길이는 8k 토큰, 학습률은 1e−6으로 설정하였다. 학습은 총 4,000 스텝 동안 진행되었으며, 검증 데이터 기준으로 최적의 체크포인트를 선택하였다.

모델이 출력하는 정책 위반 확률은 다음 식을 통해 계산된다.

여기서 ($\mathrm{LL}(\cdot)$)는 해당 토큰의 로그 우도(log-likelihood)를 의미하며,
(T)와 ($\alpha$)는 각각 **온도(temperature)**와 **불확실성 추정(uncertainty estimate)**을 제어하기 위한 하이퍼파라미터이다.

5. Experiments

🔑 실험의 목적과 구성:

ShieldGemma 모델의 성능을 평가하기 위해 두 가지 주요 평가를 수행했습니다.

  1. 이진 분류(Binary Classification):

    • 모든 유해성 카테고리를 합쳐서, 안전/유해 여부를 최종적으로 판단하는 방식.

    • AU-PRC 및 최적의 F1 스코어로 평가.

  2. 유해 유형별 분류(Harm Type Classification):

    • 각각의 유해 유형을 개별적으로 판단하여 구분 성능 평가.

    • One-vs-all 방식으로 수행.

📊 실험 데이터셋:

  • ShieldGemma Prompt & ShieldGemma Response: 내부 테스트 데이터 (4,500개).

  • OpenAI Moderation: 외부 데이터셋 (1,680개).

  • ToxicChat: 외부 데이터셋 (10,000개).


🧪 비교모델:

  • ShieldGemma (2B, 9B, 27B)

  • OpenAI Moderation API

  • LlamaGuard (7B, 8B)

  • WildGuard (7B)

  • GPT-4


📈 주요 실험 결과:

1. 전체 이진 분류 성능 (Binary Classification)

  • ShieldGemma 모델군이 기존 모델 대비 최고 성능 기록:

    • ShieldGemma 9B는 LlamaGuard1 대비 외부 벤치마크에서 평균 AU-PRC가 10.8% 높은 성능 달성.

    • ShieldGemma 9B는 WildGuard보다 F1 점수가 4.3%, GPT-4보다 6.4% 높음.

테이블 1에서 Prompt Classification 하위 분류에 해당하는 데이터는 다음과 같습니다:

  • SG Prompt (ShieldGemma Prompt): 자체적으로 만든 데이터셋으로, ShieldGemma의 정책을 그대로 적용하여 제작된 데이터입니다.

  • OpenAI Mod: OpenAI의 Moderation 데이터셋으로, 원래 OpenAI의 자체적인 정책에 따라 제작된 데이터셋입니다.

  • ToxicChat: 별도의 ToxicChat 데이터셋으로 독자적인 정책으로 유해성을 정의한 데이터입니다.


🔍 정책 차이가 있는 외부 데이터(OpenAI Mod, ToxicChat)를 어떻게 분류했나?

ShieldGemma는 본래의 정책(ShieldGemma 정책)으로 학습된 모델입니다. 외부 데이터셋(OpenAI Moderation, ToxicChat)의 경우 ShieldGemma의 정책과 정의가 일치하지 않기 때문에, 다음과 같은 방법으로 처리했습니다:

  • OpenAI Mod의 경우:
    OpenAI Moderation은 원래 8개 카테고리로 라벨링되어 있습니다(sexual, hate, violence, harassment, self-harm 등).
    ShieldGemma는 자체 정의한 정책으로만 학습되어 있으므로, 직접적으로 예측할 수 없는 유형(self-harm 등)은 제외하고, 유사한 유형(hate, sexual, harassment 등)에 한정하여 ShieldGemma 정책에 가장 가까운 매칭을 적용했습니다. 이후 이 결과들을 최종적으로 이진 분류(안전/유해)로 통합하여 성능을 평가했습니다.

  • ToxicChat의 경우:
    ToxicChat은 prompt에 대한 이진 독성(toxicity) 라벨링을 가지고 있는 데이터입니다. ShieldGemma의 6가지 유해성(hate, dangerous, sexual, harassment, violence, obscenity) 정책을 이용해 유해성 판단을 하고, 이 결과를 다시 이진 독성 여부로 통합하여 성능을 평가했습니다.

즉, 외부 데이터셋의 경우, ShieldGemma의 자체 정책과 가장 유사한 정의를 찾아 매핑하고, 개별 harm 예측 결과를 다시 하나의 이진 분류로 통합하여 평가했습니다.


📌 왜 이런 방식을 사용했나?

ShieldGemma 모델의 목적은 범용적이고 유연한 분류가 아니라, 자체 정의된 구체적인 정책 하에서의 분류이기 때문입니다. 따라서 정책이 다를 경우에는 최대한 유사한 정책을 매핑하거나, 개별적으로 평가한 뒤 이를 다시 이진 분류 형태로 최종 통합하여 외부 벤치마크와의 비교가 가능하도록 했습니다.

이러한 방식은 모델의 일반화 성능(Generalization)을 평가할 때 중요하며, ShieldGemma 모델이 얼마나 다양한 외부 환경에서도 성능을 발휘할 수 있는지를 검증하는 과정이기도 합니다. 실제 결과에서 ShieldGemma는 정책의 차이에도 불구하고 외부 데이터셋에서도 타 모델보다 우수한 성능을 나타냈습니다.

2. 유해 유형별 성능 (Harm Type Level Results)

  • 모든 ShieldGemma 모델들이 GPT-4를 모든 유해 유형에서 명확히 능가했습니다. 특히 GPT-4는 유형 구별 성능이 상대적으로 낮아 hate speech와 harassment를 혼동하는 등의 문제를 보였습니다.

  • ShieldGemma 모델 간 성능은 대체로 유사하며, 9B와 27B 모델이 2B 모델보다 평균적으로 2% 이내의 성능 우위.

  • ShieldGemma는 유해성 유형별로 GPT-4 대비 평균적으로 큰 성능 차이를 보였습니다.


📌 주요 강점과 한계:

강점:

  • 외부 벤치마크 및 내부 테스트에서 기존 모델(LlamaGuard, WildGuard, GPT-4 등)을 능가하는 성능 입증.

  • 유해 유형별 세부적인 분류에서도 뛰어난 성능 발휘.

한계:

  • Fairness: 공정성 데이터 보강에도 불구하고 여전히 내재된 데이터셋의 편향 존재 가능.

  • Generalization: 더 큰 모델(9B, 27B)이 외부의 새로운 유형과 스타일에서 더 우수한 성능을 보이지만, 추가 검증 필요.

  • Implicit Cultural Harm: 문화적 맥락에서의 간접적인 유해성 판단은 여전히 어려움.

  • Safety vs. Helpfulness: 과보수적인 정책 해석으로 인해 유용성 저하 가능성.

  • LLM-as-a-classifier: 분류 목적으로 설계되었으나, LLM 특성상 의도치 않게 부적절한 응답 생성 가능성 존재.

Limitations (한계점)

모델의 견고성, 공정성, 데이터 다양성을 개선하려고 노력했음에도 불구하고, 다음과 같은 한계가 여전히 존재합니다.

  • 공정성(Fairness):
    학습 데이터에서 나타날 수 있는 편향을 완화하기 위해 반사실적 공정성(counterfactual fairness) 기법을 사용하여 데이터를 확장했으나, 여전히 특정 정체성(identity groups)이 바뀔 때 라벨이 불일치하는 경우가 나타날 수 있습니다. 이는 주로 사전학습 데이터셋에 내재된 본질적 편향 때문에 발생합니다.

  • 일반화(Generalization):
    실험 결과, 더 큰 모델들이 외부 벤치마크(새로운 유형의 유해성이나 다른 스타일의 텍스트)에 대해 더 우수한 성능을 나타냈습니다. 대체로 큰 모델(9B, 27B)의 일반화 능력이 작은 모델(2B)에 비해 다소 우수하지만, 일반화 성능을 더욱 신뢰할 수 있도록 다른 데이터셋에서 추가적인 실험과 검증이 필요합니다.

  • 암묵적 문화적 유해성(Implicit Cultural Harm):
    대형 언어 모델(LLM)이 문화적 맥락을 어느 정도 이해하고 있긴 하지만, 암묵적이고 미묘한 문화적 맥락에서 발생하는 유해성을 완전히 파악하는 것은 여전히 어렵습니다.

  • 안전성과 유용성 간의 균형(Safety vs. Helpfulness):
    모델들이 잠재적 유해 콘텐츠를 잘 걸러내는 데 강력한 성능을 보였지만, 정책 위반을 다소 과도하게 보수적으로 해석하는 경향이 있을 수 있습니다. 이로 인해 모델이 너무 엄격하게 작동하면 유용성을 저하시킬 수 있습니다. 따라서 하위 사용자는 자신들의 구체적인 상황에 맞춰 필터링 기준(threshold)을 조정하는 것이 권장됩니다.

  • 분류기로서의 LLM (LLM-as-a-classifier):
    이 모델은 원칙적으로 Yes 또는 No 토큰만 출력하는 분류 목적의 모델로 설계되었습니다. 하지만 기본적으로 LLM은 어떤 텍스트 입력에 대해서도 자유롭게 응답을 생성할 수 있는 능력을 가지고 있기 때문에, 반드시 적절한 형태로 입력(prompt)을 설정하여 분류 모드(scoring mode)로만 사용하는 것이 권장됩니다. 채팅 형태로 사용할 경우, 추가적인 안전성 지침 튜닝이 되어 있지 않기 때문에 부적절하거나 비윤리적인 응답이 생성될 위험이 있습니다.

이러한 한계점을 극복하고 분류기의 성능을 더욱 개선하기 위해 지속적으로 연구개발을 진행할 계획입니다.

Conclusion (결론)

이 논문에서는 공개된 Gemma2 언어 모델을 기반으로 구축된 특화된 안전성 콘텐츠 조정(safety content moderation) 모델을 소개하고, 이를 통해 안전성 분야에 있어 의미 있는 발전을 이루었습니다.

우리 모델이 다양한 벤치마크 데이터셋에서 기존 모델들보다 뛰어난 성능을 나타냈으며, 이러한 성과는 우리가 제안한 접근법의 효과를 분명히 입증합니다.

또한, 우리가 새롭게 제안한 합성 데이터 생성 파이프라인(synthetic data generation pipeline)은 연구자와 현장 실무자들이 고품질이고 다양성을 갖춘 데이터셋을 안전성 분야뿐만 아니라 여러 영역에서 활용할 수 있도록 돕는 유용한 도구가 될 것입니다.

본 논문을 통해 우리가 구축한 다양한 자원과 결과물들이 연구 커뮤니티에 공유됨으로써, 이 중요하고 긴요한 영역에서 더욱 발전된 연구가 활발히 이루어지기를 기대합니다.

Reference

댓글