Kirchenbauer方式(KGW透かし)(キルヒェンバウアーホウシキ)
Kirchenbauer方式(KGW)とは、メリーランド大学のJohn Kirchenbauerらが2023年に提案したLLMテキスト透かし手法で、語彙をグリーンリストとレッドリストに分割しグリーントークンの出現確率を上昇させることでAI生成テキストを検出可能にする。
Kirchenbauer方式(KGW透かし)とは
Kirchenbauer方式(KGW: Kirchenbauer-Geiping-Wen Watermark)は、2023年にメリーランド大学のJohn Kirchenbauer、Jonas Geiping、Yuxin Wenらが論文「A Watermark for Large Language Models」で提案したLLMテキスト透かしの先駆的手法である。この方式はLLM透かし研究の事実上の標準(de facto standard)となり、後続の多くの透かし手法がKGWをベースに改良を加えている。
アルゴリズムの詳細
KGW方式の核心は「グリーンリスト/レッドリスト分割」にある。
透かし埋め込みフェーズ
- ハッシュ計算: 直前のトークン(コンテキスト)と秘密鍵からハッシュ値を生成
- 語彙分割: ハッシュ値を擬似乱数シードとして、語彙全体をグリーンリスト(G)とレッドリスト(R)に50:50で分割
- logitバイアス: グリーンリストに属するトークンのlogitにδ(デルタ、通常δ=2.0)を加算
- サンプリング: バイアス後の確率分布からトークンをサンプリング
P'(token) = softmax(logit(token) + δ × 𝟙[token ∈ G])
透かし検出フェーズ
- テキストを同一の秘密鍵でスキャン
- 各位置で直前トークンからグリーンリストを再計算
- グリーンリスト該当トークン数をカウント
- z検定で統計的有意性を判定
| パラメータ | 典型値 | 効果 |
|---|---|---|
| δ(デルタ) | 1.0〜4.0 | 大きいほど検出容易だがテキスト品質低下 |
| γ(ガンマ) | 0.25〜0.5 | グリーンリスト比率(0.5が標準) |
| コンテキスト長 | 1〜4トークン | 長いほどセキュリティ高いが検出感度低下 |
| z閾値 | 4.0 | 偽陽性率 0.003%(3σ以上) |
KGWの数学的基盤
透かしなしの場合、各トークンがグリーンリストに属する確率はγ(通常0.5)。N個のトークンからなるテキストでグリーントークン数が|s|_G のとき:
z = (|s|_G - γN) / sqrt(N × γ × (1 - γ))
- z > 4.0: AI生成と判定(p < 0.00003)
- z < 2.0: 人間が書いた可能性が高い
- 2.0 ≤ z ≤ 4.0: 判定保留(追加分析が必要)
実装例と性能
| 実装 | フレームワーク | δ値 | 検出率(200トークン) | perplexity増加 |
|---|---|---|---|---|
| 元論文実装 | PyTorch | 2.0 | 99.5% | +1.8% |
| lm-watermarking (GitHub) | HuggingFace | 2.5 | 99.8% | +2.3% |
| MarkLLM | PyTorch | 2.0 | 99.2% | +1.5% |
| watermark-benchmark | JAX | 3.0 | 99.9% | +3.1% |
KGWの強みと弱点
強み:
- 理論的に明快で実装が容易
- 25トークン以上で高い検出精度
- テキスト品質への影響が小さい(δ=2.0でperplexity増加 < 2%)
- 秘密鍵なしでは透かしの検出・除去が極めて困難
弱点:
- コンテキスト依存のため、トークン順序の変更に脆弱
- 同義語置換(paraphrase attack)で透かし強度が低下
- エントロピーの低いテキスト(コード・定型文)では透かし埋め込み余地が少ない
- マルチターン対話では各ターンが短く検出困難
よくある質問(FAQ)
Q1: KGW方式はオープンソースで利用可能か? A: 利用可能。GitHub上の「lm-watermarking」リポジトリで元論文の公式実装が公開されている。HuggingFace Transformersとの統合も容易で、LLaMA・Mistral・GPT-NeoXなど主要オープンモデルに適用できる。
Q2: δの値をどう設定すべきか? A: 一般的にδ=2.0が推奨。δ=1.0では検出に300トークン以上が必要になり、δ=4.0ではテキスト品質が目に見えて低下する。ユースケースに応じて検出感度と品質のトレードオフを調整する。
Q3: KGW方式は日本語テキストにも適用可能か? A: 適用可能。ただし日本語はトークナイザの語彙サイズが英語より大きく(LLaMA: 32,000 vs 日本語対応: 50,000以上)、グリーンリスト分割の粒度が細かくなるため、同等の検出精度を得るにはやや長いテキスト(50トークン以上)が必要になる。
まとめ
- KGW方式はLLM透かし研究の基礎であり、Green/Redリスト分割による統計的透かし手法
- δ=2.0で200トークン以上のテキストに対し99.5%以上の検出精度を実現
- オープンソース実装が豊富で、主要LLMに容易に適用可能
- パラフレーズ攻撃への脆弱性が課題で、後続のロバスト方式で改善が進んでいる