본문으로 건너뛰기

GPT 워터마크

microgpt의 확률은 유지하고 비밀 키로 생성 텍스트를 통계적으로 검출하는 Python 실험입니다.

이 요약은 AI가 원문을 분석해 생성했습니다. 정확한 내용은 원문 기준으로 확인하세요.

TL;DR

이 프로젝트는 Andrej Karpathy의 microgpt를 기반으로 모델의 토큰 확률을 그대로 유지하면서 생성 텍스트에 통계적 워터마크를 남기는 순수 Python 실험입니다. 일반 샘플링 대신 비밀 키를 결합한 Gumbel 샘플링으로 토큰 선택에 누적 편향을 만들고, 같은 키를 가진 검출기가 p값으로 그 신호를 판별합니다. 워터마크 텍스트는 p=6.844e-53을 기록했지만 정상 텍스트와 잘못된 키의 결과는 각각 7.459e-01과 6.094e-01로 우연 수준에 가까웠습니다. Python 3 표준 라이브러리만 사용하고 91줄 규모로 구현해 LLM 워터마킹의 생성과 검출 과정을 작게 재현합니다.

섹션별 상세

01
이 저장소는 Andrej Karpathy의 최소 GPT 구현인 microgpt를 바탕으로, 모델의 토큰 확률을 바꾸지 않고 생성 텍스트에 통계적으로 검출 가능한 워터마크를 남기는 실험을 구현합니다. 일반 생성은 GPT가 계산한 확률분포에서 무작위로 다음 토큰을 뽑지만, 워터마크 생성은 같은 확률분포에 비밀 키를 결합한 Gumbel 샘플링을 적용해 선택 순서에 편향을 만듭니다. 표식이 텍스트에 눈에 보이는 문자열로 삽입되지 않기 때문에 여러 토큰 선택을 누적해 검출해야 한다는 점이 핵심입니다.
02
검출기는 생성에 사용한 비밀 키를 보유한 상태에서 토큰 선택의 통계량과 p값을 계산해 워터마크 여부를 판별합니다. 실험에서 정상 텍스트는 n=308, 평균 0.962, p=7.459e-01을 기록했고, 워터마크 텍스트는 n=322, 평균 2.105, p=6.844e-53을 기록했습니다. 잘못된 키로 검사한 텍스트는 n=322, 평균 0.984, p=6.094e-01로 정상 텍스트와 비슷해 키를 모르는 검출이 우연 수준에 머문다는 결과를 냅니다.
bash
git clone https://github.com/berba-q/gpt-watermark
cd gpt-watermark
python3 microgpt_watermark.py

저장소를 복제한 뒤 Python 3 표준 라이브러리만으로 워터마크 생성 실험을 실행합니다.

03
프로젝트는 순수 Python으로 작성됐고 Python 3 표준 라이브러리 외의 의존성을 요구하지 않습니다. 사용자는 저장소를 복제하고 microgpt_watermark.py를 실행해 동일한 확률분포를 사용하는 일반 샘플러와 워터마크 샘플러의 출력을 비교할 수 있습니다. 구현 규모를 91줄의 프레임워크 없는 코드로 제시해 워터마크 생성과 통계적 검출이 최소 GPT에서 어떻게 연결되는지 직접 확인하게 합니다.

용어 해설

키드 Gumbel 샘플링(Keyed Gumbel Sampling)
다음 토큰의 확률분포 자체는 바꾸지 않고 비밀 키를 이용해 Gumbel 샘플링 순서를 조정하는 방식입니다. 생성 결과에 눈에 보이는 표식을 삽입하지 않으면서 여러 토큰 선택에 통계적 편향을 만들고, 같은 키를 가진 검출기가 그 편향을 확인하도록 구성됩니다.
Gumbel-Max 트릭(Gumbel-Max Trick)
확률분포에서 샘플을 뽑을 때 각 후보에 Gumbel 잡음을 더해 최댓값을 선택하는 기법입니다. 이 저장소에서는 비밀 키와 결합한 Gumbel 샘플링으로 모델의 원래 토큰 확률을 유지하면서 워터마크 검출에 필요한 통계적 특성을 생성합니다.
p값(p-value)
관측된 통계량이 우연히 나타날 가능성을 나타내는 값입니다. 이 실험에서는 정상 텍스트와 워터마크 텍스트의 점수가 우연한 결과인지 판단하는 데 사용되며, 워터마크 텍스트의 약 6.8×10⁻⁵³ 값은 검출 통계가 우연과 크게 다름을 나타냅니다.
비밀 키 검출(Secret-Key Detection)
텍스트 생성에 사용한 비밀 키를 알고 있는 검출기가 토큰 선택에 누적된 통계적 편향을 측정하는 방식입니다. 키가 맞으면 워터마크 신호를 식별할 수 있지만, 일반 텍스트나 잘못된 키로 검사한 텍스트는 우연한 수준의 결과를 보이도록 설계됩니다.

기술

  • Python 3
  • microgpt
  • keyed Gumbel sampling
  • Gumbel-Max
  • GPT

활용 사례

  • LLM이 생성한 텍스트의 출처 검증
  • 비밀 키를 이용한 생성 텍스트 검출
  • 언어 모델 워터마킹 알고리즘의 소규모 실험

언급된 리소스

AI 분석 전체 내용 보기

AI 요약 · 북마크 · 개인 피드 설정 — 무료

출처 · 인용 안내

원문 발행 2026. 08. 25.수집 2026. 08. 25.출처 타입 RSS

인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.