본문으로 건너뛰기

Claude가 AI 생성 텍스트에 워터마크를 넣는 방식

Claude는 비밀 키 기반 토큰 샘플링으로 텍스트에 워터마크를 남기고 LLM 재실행 없이 탐지한다.

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

TL;DR

Claude의 텍스트 워터마크는 LLM 내부의 가중치를 바꾸거나 새 모델을 학습시키는 방식이 아니라, 다음 토큰을 고르는 샘플링 단계에서 비밀 키와 앞선 토큰으로 선택 패턴을 조정하는 방식입니다. 후보 토큰마다 여러 워터마킹 함수가 0과 1의 비트 서명을 만들고, Tournament Sampling이 이 서명을 이용해 토큰을 선택하면 생성된 텍스트에 통계적 흔적이 남습니다. Anthropic은 같은 키와 함수를 텍스트에 다시 적용해 각 위치의 점수 평균을 구하고 임계값과 비교하므로, 탐지 과정에서 원래 LLM을 재실행하지 않아도 됩니다. 다만 적용 위치를 직접 알 수 없더라도 여러 단어를 편집하면 워터마크를 약화할 수 있으며, 다른 모델을 이용한 후처리는 문장 품질 저하와 생성 파이프라인의 복잡성 증가로 이어질 수 있습니다.

섹션별 상세

01
LLM의 텍스트 생성은 입력 문장을 Token ID로 바꾸고 LLM을 통과시켜 다음 토큰 후보 전체의 Logit 분포를 얻는 과정으로 시작합니다. Softmax를 적용하면 후보별 확률이 되고, 샘플링 결과로 선택된 토큰을 기존 입력에 덧붙여 다음 반복을 진행합니다. Claude 워터마크는 이 기본 생성 구조를 새로 학습시키는 방식이 아니라 토큰 선택 단계에 작은 변경을 넣는 방식입니다.
02
LLM은 항상 가장 높은 점수의 토큰만 고르지 않고 확률적 샘플링을 사용해 같은 프롬프트에서도 서로 다른 출력을 만들 수 있습니다. 예를 들어 날씨 문장의 다음 토큰으로 gray와 overcast가 비슷한 확률을 가지면 무작위 선택 결과에 따라 이후 문장 전체가 달라집니다. 워터마크는 이런 선택이 가능한 위치에서 비밀 키를 이용해 특정 선택이 반복되도록 만들어 텍스트에 통계적 흔적을 남깁니다.
03
Claude의 워터마킹 키는 고정된 숫자 시드가 아니라 비밀 키와 앞선 네 단어를 조합해 각 위치의 선택에 영향을 주는 값을 만듭니다. 이 값은 후보 토큰을 선택하는 무작위 과정을 특정 방향으로 유도하지만, 가능한 후보들의 확률 자체를 크게 바꾸거나 LLM을 다시 학습시키지는 않습니다. 따라서 워터마크가 텍스트 품질을 직접 낮추기보다 샘플링의 재현성과 선택 편향을 이용하는 구조라는 점이 핵심입니다.
04
워터마크 생성에는 여러 Random Watermarking Function이 사용되며, 각 함수는 문맥과 후보 토큰에 대해 0 또는 1의 비트를 반환합니다. 토큰 후보들은 이 비트 서명을 바탕으로 토너먼트처럼 쌍을 이루어 경쟁하고, G1부터 G3 또는 실제 구현의 더 많은 함수가 라운드별 승자를 결정합니다. 이 절차는 일반적인 random.choice보다 복잡하지만, 생성된 토큰과 문맥만으로 같은 비트 패턴을 재계산할 수 있게 합니다.
05
워터마크 탐지는 비밀 키와 워터마킹 함수로 텍스트의 각 위치 점수를 계산하고 전체 평균을 임계값과 비교하는 방식입니다. 예시에서는 gray가 함수 세 개에서 101을 받아 점수 2를 얻고, 텍스트 전체 평균이 2.23이면 워터마크로, 1.71이면 비워터마크로 판정했습니다. 이 구조에서는 탐지할 때 원래 프롬프트나 LLM의 Logit을 다시 계산하지 않아도 되므로 인터넷에 있는 임의의 텍스트를 비교적 저렴하게 검사할 수 있습니다.
06
워터마크 제거는 워터마크가 적용된 위치의 토큰을 바꾸면 가능하지만, 외부에서는 어느 위치가 선택 대상이었는지 알 수 없습니다. 그래서 공격자는 여러 단어를 추측해 바꿔야 하며, 문맥상 더 자연스러운 후보가 아닌 단어를 억지로 교체하면 문장의 품질이 낮아질 수 있습니다. 글을 생성한 뒤 다른 로컬 모델로 여러 위치를 편집하는 우회 방식이 등장할 수 있지만, 이 과정은 생성 파이프라인을 복잡하게 만들고 원문보다 어색한 텍스트를 만들 위험이 있습니다.

용어 해설

토큰 샘플링(Token Sampling)
LLM이 다음 토큰의 후보별 점수나 확률을 바탕으로 출력 토큰을 고르는 과정입니다. 가장 높은 후보만 고르는 Greedy Decoding과 확률에 따라 무작위 선택하는 방식이 있으며, Top-k와 Top-p는 후보 범위를 제한해 무의미한 토큰 선택을 줄입니다. Claude 워터마크는 이 샘플링 단계에 개입합니다.
워터마크 탐지(Watermark Detection)
텍스트에 삽입된 통계적 패턴을 계산해 AI 생성 여부를 판별하는 절차입니다. Claude 방식에서는 비밀 키와 워터마킹 함수로 각 토큰의 점수를 계산한 뒤 전체 평균을 임계값과 비교합니다. 탐지 과정에는 원래 LLM을 다시 실행할 필요가 없도록 설계된 점이 핵심입니다.
토너먼트 샘플링(Tournament Sampling)
여러 토큰 후보를 쌍으로 겨루게 하고 워터마킹 함수의 비트값으로 승자를 정해 최종 토큰을 선택하는 샘플링 방식입니다. 각 라운드에서 후보를 줄이고 동점이면 키 기반 무작위 선택을 적용합니다. 생성 때 사용한 비트 패턴을 나중에 다시 계산할 수 있어 워터마크 탐지 비용을 낮춥니다.
로짓(Logit)
LLM이 어휘의 모든 토큰 후보에 부여하는 정규화 전 점수입니다. 로짓에 Softmax를 적용하면 후보 확률의 합이 1이 되며, 이후 무작위 샘플링이나 후보 제한에 사용됩니다. 워터마킹은 LLM 내부의 로짓 자체를 바꾸기보다 이 점수에서 토큰을 고르는 단계에 적용됩니다.
무작위 시드(Random Seed)
무작위 수열을 재현하기 위해 초기값으로 사용하는 값입니다. 같은 시드와 같은 입력을 사용하면 샘플링 결과가 반복될 수 있어 출력 선택을 결정론적으로 만들 수 있습니다. Claude 워터마킹은 고정 숫자 대신 비밀 키와 앞선 토큰을 이용해 시드 역할을 하는 값을 만듭니다.

기술

  • Claude
  • Anthropic
  • LLM
  • Tokenization
  • Token ID
  • Logit
  • Softmax
  • Greedy Decoding
  • Top-k Sampling
  • Top-p Sampling
  • NumPy
  • Random Seed
  • Tournament Sampling
  • SynthID-Text

활용 사례

  • Anthropic이 Claude로 생성된 텍스트를 식별하는 데 사용할 수 있습니다. 비밀 키로 텍스트의 토큰 패턴을 채점하고 임계값과 비교해 워터마크 포함 여부를 판단합니다. 외부 플랫폼이 AI 생성 게시물을 표시하는 탐지 API를 제공하는 시나리오도 원문에서 언급됩니다.
AI 분석 전체 내용 보기

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

출처 · 인용 안내

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

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