vLLM, 텍스트 워터마크 내장…처리량 거의 그대로

오픈소스 추론 프레임워크 vLLM이 9월 24일 공식 블로그를 통해 Gumbel-max 방식 기반의 텍스트 워터마크를 프레임워크에 추가했다고 발표했다. 서버 실행 시 옵션 하나만 켜면 사용할 수 있다. 글에는 저자 3명이 이름을 올렸는데, 한 명은 Mistral, 두 명은 Red Hat 소속이다.

활성화 방법은 간단하다. vllm serve 명령 뒤에 --watermark-config를 붙이고 알고리즘으로 gumbel을 지정한 뒤 키를 하나 지정하면 된다. 이후 해당 서버가 생성하는 모든 텍스트에는 육안으로 보이지 않는 통계적 신호가 담긴다.

워터마크는 어떻게 숨겨지나

대형 모델은 단어를 하나 생성할 때마다 먼저 후보 단어 전체에 확률을 매긴 뒤 그중 하나를 추출한다. Gumbel-max 워터마크가 건드리는 지점이 바로 이 "추출" 단계다.

구체적으로는 키, 최근 몇 개 단어의 맥락, 후보 단어 번호를 이용해 겉보기엔 완전히 무작위이지만 키를 알면 그대로 재현할 수 있는 숫자 집합을 계산한 뒤, 이를 Gumbel 노이즈로 변환해 모델의 점수에 더하고 가장 높은 값을 출력으로 택한다. 수학적으로 이 방식으로 뽑힌 결과의 분포는 일반적인 무작위 샘플링과 완전히 동일하다. 그래서 저자들은 이를 "왜곡 없음(distortion-free)"이라 부른다. 모델이 특정 단어나 특정 문체, 특정 유형의 풀이 방식을 편애하지 않는다는 뜻이다.

검출 쪽은 모델 가중치가 필요 없고 키와 토크나이저만 있으면 된다. 텍스트를 토큰으로 되돌린 뒤 같은 키로 앞서의 의사난수 집합을 다시 계산하고, 토큰마다 점수를 매겨 합산한 다음 워터마크가 없을 때 기대되는 분포와 비교해 p값을 구한다. 저자들이 제시한 보정 기준에 따르면 워터마크가 없는 텍스트가 오탐지되는 비율은 약 1%다.

비용과 효과, 두 가지 수치

성능 면에서 저자들은 H100 1장에서 Qwen3.5-27B로 512토큰을 출력하는 시나리오를 테스트했다. 배치 크기 1에서는 처리량이 -0.23%, 배치 크기 32에서는 +2.03% 변했고, 그룹별 평균은 -1.1%에서 +2.0% 사이에 분포했다. 저자들은 "처리량에 일관된 변화는 없다"고 결론지었다. 메모리를 아끼기 위해 vLLM은 의사난수 생성, Gumbel 변환, 최댓값 추출을 GPU 커널 하나로 합쳤다.

모델 품질 면에서는 역시 Qwen3.5-27B 기준으로 워터마크 적용 여부를 비교했을 때 GSM8K는 93.0% 대 94.2%, MBPP는 79.2% 대 77.2%, IFEval은 90.7% 대 91.9%로 나타났다. 저자들은 모두 오차 범위 내라고 평가했다.

검출률 차이는 훨씬 크다. 오탐지율 1% 기준으로 창작 글쓰기는 약 100토큰만 있어도 전부 검출할 수 있지만, MBPP 코드 문제는 400토큰까지 써도 검출률이 43%에 그친다. 원리를 보면 이유가 분명하다. 코드 같은 출력은 모델이 다음 단어를 상당히 확신하는 경우가 많아 워터마크가 쓸 수 있는 무작위성이 애초에 적다. 짧은 텍스트도 마찬가지로 신호가 약하다. 텍스트를 사람이 손으로 고치면 수정 지점 주변의 점수는 흐트러지지만, 그 맥락을 벗어나면 신호는 다시 회복된다.

구현상의 함정도 두 가지 있다. 하나는 추측 디코딩(speculative decoding)으로, 저자들은 초안 토큰과 목표 모델의 잔차 샘플링에 각각 별도의 키를 사용해 수락률을 유지하는데, 그 대가로 검출 신호가 두 개의 키에 나뉜다. 다른 하나는 반복되는 맥락이 같은 난수 집합을 만들어 모델이 무한 반복에 빠질 수 있다는 점이다. 해결책은 반복된 맥락이 감지되면 워터마크 처리를 건너뛰는 것으로, 이때 처리량에 미치는 영향은 최대 0.19%다.

중국 내 배포 팀에 갖는 의미

중국의 '인공지능 생성·합성 콘텐츠 표시 방법'은 지난해 9월부터 시행되어 생성 콘텐츠에 명시적 또는 비명시적 표시를 붙이도록 요구하고 있다. 텍스트의 경우 비명시적 표시는 지금까지 대부분 메타데이터에 의존해 왔는데, 통계적 워터마크는 텍스트 자체에 직접 심을 수 있다. 이번에 vLLM이 이를 스위치 하나로 만들면서, 중국 내에서 vLLM으로 추론 서비스를 자체 구축한 다수의 팀이 바로 시도해볼 수 있게 됐다.

다만 이 방식의 한계도 분명하다. 검출은 키에 의존하는데 키는 배포한 쪽만 보유하므로 제3자가 독립적으로 검증할 수 없다. 코드와 짧은 답변은 검출률이 낮고, 사람이 대폭 고쳐 쓰면 신호가 약해진다. 규제가 요구하는 "비명시적 표시"의 구체적 요건을 충족할 수 있을지는 향후 이에 대응하는 검출 표준이 마련되느냐에 달려 있는데, 현재로선 공개된 기준이 없다.

참고 출처: vLLM 공식 블로그, CocoLoop, 「인공지능 생성·합성 콘텐츠 표시 방법」; 처리량, 벤치마크 점수, 검출률은 모두 저자들이 Qwen3.5-27B와 H100 1장으로 진행한 테스트 기준이다.