Kirchenbauer LLM透かし(KGW)(キルヒェンバウアーエルエルエムスカシ)
メリーランド大学が提案した最初の実用的LLM透かし手法。語彙をグリーン/レッドリストに分割し生成確率を操作する。
Kirchenbauer LLM透かし(KGW手法)
KGW(Kirchenbauer, Geiping, Wen et al., 2023)は、LLM生成テキストの電子透かし分野における最初の影響力ある手法だ。メリーランド大学から発表され、ICML 2023に採録されて以降、後続手法のベースラインとして広く参照されている。
アルゴリズム詳細
生成フェーズ
通常通り次トークンの確率分布P(v|context)を計算し、直前kトークンをシードとしてハッシュ関数でシードs生成。シードsで語彙V全体をグリーンリストG(|G|=γ|V|)とレッドリストRに分割し、v∈Gの場合 logit(v) += δ として Softmax後サンプリングを行う。
検出フェーズ
テキストTのトークン列t_1,...,t_Nについて、各位置iでt_{i-k},...,t_{i-1}からグリーンリストを再構築。t_iがグリーンリストに属するかカウントしてG_countを求め、z統計量 z = (G_count - γN) / √(N·γ(1-γ)) を計算する。z > 閾値(例: 4.0)→ 透かし付きと判定。
パラメータ感度
γ(グリーン比率)の典型値は0.25-0.50で、小さいほど検出力が高い。δ(logitブースト)の典型値は1.0-5.0で、大きいほど検出容易だが品質低下が生じる。k(コンテキスト長)の典型値は1-4で、大きいほど堅牢だが計算増加する。
弱点と改善版
KGWの既知の弱点:
- 言い換え攻撃: 同義語置換でグリーン/レッド分布が変化し透かしが消える
- 翻訳攻撃: 他言語→日本語変換でトークン列が完全に変わる
- 品質低下: δが大きいほど語彙多様性が減少し機械的な文体になる
改善版:
- KGW+: コンテキストウィンドウを拡大し堅牢性向上
- Unigram透かし: コンテキスト非依存で実装を単純化
- Exponential Sampling(Aaronson): 情報理論的に最適なサンプリングで透かし効率向上
実装と公開コード
著者らはPyTorchベースの参照実装をGitHubで公開している。HuggingFace Transformersのgenerate()に組み込み可能なLogitsProcessorとして実装されており、既存モデルにほぼ変更なく適用できる。
影響と後続研究
KGW論文のcitation数は2025年時点で1,000を超え、LLM透かし分野の基礎論文となっている。Google SynthID・MetaのWaterBench・OpenAI内部実装もKGWを参照している。