Transformers v4.46.0에서 SynthID Text 통합

Google DeepMind와 Hugging Face가 Transformers v4.46.0에 SynthID Text를 출시했습니다. 이 기술은 생성 과정에서 logits 프로세서를 사용해 AI 생성 텍스트에 워터마크를 적용하고, 이후 훈련된 분류기를 사용해 해당 워터마크를 탐지할 수 있게 합니다.

SynthID Text 작동 방식

SynthID Text는 AI가 생성한 텍스트에 워터마크를 인코딩하여 해당 콘텐츠가 특정 대형 언어 모델(LLM)에 의해 생성되었는지 식별합니다. 이 과정은 모델의 기본 기능을 변경하거나 생성 품질을 저하시키지 않습니다.

시스템은 g-함수라고 알려진 의사 난수 함수를 활용해 생성 과정을 보강합니다. 이를 통해 인간 독자에게는 눈에 띄지 않지만 훈련된 모델이 감지할 수 있는 워터마크가 생성됩니다. 구현은 model.generate() API를 통해 모든 LLM과 호환되는 생성 유틸리티 형태로 제공되며, 모델 자체를 수정할 필요가 없습니다.

워터마크 구성

워터마크는 g-함수와 토너먼트 샘플링 중 적용을 매개변수화하는 데이터 클래스(SynthIDTextWatermarkingConfig)를 통해 관리됩니다. 이러한 구성은 워터마크 복제를 가능하게 하므로, 안전하고 비공개적으로 저장되어야 합니다.

각 워터마크 구성에는 두 가지 주요 매개변수가 필요합니다:

  • keys: 모델 어휘 전체에 대한 g-함수 점수를 계산하는 데 사용되는 정수 리스트입니다. 탐지 가능성과 생성 품질 사이의 균형을 유지하기 위해 20~30개의 고유하고 무작위로 생성된 숫자를 사용하는 것이 권장됩니다.
  • ngram_len: 견고함과 탐지 가능성 사이의 균형을 맞추는 매개변수입니다. 값이 높을수록 탐지 가능성이 증가하지만 워터마크가 변동에 더 취약해집니다. 권장 기본값은 5이며, 최소 요구값은 2입니다.

워터마크 적용

워터마크를 적용하려면 model.generate() 호출 내의 watermarking_config 매개변수에 SynthIDTextWatermarkingConfig 객체를 추가해야 합니다.

예시 구현:

from transformers import (
    AutoModelForCausalLM,
    AutoTokenizer,
    SynthIDTextWatermarkingConfig,
)

# Standard model and tokenizer initialization
tokenizer = AutoTokenizer.from_pretrained('repo/id')
model = AutoModelForCausalLM.from_pretrained('repo/id')

# SynthID Text configuration
watermarking_config = SynthIDTextWatermarkingConfig(
    keys=[654, 400, 836, 123, 340, 443, 597, 160, 57, ...],
    ngram_len=5,
)

# Generation with watermarking
tokenized_prompts = tokenizer(["your prompts here"])
output_sequences = model.generate(
    **tokenized_prompts,
    watermarking_config=watermarking_config,
    do_sample=True,
)
watermarked_text = tokenizer.batch_decode(output_sequences)

워터마크가 적용된 텍스트 탐지

워터마크는 인간에게 눈에 띄지 않도록 설계되었기 때문에 탐지를 위해 훈련된 분류기가 필요합니다. 각 워터마크 구성에는 해당 마크를 인식하도록 훈련된 탐지기가 있어야 합니다.

권장되는 탐지기 훈련 과정은 다음과 같습니다:

  1. 워터마크 구성을 정의합니다.
  2. 워터마크가 적용된 텍스트와 적용되지 않은 텍스트를 각각 포함한 최소 10,000개의 예시로 구성된 학습 데이터를 수집하고, 이를 학습 세트와 테스트 세트로 나눕니다.
  3. 모델을 사용해 워터마크가 없는 출력을 생성합니다.
  4. 모델을 사용해 워터마크가 적용된 출력을 생성합니다.
  5. 워터마크 탐지 분류기를 훈련합니다.
  6. 관련 구성 및 탐지기와 함께 모델을 프로덕션 환경에 배포합니다.

Transformers는 이를 위해 BayesianDetectorModel 클래스를 제공합니다. 동일한 토크나이저를 공유하는 모델들은 탐지기의 학습 세트에 모든 참여 모델의 예시가 포함되어 있는 경우, 워터마크 구성 및 탐지기를 공유할 수 있습니다.

제한 사항 및 견고성

SynthID Text 워터마크는 가벼운 패러프레이징, 몇 단어 수정, 텍스트 일부 잘라내기 등에 대해 견고합니다. 그러나 다음과 같은 제한 사항이 존재합니다:

  • 사실 기반 응답: 사실적인 내용은 생성 과정을 보강할 여지가 적어 워터마크의 효과가 감소합니다.
  • 대규모 편집: AI가 생성한 텍스트를 크게 재작성하거나 다른 언어로 번역하면 탐지기 신뢰도 점수가 크게 낮아집니다.
  • 악의적 사용: 시스템은 의도적인 악의적 행위를 완전히 차단하도록 설계되지 않았지만, AI 생성 콘텐츠를 악용하기 어렵게 만듭니다.

SUMMARY: Google DeepMind와 Hugging Face가 SynthID Text를 Transformers v4.46.0에 통합하여, AI 생성 텍스트에 눈에 띄지 않는 워터마크를 적용하고 훈련된 분류기로 탐지할 수 있는 방법을 제공했습니다.

TITLE: Transformers v4.46.0에서 SynthID Text 통합

Sources