2026 年 9 月 24 日の公式ブログで、vLLM は推論エンジンに Gumbel-max ベースのテキスト透かし機能が正式に搭載されたことを発表した。目的は明確だ:モデルが生成したテキストの出所を追跡可能にすること。しかも透かしを入れてもモデルの出力分布は変わらず、推論速度も落とさない。公式の実測では、Qwen3.5-27B で透かしを有効にしても各種ベンチマークの成績は誤差範囲内に収まり、スループットの変化は −1.1%〜+2.0% で、ほぼ無視できる。
透かしの仕組み:「ランダム」に印を付ける
言語モデルは token を 1 つ生成するたびに、まず各候補 token をスコアリングし、次にランダムにサンプリングする。透かしのアイデアはテキストをいじるのではなく、「ランダム」の部分に印を付けることだ:秘密鍵、直近の文脈 token、候補 token の ID を擬似乱数関数に通して再現可能な乱数値を一組算出し、logits に Gumbel ノイズとして加え、最大値に対応する token を選ぶ。
重要な数学的性質は、Gumbel ノイズに対する argmax が、元の確率分布からの通常サンプリングとちょうど等価であることだ。つまりある 1 ステップだけ見れば、透かしの有無でその token が選ばれる確率はまったく同じ——出力分布は歪まず、モデルが特定の語や書き方を体系的に好むこともない。鍵の持ち主は当時の乱数値を再計算でき、鍵を持たない者には普通のランダムサンプリングにしか見えない。
検出は逆向きの検算
検出にモデル重みや logits は不要で、秘密鍵とトークナイザだけでよい。検査対象テキストを token ID に戻し、各 token についてその直前の文脈と鍵から擬似乱数値を再計算する:透かしなしのテキストならこれらの値は一様乱数、透かしありのテキストなら選ばれた token は系統的により大きな値に偏る。各 token のスコアを合計するとガンマ分布に従い、p 値を計算できる——p 値が小さいほど「たまたま」の可能性は低い。
テキストが長く、情報エントロピーの高いステップが多いほど信号は強い:クリエイティブライティングなら約 100 token でほぼ 100% の検出率に達する。文章を丸ごとコピー&ペーストしても証拠は消えず、局所的な書き換えは編集箇所付近のスコアを乱すが、編集が文脈ウィンドウから外れれば残りの信号は無事だ。
2 つの難所:推測デコーディングと多様性
論文を動くエンジンにするために、vLLM は 2 つの難所をクリアした。1 つ目は推測デコーディング:ドラフトモデルとターゲットモデルが同じ透かしを使うと、両者の分布の重なりが減り、受理率が下がる。vLLM の解法はデュアル鍵(PR #56122)だ——受理されたドラフト token は 1 つの鍵、ターゲットモデルの残差・ボーナス token はもう 1 つの鍵を使うことで受理率を維持する。代償として、検出時には 2 つの鍵のスコアを合算しなければならず、信号は希釈される。
2 つ目は出力の多様性:単 token の無歪みは「ある 1 ステップ」の分布しか保証せず、シーケンス全体の分布は保証しない。文脈が繰り返し現れると、固定の鍵は同じ乱数値を出し、モデルは無限ループに陥り得る。vLLM は「生成時文脈重複排除」(PR #56233)で解決した:文脈が重複したら透かしをスキップし、シーケンスレベルの無歪みを保つ。実測でエンドツーエンドのスループット低下は最大 0.19% だ。
実装面では、透かしは Model Runner v2 のサンプリングパイプラインに直接組み込まれ(PR #54053)、擬似乱数生成・Gumbel 変換・argmax が単一の GPU カーネルに融合され、巨大な一時 VRAM オーバーヘッドを回避している。
誰が先に使うのか
最初の受益者は vLLM をセルフホストする事業者や企業だ:API を外部提供する際、出力に検証可能な「出生証明書」を押せる——出所追跡、コンプライアンス記録、自社モデルと偽装サービスの区別に使える。限界もはっきり言う:検出は鍵の保有に依存し、公開検証はできない。短いテキストやテンプレ色の強い出力は信号が弱い。防げるのは「出所の否認」であり、書き換えを厭わない相手までは防げない。
テキストの出所追跡は長年言われてきたが、vLLM はそれを推論エンジンのスイッチにした——無歪み、低オーバーヘッド、実用可能だ。この一歩の後、「AI 生成コンテンツは追跡可能であるべきか」という議論は、少なくとも技術的には言い訳を 1 つ減らした。