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)
워터마크가 적용된 텍스트 탐지
워터마크는 인간에게 눈에 띄지 않도록 설계되었기 때문에 탐지를 위해 훈련된 분류기가 필요합니다. 각 워터마크 구성에는 해당 마크를 인식하도록 훈련된 탐지기가 있어야 합니다.
권장되는 탐지기 훈련 과정은 다음과 같습니다:
- 워터마크 구성을 정의합니다.
- 워터마크가 적용된 텍스트와 적용되지 않은 텍스트를 각각 포함한 최소 10,000개의 예시로 구성된 학습 데이터를 수집하고, 이를 학습 세트와 테스트 세트로 나눕니다.
- 모델을 사용해 워터마크가 없는 출력을 생성합니다.
- 모델을 사용해 워터마크가 적용된 출력을 생성합니다.
- 워터마크 탐지 분류기를 훈련합니다.
- 관련 구성 및 탐지기와 함께 모델을 프로덕션 환경에 배포합니다.
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
- OriginalIntroducing SynthID Text