생성형 AI가 작성한 텍스트를 탐지하는 기법인 SynthID-Text를 소개합니다. #160 위클리 딥 다이브 | 2026년 9월 9일 에디터 영이 |
|
|
💡 이번주 뉴스레터에는 이런 내용을 담았어요!
- SynthID-Text가 LLM의 토큰 선택 과정에 워터마크를 남기는 원리를 정리했습니다.
- SynthID-Text가 다음 토큰을 선택하는 과정인 Tournament Sampling 방식을 소개했습니다.
- SynthID-Text 방식과 기존 AI 텍스트 탐지기와의 차이, 실제 서비스 적용 가능성과 한계를 요약했습니다.
|
|
|
Claude는 어떻게 자신이 쓴 글에 흔적을 남길까? |
|
|
안녕하세요, 에디터 영이입니다!
AI가 만든 이미지에 워터마크가 남는다는 사실은 이제 꽤 널리 알려졌습니다. 눈에 보이는 표시를 추가하거나, 이미지 안에 사람이 알아보기 어려운 정보를 심어 AI 생성물임을 식별하는 방식이죠. 이전 뉴스레터에서도 Google DeepMind의 SynthID-Image를 소개한 적이 있습니다.
|
|
|
Google Gemini로 생성한 이미지 (왼쪽), 이 이미지의 AI 생성 여부를 Google Gemini에게 물어보았을 때 Google Gemini의 답변 (오른쪽). Ⓒ deep daiv.
그런데 생성형 AI가 만들어내는 콘텐츠 중 빼놓을 수 없는 것이 바로 텍스트입니다. ChatGPT나 Claude와 같은 LLM은 이메일부터 보고서, 코드, 웹 콘텐츠까지 다양한 형태의 글을 만들어내고 있고, 모델이 발전할수록 사람이 쓴 글과 구분하는 것도 점점 어려워지고 있습니다. 그렇다면 이미지처럼, AI가 생성한 텍스트에도 나중에 확인할 수 있는 흔적을 남길 수 있을까요?
사실 텍스트 워터마킹 자체는 완전히 새로운 기술은 아닙니다. Google DeepMind는 2024년 SynthID-Text를 공개하고, 이를 Gemini에 실제로 적용해 왔습니다. 그리고 최근에는 Anthropic도 Claude에 텍스트 워터마킹을 도입한다고 발표했습니다. 이번 발표에서 특히 흥미로운 점은, 워터마크를 문장 속에 별도의 표식으로 남기는 것이 아니라 LLM이 다음 토큰을 선택하는 과정 자체에 통계적인 신호를 심는다는 점입니다. 사람이 읽기에는 평범한 문장이지만, 생성 과정에서 반복된 작은 선택들이 쌓이면서 나중에는 워터마크의 존재를 탐지할 수 있게 됩니다.
이번 뉴스레터에서는 Anthropic의 워터마킹 기술의 기반이 된 SynthID-Text를 중심으로, LLM이 단어를 선택하는 과정에 어떻게 보이지 않는 흔적을 남기는지, 그리고 이 방식의 장점과 단점까지 알아보도록 하겠습니다.
|
|
|
SynthID-Text 방식의 경우, 이렇게 만들어진 확률분포 자체를 다시 학습하거나 모델의 구조를 변경하지 않고, 마지막 샘플링 단계에 개입합니다.
워터마킹은 크게 세 단계로 이루어집니다. 먼저 Random Seed Generator가 지금까지 생성된 문맥과 비밀 Watermarking Key를 이용해 매 토큰 생성 단계마다 새로운 Random Seed를 만듭니다. 논문의 실험에서는 최근 네 개의 토큰과 Watermarking Key를 Hash한 값을 Random Seed로 사용했습니다. 즉, 같은 키를 사용하더라도 앞서 어떤 문장이 생성되었는지에 따라 다음 단계의 Seed가 달라집니다.
다음으로 이 Random Seed가 샘플링 알고리즘에 사용됩니다. 일반적인 LLM이라면 모델이 계산한 확률분포에서 바로 다음 토큰을 뽑지만, SynthID-Text는 Random Seed와 토큰 선택 사이에 의도적인 상관관계가 생기도록 샘플링 방식을 바꿉니다. 중요한 것은 특정 단어나 문구를 워터마크로 정해 두는 것이 아니라, 각 문맥에서 어떤 토큰이 선택되는가에 작은 편향을 반복해서 남긴다는 점입니다.
이렇게 한 번의 토큰 선택만 보면 별다른 특징이 없습니다. 하지만 수십, 수백 번의 선택이 쌓이면 Watermarking Key를 알고 있는 쪽에서는 일정한 통계적 패턴을 발견할 수 있습니다. 텍스트를 검사할 때는 같은 키를 이용해 각 토큰이 생성 당시의 워터마킹 규칙과 얼마나 잘 맞는지 점수를 계산합니다. 만약 워터마킹이 이루어진 텍스트라면 우연히 생성된 텍스트보다 이 점수가 전반적으로 높아지고, 최종 점수가 정해진 기준선을 넘는지를 보고 워터마크 여부를 판단합니다.
|
|
|
그렇다면 실제 다음 토큰의 선택을 어떻게 바꾸는 걸까요? 이를 해결하기 위해 SynthID-Text가 새롭게 제안한 방법이 바로 Tournament Sampling입니다.
|
|
|
Tournament Sampling은 LLM의 확률분포에서 여러 토큰 후보를 뽑고, Random Seed로 결정되는 Watermarking Function의 점수를 기준으로 후보들을 경쟁 토너먼트에 참가시켜 최종 토큰을 선택하는 방식입니다.
예를 들어 모델이 my favourite tropical fruit is라는 문장 다음에 올 토큰을 선택하는 중이라고 해보겠습니다. 다음 토큰으로는 mango, lychee, papaya, durian처럼 여러 후보가 있을 수 있겠죠. 먼저 LLM은 각 토큰이 다음에 등장할 확률을 계산합니다. Tournament Sampling은 이 확률분포를 이용해 Tournament에 참가할 후보 토큰들을 샘플링합니다.
그다음에는 각 후보에 Watermarking Function의 점수가 별도로 부여됩니다. 이 점수는 토큰이 얼마나 자연스러운지를 나타내는 LLM의 확률과는 달리, Random Seed에 따라 임의로 결정되는 값이며 Tournament에서 어떤 토큰을 다음 라운드로 올릴지를 결정하는 기준으로 사용됩니다.
|
|
|
Watermarking Function을 이용한 Tournament Sampling의 토큰 선택 과정.
중요한 점은 워터마크를 위해 엉뚱한 토큰을 새로 끼워 넣는 것이 아니라는 것입니다. 토너먼트에 참가하는 후보들은 모두 원래 LLM의 확률분포에서 샘플링된 토큰으로, SynthID-Text는 이들 가운데 어떤 토큰이 최종 선택될지를 조금씩 조정합니다.
이러한 선택이 반복되면 워터마킹된 텍스트에서는 Watermarking Function에서 높은 점수를 받는 토큰이 우연히 기대되는 것보다 자주 등장하게 됩니다. 반대로 워터마크가 없는 텍스트에서는 그런 경향이 나타날 이유가 없습니다. 바로 이 차이를 탐지 단계에서 통계적으로 측정하게 됩니다.
그리고 여기에는 모델에게 선택지가 있어야 한다는 중요한 조건이 있습니다. 다음 토큰이 사실상 하나로 정해져 있다면 Tournament Sampling도 다른 토큰을 고를 여지가 없습니다. 반대로 여러 표현이 자연스럽게 가능한 상황일수록 워터마크를 심을 공간이 많아집니다. 또한 텍스트가 길어질수록 이런 선택이 더 많이 반복되기 때문에 워터마크를 판단할 수 있는 증거도 더 많이 쌓입니다.
여기서 SynthID-Text와 기존 AI 텍스트 탐지기의 차이가 드러납니다. 기존의 탐지 방식은 이미 완성된 글의 통계적 특징이나 문체를 분석해 사람이 쓴 글인지 AI가 생성한 글인지 추정합니다. 반면 SynthID-Text는 생성된 글을 보고 사후에 AI 사용 여부를 추측하는 것이 아니라, 텍스트를 생성하는 단계에서부터 의도적인 통계적 신호를 심고 나중에 그 신호를 확인하는 방식입니다.
따라서, 다양한 모델의 출력을 대상으로 판별을 시도할 수 있는 기존 AI 텍스트 탐지기와 달리, SynthID-Text는 애초에 해당 워터마크를 적용해 생성된 텍스트만 탐지할 수 있습니다. Claude의 경우에도 Anthropic이 가진 Watermarking Key를 이용해야 하며, 현재 Anthropic은 이를 확인할 수 있는 탐지용 API를 일부 기관과 기업에 한해 미리보기로 제공하고 있습니다.
|
|
|
SynthID-Text의 장점 중 하나는 기존 LLM을 다시 학습할 필요가 없다는 점입니다. 모델의 구조나 학습 과정은 그대로 두고, 최종적으로 다음 토큰을 선택하는 샘플링 단계만 수정합니다. 워터마크를 탐지할 때도 원래 LLM을 다시 실행할 필요 없이, Watermarking Key와 생성된 텍스트만으로 통계적 신호를 계산할 수 있습니다.
하지만 실제 서비스에 적용하려면 워터마크가 잘 탐지되는 것만으로는 부족합니다. 답변의 품질이 떨어지거나 생성 속도가 느려진다면 사용하기 어렵겠죠. 연구진은 실제 Gemini에서 워터마크를 적용한 경우와 그렇지 않은 경우를 포함한 약 2천만 개의 응답을 비교했고, 사용자 평가에서 유의한 품질 차이를 발견하지 못했습니다. 별도의 사람 평가에서도 문법, 관련성, 정확성, 유용성, 전반적인 품질에서 차이가 나타나지 않았습니다.
속도에 미치는 영향도 작았습니다. Gemma 7B-IT에서 30-Layer Tournament Sampling을 적용했을 때 토큰당 Latency는 약 0.57%밖에 증가하지 않았습니다. 또한 실제 LLM 서비스에서 널리 쓰이는 샘플링 방식과도 함께 사용할 수 있도록 설계해, 워터마크를 추가하면서 기존의 생성 속도 최적화를 크게 해치지 않도록 했습니다. 즉, 답변의 품질과 속도 측면에서 모두 서비스 가능한 수준을 유지할 수 있습니다.
|
|
|
SynthID-Text 방식이 모든 Claude의 출력에서 똑같이 잘 작동하는 것은 아닙니다. Anthropic이 설명하듯, 워터마크는 Claude가 여러 자연스러운 표현 중 하나를 선택할 수 있을 때 그 선택에 미세한 신호를 남기는 방식입니다. 따라서 선택의 여지가 적을수록 워터마크 역시 약해집니다.
가장 단순한 경우는 짧은 글입니다. 텍스트가 짧으면 Claude가 내리는 단어 선택의 수도 적기 때문에, 워터마크를 판단할 만큼 충분한 통계적 신호가 쌓이지 않을 수 있습니다. 반대로 글이 길어질수록 선택이 반복되고, Claude가 생성에 관여했다는 신호도 점점 더 많이 누적됩니다.
정답이 사실상 하나로 정해져 있는 문장이나 정확성이 중요한 사실적 표현에서도 워터마크를 남기기 어렵습니다. 또 코드에서는 특정 함수명이나 문법처럼 정확한 토큰을 사용해야 하는 경우가 많기 때문에, 일반적인 자연어보다 워터마크가 들어갈 수 있는 부분이 적습니다.
|
|
|
워터마크가 잘 남을 수 있는 문장과 남기 어려운 문장의 예시.
글 교정에서도 탐지가 어려울 수 있습니다. 사람이 작성한 글에서 문법이나 구두점 몇 군데만 수정했다면, 대부분의 단어는 애초에 Claude가 선택한 것이 아닙니다. 따라서 Claude가 실제로 바꾼 부분이 충분히 많지 않다면 워터마크 역시 탐지되지 않을 수 있습니다.
결국 이 워터마크는 Claude가 작성한 모든 텍스트에 찍히는 일종의 도장이라기보다, Claude가 문장을 만들어가며 내린 수많은 선택 과정 속에 남는 흔적에 가깝습니다. 그래서 Anthropic 역시 워터마크의 존재만으로 모든 AI 생성 텍스트를 판별할 수 있는 것은 아니며, 자사의 키로 확인할 수 있는 것도 어디까지나 “이 글의 일부가 Claude에 의해 작성되었을 가능성이 얼마나 높은가”라는 점이라고 설명하고 있습니다.
|
|
|
사실 텍스트 워터마킹 자체가 새로운 기술은 아닙니다. 이미 Google은 Gemini가 생성하는 텍스트에도 SynthID-Text를 적용해 왔습니다. 그런데 최근 Anthropic까지 Claude에 워터마킹을 도입한 배경에는 규제의 변화가 있습니다. 2026년 7월 Anthropic을 비롯한 여러 주요 AI 기업이 AI 생성 콘텐츠의 투명성에 관한 EU Code of Practice에 서명하면서, AI가 생성한 텍스트를 식별할 수 있도록 표시하는 기술을 마련하도록 했기 때문입니다. 즉, SynthID-Text가 처음 등장했을 때만 해도 AI 생성물의 출처를 표시하기 위한 하나의 기술적 시도에 가까웠다면, 이제는 이러한 기술이 실제 AI 서비스가 갖춰야 할 기능으로 자리 잡기 시작하고 있습니다.
앞으로 AI가 만든 글과 사람이 작성한 글을 점점 더 구분하기 어려워진다면, 문체만 보고 AI 생성 여부를 판단하는 방식에도 한계가 생길 것입니다. 그런 점에서 워터마크는 AI가 생성한 콘텐츠에 처음부터 확인 가능한 흔적을 남긴다는 점에서 의미가 있습니다. 물론 완벽한 해결책은 아니더라도, 생성형 AI가 만든 콘텐츠를 보다 투명하게 관리하기 위한 하나의 방법이 될 것입니다.
|
|
|
딥 다이브 뉴스레터 잘 보고 계신가요? 여러분의 의견과 피드백을 받습니다 :) |
|
|
deep daiv.
manager@deepdaiv.com
|
|
|
|
|