Kirchenbauer方式ウォーターマーク(キルヒェンバウアーホウシキウォーターマーク)
メリーランド大学のKirchenbauer et al.が2023年に提案したLLMウォーターマーク手法で、トークン語彙をGreen ListとRed Listに分割し、Green Listトークンの選択確率を高めることで検出可能なパターンを埋め込む。
Kirchenbauer方式ウォーターマークとは
Kirchenbauer方式ウォーターマーク(Kirchenbauer Watermark)は、メリーランド大学のJohn Kirchenbauer et al.が2023年の論文「A Watermark for Large Language Models」で提案した、LLMテキストウォーターマーキングの先駆的手法である。
この手法はLLMウォーターマーク研究のデファクト標準として位置付けられ、後続のほぼ全ての研究がこの方式を基礎として改良を加えている。Google DeepMind のSynthID-TextもKirchenbauer方式の発展形である。
アルゴリズムの仕組み
Green/Red List 分割
トークン生成の各ステップで、直前のトークンをシードとしてハッシュ関数を適用し、語彙全体をGreen List(約50%)とRed List(約50%)にランダム分割する。このとき、秘密鍵をハッシュに混合することで、鍵を知らない第三者には分割パターンが予測不能になる。
ソフトウォーターマーク
Green Listに属するトークンのlogitに定数δ(デルタ)を加算し、選択確率を高める。
logit'(t) = logit(t) + δ (t ∈ Green List の場合)
logit'(t) = logit(t) (t ∈ Red List の場合)
δの典型値は1.0〜2.5。大きいほど検出は容易だがテキスト品質が低下する。
ハードウォーターマーク
δを無限大にする(=Red Listトークンの選択確率を0にする)。検出精度は最高だが、テキスト品質への影響が大きい。低エントロピーのコンテキスト(固有名詞、数値等)でのみ有効。
パラメータとトレードオフ
| パラメータ | 値の範囲 | 小さい場合 | 大きい場合 |
|---|---|---|---|
| δ (デルタ) | 0.5〜5.0 | 品質維持だが検出困難 | 検出容易だが品質低下 |
| γ (ガンマ) | 0.1〜0.5 | Green List 小→品質維持 | Green List 大→検出容易 |
| ウィンドウサイズ h | 1〜4 | 前1トークン依存 | 前hトークン依存→ロバスト |
δとテキスト品質の関係(実測値)
| δ値 | Perplexity上昇率 | 200トークンでのTPR | MAUVE Score |
|---|---|---|---|
| 0.5 | +0.2% | 72% | 0.98 |
| 1.0 | +0.8% | 89% | 0.97 |
| 2.0 | +2.5% | 97% | 0.94 |
| 3.0 | +5.1% | 99% | 0.89 |
| 5.0 | +12.3% | 99.9% | 0.78 |
実用上はδ=1.5〜2.0が品質と検出のバランス点とされる。
実装の詳細
トークン生成パイプラインへの統合
[入力プロンプト] → [LLM推論] → [logit出力]
↓
[Green/Red分割(前トークン+秘密鍵でハッシュ)]
↓
[Greenトークンのlogitにδ加算]
↓
[Softmax → サンプリング → 出力トークン]
計算コストはハッシュ関数1回(SHA-256)+ logit加算のみで、推論時間への影響は1〜3%程度。
検出アルゴリズム
- テキストをトークン化
- 各トークン位置で、前トークン+秘密鍵からGreen/Red Listを再構築
- 各トークンがGreen Listに属するかカウント
- z検定でGreen List出現率が期待値(γ≒50%)を有意に超えるか判定
既知の弱点と改良研究
弱点
- コンテキスト長依存 — 前1トークンのみでハッシュするとパラフレーズで容易に破壊
- 低エントロピー問題 — 定型表現(「Thank you for」等)ではウォーターマーク埋め込みの余地がない
- マルチ言語 — 言語ごとにトークナイザが異なるため、言語横断検出が困難
- 公開鍵不在 — 秘密鍵方式のため、独立した第三者検証ができない
改良研究
| 改良点 | 研究 | 概要 |
|---|---|---|
| ロバスト性向上 | Zhao et al. (2023) | コンテキスト非依存なUnigram方式 |
| Multi-bit | Yoo et al. (2024) | モデルID等の追加情報埋め込み |
| 品質維持 | Kuditipudi et al. (2024) | エントロピーに応じたδの動的調整 |
| 公開検証 | Christ et al. (2024) | 公開鍵ベースの検証スキーム |
| 意味保存 | Liu et al. (2024) | セマンティックレベルのウォーターマーク |
よくある質問
Q1: この方式はオープンソースモデルにも適用できますか?
A1: 技術的には可能だが、秘密鍵がモデル配布者に管理される必要がある。ユーザーがモデルを自由にホスティングするオープンソースの文脈では、ウォーターマークのバイパスが容易であり、実効性は限定的。
Q2: 日本語テキストでも動作しますか?
A2: 動作する。ただし日本語はBPEトークナイザでのトークン長が英語より短くなる傾向があり、同じ文字数でもトークン数が多い=検出に有利な面がある一方、形態素単位の書き換えで破壊されやすい面もある。
Q3: ChatGPTやClaudeでKirchenbauer方式は使われていますか?
A3: 公式にはどちらも採用を公表していない。OpenAIは2024年に類似手法の研究を公開したが実装は保留。Google Geminiが SynthID-Text(Kirchenbauer方式の発展形)を商用実装した唯一の主要モデル。