中継業者で選んだモデル、こっそりすり替えられているかも — 乱数をひとつ言わせるだけで正体が割れる

同じモデルを2回サンプリングしたときの指紋距離の中央値は 0.140。一方、「自社開発の独自フラッグシップ」と謳われるあるエンドポイントと、オープンソースの Qwen との距離は 0.141。つまり、オープンソースの Qwen と見分けがつきません。
著者:arXiv07-20 · 11 分で読了⚑ 研究論文
🎧 ポッドキャスト版0:00 / --:--
0:00 / --:--
研究解説 · 小互解読
1分でわかる要点
  • 中継業者やアグリゲーターから AI を買うとき、あなたが選ぶのは名前だけ。返ってくるのは文章だけで、答えたのが本当に選んだモデルだと証明するものは何もありません。Llama を提供する商用エンドポイント 31 件を調べた先行研究では、11 件の出力がベンダー公開版と一致しませんでした。
  • 検証方法は一言だけ。「1 から 100 の乱数をひとつ言って」と何度も聞くと、モデルは決まった数ばかり返し、しかも好む数はモデルごとに違います。この回答分布こそが身元の指紋。1 回の質問で出力トークンはたった 1 個です。
  • なぜ逃げられないのか。ベンチマークが測るのは正解できるかどうか、指紋が測るのは「どれも成立する答え」の間で確率をどう配分するか。量子化版へのこっそり差し替えは、まさに指紋が読む確率配分の層を揺らします。隠しきれません。
  • 精度とコスト。40 問で 1 エンドポイントを検証して誤判定率 7.3%、約 14 回に 1 回の誤り。8 問(約 120 回のクエリ)でも 10.6% に届きます。1 回の監査は数セント。同じエンドポイントを毎日再検査できます。
  • 最も目を引く発見。プラハ経済大学の Tomáš Bruckner 氏が 165 モデルを全部測って、総額はわずか 34.44 ドル。「自社開発の独自フラッグシップ」を謳うエンドポイント(writer/palmyra-x5)の指紋は、オープンソースの Qwen と見分けがつかないほど近い(数値はリード文のとおり)。詳細は「健診結果」の節で。
問題の所在

お金を払って指名したモデルが、答えているモデルとは限らない

最上位モデルを指名して支払っても、実際に答えているのは安物かもしれません。OpenRouter のようなアグリゲーターは、ひとつの入口から数百のモデルにつながって確かに便利です。しかし選べるのは名前だけ。リクエストが最終的にどのマシンへ落ち、そこで何が動いているのかは見えませんし、証明する材料もありません。

あなた 「モデル X」を指名 その名前で支払う アグリゲーター 例:OpenRouter 1社を選んで転送 プロバイダー A プロバイダー B …数十社 実際に動いているのは? 本物のモデル X 量子化された版 より小さいモデル 旧バージョン 返ってくるのは文章だけ、身元の証明は付かない 安物にすり替える計算は元々合う: 差額はプロバイダーの懐へ、露見する確率はずっと低いまま しかも仮定の話ではない: Llama を提供する商用エンドポイント 31 件のうち 11 件が、ベンダー版と回答分布が不一致
あなたと実際に動くマシンの間には2段の中継。アグリゲーター自身も、上流プロバイダー間で量子化の程度が揃っていないと認めています。「31 件中 11 件が不一致」は論文が引く先行研究の実測
← 図は横スクロールできます →

調べようにも簡単ではありません。あなたは外部の人間で、重み(モデル本体のパラメータ一式)も logitsモデルが候補ごとに付ける生のスコア。多くの本番エンドポイントは最終テキストしか返さず、このスコアは公開されません も手に入りません。透かしやバックドアの類(どれも事前にモデルへ印を埋め込む必要がある)はモデルの持ち主にしか使えず、役に立ちません。しかも数十のエンドポイントを繰り返し見張る必要があり、1 回あたりが十分に安くなければ続きません。

既存の手法は、それぞれどこで詰まるか

手法必要なもの詰まるところ
テキスト帰属分類器まとまった長文の生成テキストチャット応答全体を出所モデルへ帰属でき、5択で精度 97%。ただし分類器が長い出力を消費するため、1 回の監査コストが跳ね上がる
作り込んだプローブ
LLMmap / TRAP
専用設計または敵対的に最適化したプロンプトLLMmap は 8 クエリで 42 のモデルバージョンを識別。しかしこの種のプロンプトは識別性の高さ自体が弱点で、プロバイダーに見破られれば本物のモデルへ回すだけで済む
確率順位の統計検定
順位ベースの一様性検定
モデルが返す対数確率量子化版の検出に特化。だが多くのエンドポイントはテキストしか返さず、前提が成り立たない
統計的同等性検定完全なサンプリング文字列と、同一モデルの参照デプロイによる較正本論文の状況に最も近い。ただし生成結果を丸ごと消費し、較正できるのは単一の参照デプロイに対してのみ
単一トークンの回答分布
本論文
出力トークン 1 個。重みも logits もモデル提供側の協力も不要代償は 1 回では成立しないこと。分布を読むには数十〜数百回の繰り返しが要る
← 表は横スクロールできます →

LLMmap 系が考えるのは「どんな特製の質問を送るか」。本論文は逆です。質問はごく普通で無害、いくらでも言い換えられるものを使い、見るのはモデルがどう答えるか。身元は回答の分布に潜んでいます。

手法とメカニズム

乱数をひとつ言わせれば、回答分布から正体が割れる

プラハ経済大学の Tomáš Bruckner 氏が考えたのは巧妙な方法です。AI に乱数をひとつ言わせ、その答え方だけを見て正体を突き止めます。

使うのは AI の有名な欠点。本当の乱数が言えないのです。1 から 100 で適当に選ばせても、返すのは決まった 1〜2 個。しかも「口癖の数字」はモデルごとに違います。GPT-4o は 42 を最も好み(37 と 57 もよく出る)、Claude Sonnet 5 はほぼ 47 一択、Llama 3.3 は 53 に固定。Qwen3-Max はさらに極端で、30 回のサンプリング全部が 42 でした。従来はこれを欠陥と捉えて直し方を研究してきましたが、本論文は発想を反転させ、指紋として使います。

核心のやり方

「1 から 100 の間で乱数をひとつ言って」と聞き、1 語だけで答えるよう指定(上限 16 トークン)。思考モードはオフ、温度は 1.0(心の中の確率どおりに引かせ、毎回いちばん無難な答えを選ばせない設定)にして、数十回繰り返します。答えが「四十二」でも「٤٢」でも「42」でも、すべて 42 として数え、各数字の出現回数を集計すれば分布表ができます。

この分布表が指紋です。1 回の質問で消費する出力トークンは 1 個だけ。

4 モデルの分布を描くとこうなります。

4 モデルの「1 から 100 の乱数」に対する回答分布
同じ質問に対する 4 モデルの回答分布(英語、温度 1.0、各 30 回サンプリング)。GPT-4o は 42・37・57 に確率が分散し、42 が最大の約 0.44。Claude Sonnet 5 はほぼ 47 に集中、Llama 3.3 はほぼ 53 に集中、Qwen3-Max は毎回 42。出典:arXiv:2607.10252 Fig.1

この偏りの度合いは数値化できます。165 モデル × 40 問をマス目に分解すると、有効回答が 10 回以上あるマスは 6572 個。そのマスでの回答の中央値エントロピー答えの当てにくさ。1 bit はおおよそ、答えが2つの選択肢の間で揺れている状態に相当しますはわずか 1.00 bit。真の乱数なら 6.64 bit になるはずです(「1 から 100」の問題での計算)。各マスでモデルが最も好む答え(数字の問題に限らず、乱数の単語/色/都市でも同様)は、通常 7 割の回答を占めます(占有率の中央値 0.71)。

この差はどれくらい大きいか

6.64 bit は、1 から 100 のどれもが等しく出る、まったく予測できない状態。1.00 bit は、実際には 2 つの数の間を行き来しているだけで、当たる確率が半分近い状態です。モデルは口では乱数と言いながら、実際に出しているのは自分の口癖です。

同じ重みが、カタログでは複数の名前でぶら下がる

手を動かす前に整理が要ります。測っているのは何なのか。アグリゲーターのカタログでは、名前と重みは多対一。同じ重みが複数の名前で同時に並びます。ローリング更新の -latest、日付入りスナップショット、無料枠、思考モード枠、高速枠、ロングコンテキスト枠。

そこで論文は 3 層に分けて語ります。チェックポイントは具体的な重み一式で、指紋はこれに紐づく。エンドポイントは「あるチェックポイントへ通じると自称する」サービス経路。ファミリーは同じ祖先から派生したチェックポイント群。検証が問うのは「エンドポイントが出すのは自称どおりの重みか」、系統判定が問うのは「この重みはどの家の出か」。あなたが買った名前そのものは、何も保証しません。

1 文字になぜ身元情報が乗るのか

この分布には 4 つの層が重なり、それぞれが痕跡を書き込んでいます。

1トークナイザーの切り方

同じ候補の答えでも、語彙表ごとに分割数と分割位置が違います。切り方が変われば、他の候補との相対的な出やすさも変わる。論文はこの層に言及するだけ(候補回答のトークン化差異)で、具体例は展開していません。

2 つのモデルで語彙表が違えばスタート地点が違う。この層の差はモデルの能力とは無関係です。
2学習コーパスの語頻度

なぜ 42、47、53 なのか。人間も「適当に数を言って」と言われると乱数にならず、その偏りがネット上のテキストに書き込まれていて、モデルがそのまま受け継ぐからです。上の図の尖ったピークは、この層を読んでいます。

論文は数字ごとの帰属分析はしていません。引用する 4 件の先行研究が、まさに人とモデルの疑似乱数の偏りを扱っています。
3指示チューニングと選好最適化

同じベース、同じ語彙表の 2 モデルが、なぜまだ区別できるのか。効いているのは後段の調整です。回答分布全体を一方へ押しやります。

逆に、後で見るとおり、文書で裏の取れた Llama 派生モデルが Qwen 近傍へ移動していました。それをやったのもこの層です。
4デコードの実装

温度 0 なら本来は完全に決定的で、同じ質問には毎回同じ文字が返るはずです。実測では同一プロバイダー内で 90.4% の問題が確かにそうなりましたが、プロバイダーをまたいで集計すると 84.5% に落ちます。この 5.9 ポイントの差が、各社のインフラにおける数値実装の違いです。

この層は最もモデル本体から遠く、同じモデルでもプロバイダーを変えると指紋が少しずれる原因でもあります。

ここで疑問が浮かぶはずです。温度 0 なら同一プロバイダー内で 90.4% の問題は毎回同じ答えなのだから、温度 0 の答えを 3 回聞いて比べれば済むのでは。理由は 3 つあります。各社の「無難な答え」は衝突しやすい(どちらも 42 なら区別できない)。プロバイダーをまたぐと温度 0 の決定性が 84.5% に落ち、単一点そのものが不安定。そして分布全体の情報量は 1 点をはるかに上回る。だからこそ「乱数を言わせて」繰り返す必要があります。

なぜ量子化や蒸留はこの質問から逃げられないのか

量子化は重みをより低い精度へ丸めること、蒸留は大きなモデルを教師にして小さなモデルに肩代わりさせることです。まず量子化から。モデルが自信を持つ問題では、この程度の誤差では選ぶ答えは変わらないので、ベンチマークにはほぼ表れません。しかし候補が拮抗している場面では、その誤差だけで順位が入れ替わります。

そして「乱数をひとつ言って」は、まさにそういう問題です。口癖の数字はどれも成立し、多い少ないに正解はなく、すべては微妙な確率配分次第。指紋が読むのはこの配分比です。

この手法の支点

ベンチマークが測るのは正解できるかどうか。指紋が測るのは、どれも成立する答えの間での配分。重みの圧縮は前者を動かせず、後者は必ず動かします。

論文本文はこの点に一文しか割いていません。量子化と蒸留が揺らすのは、これらの問題がサンプリングする確率配分の層である、と。上の噛み砕きはその一文を展開したものです。

物差しをつくる

「似ている」を、比べられる数値に変える

1 問だけでは心もとない。2 つのモデルがたまたま両方 42 を好む可能性は十分あります。そこで問題集は 10 問、それぞれ 4 言語で聞いて計 40 問です。

問題英露中アラビア回答空間
1〜100 の乱数閉 · 100
1〜10 の乱数閉 · 10
好きな数開 · 数字
ランダムな文字閉 · アルファベット
ランダムな単語開放
ランダムな色開 · 同義統合
好きな色開 · 同義統合
ランダムな動物開放
ランダムな都市開放
コイン投げ閉 · 2

なぜ 10 問なのか、なぜ 4 言語なのか

論文はこの 3 点にそれぞれ一文の理由を付けています。以下はその展開です。

閉じた問題と開いた問題は役割が違います。コイン投げは答えが 2 つ、1〜10 なら 10 個。全モデルが同じ選択肢群から選ぶので、比べるのは細かな配分です。ただしどれだけ違っても、コインの選択肢は 2 つきり。差には上限があります。開いた問題(ランダムな単語・都市・動物)は答えに際限がなく、2 モデルの答えがひとつも重ならないこともあり、距離は一気に振り切れます。片方は近縁の間の微差を掘り出し、もう片方は無関係なモデルを一気に引き離す役です。

「ランダム」と「好きな」は別の問題です。乱数を聞くのは抽選機として使うこと。好きな数を聞くのはキャラクター設定を問うことで、その設定は後段の調整で形づくられます。2 モデルで乱数は衝突しても好きな数は分かれることがあり、この 1 組は次元をひとつ余分に稼ぎます。

言語を変えると、別の記憶を掘ることになります。中国語コーパスで「適当に都市を言って」の定番の答えは、英語のそれとは違う。だから 4 言語は、4 つの断面からそれぞれ信号を採ることになります。裏を返せば、なりすます側は 4 言語ぶんの癖を全部合わせなければなりません。

2 つの分布表の隔たりを、ひとつの数値で表す

2 つの分布表の隔たりは、Jensen-Shannon ダイバージェンス2 つの回答分布表の隔たりを測る指標で、値は 0 から 1。対称で、共通する答えがひとつもなくても計算できますで 0 から 1 の数値に畳みます。選んだ実務的な理由は、2 モデルの答える都市がひとつも重ならなくても意味のある距離が出ること。開いた問題にはこれが要ります。2 モデルの総距離は、双方に十分なサンプルがある問題での平均です。

1 問単位では、同じモデル同士の比較が 0.075、異なる 2 モデル間が 0.489(基準に注意:これは 1 問での数値で、以下の 40 問平均の物差しと直接は比べられません)。平均を取ると、これが物差しになります。

問題ごとに平均した指紋距離(Jensen-Shannon ダイバージェンス、0〜1) 同一モデル中央値以下 0 0.2 0.4 0.6 0.140 同一モデル(ノイズ床) 0.227 プロバイダー変更 0.463 異なる 2 モデル 0.141 palmyra-x5 と qwen3-235b 0.303 nemotron と qwen 0.392 gpt-4 Azure 経由と OpenAI 経由 0.716 llama-3.2-3b 2 プロバイダー間
軸の上は 3 つの参照目盛り、下は全数調査で見つかった 4 つの異常で、性質はそれぞれ異なります。身元が疑わしいもの、系統が後段の学習で塗り潰されたもの、同じモデルが 2 プロバイダー間で開きすぎたもの。0.140 と 0.141 がほぼ重なる箇所が、今回の調査で最も強い一例。データは arXiv:2607.10252 各節より
← 図は横スクロールできます →

プロバイダーを変えても指紋は通用するのか

先に答えるべき致命的な問いがあります。プロバイダーを変えたら指紋も変わるのでは。もしそうなら、測っているのはインフラであってモデルではありません。OpenRouter がちょうど自然実験の場を提供してくれました。165 モデルのうち 31 が 2 社以上に同時掲載され、サンプルも十分。直接比較できる 34 ペアが揃い、各ペアに最低 15 問の共通問題があります。

0.227
プロバイダー変更後の距離の中央値。同一デプロイのノイズ床(同じモデルを繰り返し測っても避けられない自然な揺らぎ)0.140 より高いが、異なるモデル間の 0.463 よりはるかに低い
70.6%
これらのプロバイダーペアのうち 70.6% は、「異なるモデル」の組み合わせの 95% より近く、同一モデルとして識別できた
0.880
参照を別プロバイダーから採った場合の検証 AUC(1.0 が完璧、0.5 が当てずっぽう)。参照と被検証が同一プロバイダーなら 0.971

結論として、指紋はプロバイダー変更の関門をおおむね突破しました。突破できなかったのは計 10 ペア。最も目立つ 2 ペアは、後の「健診結果」の節で詳述します。

コスト計算

身元健診 1 回にいくらかかるか

「このエンドポイントの中身は本物か」を調べる手順は全部で 4 段階です。

想定シナリオ · 論文の事例ではありません

自社プロダクトにある中継業者のエンドポイントをつなぎ、Llama 3.3 70B を指名したとします。

1
参照を登録:信頼できるデプロイ(たとえばモデルベンダー公式の直営エンドポイント)で 40 問をそれぞれ複数回聞き、参照指紋を保存する。
2
現場サンプリング:問題集から 16 問をランダム抽出し、中継業者のエンドポイントに各 15 回ずつ聞く。合計 240 回の単一トークンクエリ、入力は約 1.6 万トークン。
3
距離を計算:この 16 問それぞれで参照分布と実測分布の JSD を求め、平均を取る。
4
閾値と比較:0.14 付近なら合格、0.2 前後ならプロバイダー変更でおそらく同一モデル、0.4 に近づくほど疑わしい。論文は推奨閾値を示しておらず、「距離が閾値以下なら受理」という形式と ROC 曲線全体を与えるだけです。ここでの 0.14 と 0.4 は、論文の同一モデル中央値と異なるモデルの範囲から逆算した目安値。もうひとつ注意点。このシナリオは参照が公式直営、被検証が別社なので、精度はプロバイダーをまたぐ 0.880 の水準に対応し、同一系統採取の 0.971 ではありません。判断時は閾値を相応に緩める必要があります(この水準の誤判定率は論文が個別に示していません)。閾値をどちらへ寄せるかは、どの誤りを恐れるか次第。定期健診をする監査側は緩めでよく、公に名指しする準備をする側は厳しくすべきです。

採点方法は指紋認証と同じ発想です。「本人テスト」は同一モデルのサンプルを 2 分割して互いに比べ、「なりすましテスト」はモデル A の半分とモデル B の半分を比べます。本人 165 組、なりすまし 27060 組を走らせ、40 問フルセットで AUC 0.971、等誤り率「無実を疑う」と「不正を見逃す」が同数になる位置に閾値を合わせたときの誤り率。7.3% は約 14 回に 1 回の誤判断に相当は 7.3% でした。

検証の ROC 曲線、AUC 0.971
検証の ROC 曲線。見方は、曲線が左上へ寄るほど良く、真ん中の対角線が当てずっぽうの水準。この線はほぼ左の壁に貼り付いて上がっており、曲線下面積は 0.971。出典:arXiv:2607.10252 Fig.3

問題数を減らすと精度はどれだけ落ちるか

等誤り率が問題数によって変化する曲線
等誤り率の問題数による変化。縦線はランダム抽出の部分集合による変動幅。曲線は 16〜24 問を過ぎるとほぼ横ばいで、これ以上増やしても精度はあまり買えません。出典:arXiv:2607.10252 Fig.4
問題数148163240
等誤り率23.3%13.2%10.6%9.5%8.4%7.3%
変動幅14〜40%9〜18%8〜14%8〜12%7〜10%—
← 表は横スクロールできます →

1 問だけでも当てずっぽう(50%)を大きく上回ります。16 問 × 各 15 回で計算すると、1 回の監査は 240 クエリ・約 1.6 万入力トークン。通常価格のモデルなら 1 セント未満、フラッグシップでも数セントです。

この 2 つの数字はセットで読む

単発の検証は 14 回に 1 回外れるので、1 回の結果だけでは結論を出せません。しかし 1 回が数セントなら、同じエンドポイントを毎日でも繰り返し検査できます。本当に効くのは長期に積み上げた証拠で、1 回はその 1 マスにすぎません。

コスト面の比較材料もあります。同じ繰り返し回数なら、この手法は長文テキスト帰属に頼るやり方より約 1000 倍安上がりです。

クリックして表示:全数調査の会計と、165 モデルの選定過程

全数調査で受け取った応答は 326047 件、入力 2330 万トークン・出力 116 万トークン、総額 34.44 ドル、モデルあたり平均 0.21 ドル。失敗したリクエストは間隔を延ばしながら再試行し(指数バックオフ)、再試行分はデータに含めません。回答の全体有効率は 97.6%、モデル単位の中央値 99.6%、最低は 60.6%(そのモデルは文章で答えることが多い)。各応答は有効・無効・拒否・空の 4 種に分類し、何ひとつ黙って捨てません。拒否率と有効率自体にも身元情報が乗りますが、安全ポリシーの変更に対して指紋を頑健に保つため、あえて指紋から除外しています。

モデルは 2026 年 7 月 6 日のカタログスナップショット(342 エントリ)から選定し、次を除外しました。純テキスト対話でないモデル(マルチモーダル出力、埋め込み、音声、画像、動画、モデレーションとガードレール、指示チューニング前のベース、コンテキストが 2048 トークン未満のもの)。狭い専用モデル(コード、数学、医療、ロールプレイ)。単一の安定したチェックポイントを構成しないエントリ(ローリングの -latest エイリアス、変動するプレビュー版と非推奨エンドポイント、メタルーター、マルチ Agent や検索接続のパイプライン、既にカタログにあるチェックポイントの無料枠・思考枠の重複)。強制的に思考段階を隠すエンドポイント。無料枠しかないエンドポイント(アカウント単位の日次リクエスト上限で完全な収集ができない)。加えて、手動除外が 1 件記録されています(入力 100 万トークン 150 ドル、出力 100 万トークン 600 ドルのモデル)。ルール一覧はデータと共に公開され、除外された各エントリには除外理由が付いています。残った 165 モデルは、19 のファミリーラベルと 53 のプロバイダーにまたがります。

サンプリングは、各モデルの各問題を温度 1.0 で 30 回、温度 0 で 3 回。入力価格が 100 万トークンあたり 5 ドル以上のフラッグシップは 15 回に減らしました。問題はシード付きのシャッフル順で実行するため、レート制限による欠損はモデル内の全問題へおおむね均等に散り、特定の問題や言語がまとまって欠けることはありません。本番実行の前に 14 モデル(同一ファミリーの大小ペア 7 組をカバー)で予備実験を行い、設計と分析の選択をすべて 4 つの事前基準で固定しました。モデルごとの有効率 80% 以上、同一プロバイダー内で温度 0 の決定性が 90% 以上の問題をカバー、ファミリー間とファミリー内のダイバージェンス差が統計的有意性検定を通過(p=0.0008)、そしてコスト外挿です。仮説と分析計画は本収集の前に事前登録(あらかじめ公証し、後から言い換えられない)し、予備実験のデータは本分析に含めていません。

系統判定

指紋は、そのモデルの出所も見抜ける

同一モデルの指紋は近い。では同一ファミリーのモデルはどうか。165 モデルの総当たり距離を計算し、近いもの同士を機械に自動でまとめさせる(クラスタリング)と、答えは「近いが、それほど当てにはならない」。論文の中では弱めの結果で、主な価値は次節の事例の参照枠になることです。

165 モデルを指紋距離で階層クラスタリングした樹形図
165 モデルを指紋の平均距離でまとめた樹形図。葉のラベルは文書で裏の取れたファミリーごとに配色。同じ色が大きく固まっている箇所が、指紋の見抜いたファミリーです。出典:arXiv:2607.10252 Fig.2

アルゴリズムは「1 つ隠して当てる」方式。各モデルを順に隠し、最も近い隣がどの家かを見て、それを答えとします。同一ファミリーの仲間がいる 163 モデルでの正答率は 59.5%、当てずっぽうのベースラインは 18.4% で、3.2 倍の水準でした。

弱い面も見えています。この樹形図から 19 の境界のはっきりしたファミリー圏を自動で切り出せるか。切り出せません。原因の多くは指紋側にありません。ラベルには互いに無関係な 17 ベンダーのモデルを詰め込んだ「other」の雑多なくくりがあり、単独ファミリーも多数。そもそも塊になりようがなく、論文自身も想定内としています。「最も近いのは誰か」を見れば系統は分かるが、全体の区分けとしては見えない、ということです。

ファミリーモデル数適合率再現率
glm121.000.83
llama120.880.58
mistral160.870.81
gpt210.700.90
claude120.540.58
qwen300.500.73
deepseek80.460.75
gemini110.430.55
other(互いに無関係なベンダー)170.200.06
← 表は横スクロールできます →

適合率は「そのファミリーと判定したうち、実際に正しかった割合」。再現率は「そのファミリーの構成員のうち、見つけ出せた割合」です。GLM の行は適合率 1.00 で、GLM と判定したものは全部正解。Llama の行は注目に値します。適合率 0.88 は悪くないのに再現率は 0.58 しかなく、Llama 一族のほぼ半数が自分の陣地にいないことになります。次節にその 1 つが登場します。

なお 59.5% は下限値です。採点の正解は公開文書のファミリー表記に依るので、文書が間違っていれば、指紋が実は正しい親戚を見つけていても減点されます。逆方向の誤りは起こりません。したがって実力は 59.5% を下回らないはずです。

健診結果

今回の健診で何が見つかったか

物差しを実際のエコシステムに当てると、いくつも辻褄の合わないエンドポイントが出てきました。先に断っておくと、これらは統計上の不一致であり、誰かの詐欺を告発するものではありません。重みの更新、ライセンスを得た量子化、キャッシュ層。いずれも無実の説明になり得ます。

いくつかのエンドポイントは、指紋が自称する身元と合わない

最も強い一例

writer/palmyra-x5 の指紋と、オープンソースの qwen/qwen3-235b-a22b-2507 との距離はわずか 0.141。一方、同一モデル同士の距離の中央値は 0.140(異なる 2 モデル間は 0.463)。つまり回答分布から見ると、オープンソースの Qwen デプロイと見分けがつきません。そしてこのエンドポイントは販売時、「Writer が自社開発した独自の社内モデル」と説明されていました。

Writer は企業顧客向けの AI 企業で、Palmyra シリーズを自社開発モデルとして展開しています。X5 は 100 万トークンのコンテキストを売りにし、Amazon Bedrock にも掲載済み(この製品背景は Writer 公式の発表資料に基づき、論文には含まれません)。

無実の説明も実在します。Qwen をベースに自社モデルを学習させること自体は完全に合法です。その清廉な例がすぐ隣にあります。

deepcogito/cogito-v2.1-671b は DeepSeek V3 ベースからの学習だと明記しており、指紋上で最も近い 3 つの隣がちょうど全部 DeepSeek のチェックポイント(0.268〜0.308)。指紋と公開された系統が一致しています。xiaomi/mimo-v2.5-pro と inclusionai/ling-2.6-1t も Qwen 近傍にしっかり収まりました。

この 2 組の数字を並べて初めて違いが見えます。明記された合法な派生モデルとベースとの距離は 0.27 前後で、これは「親戚」の距離。palmyra の 0.141 は 0.140 のノイズ床に貼り付いており、「本人」の距離です。片方は床から大きく浮き、片方は床に接している。論文は告発しない姿勢を保ち、数字だけを置いています。どう読むかはあなた次第です。

もうひとつ、痕跡が消されたケースもあります。nvidia/llama-3.3-nemotron-super-49b-v1.5 は文書上 Llama-3.3 の派生ですが、指紋は Qwen(0.303)の方がどの Llama よりも近い。後段の学習が十分に強ければ、出自は覆い隠されます。前節で Llama の再現率が 0.58 しかなかった一因はここにあり、指紋による系統判定の天井でもあります。

同じモデルなのに、2 プロバイダー間の差が別モデルより大きい

「同一モデル・2 プロバイダー」の 34 ペアのうち、10 ペア(29%)は差が「異なる 2 モデル」の範囲に入っていました。同じモデルが 2 つのインフラから出てくると、別のモデルに変わったほどの違いが出るということです。

エンドポイント2 プロバイダー指紋距離
meta-llama/llama-3.2-3b-instructCloudflare と Parasail0.716
openai/gpt-4Azure と OpenAI 公式直営0.392
参照:異なる 2 モデル間の距離の中央値0.463
参照:同一モデル同士の距離の中央値0.140
← 表は横スクロールできます →

2 行目の数字を単独で見てください。同じベンダー、同じモデル名、どちらも公式といえる 2 経路(Azure と OpenAI 純正エンドポイント)で、距離は「異なる 2 モデル」の中央値に迫っています。1 行目がなぜ 0.716 まで開くのか。論文は結論を出していません。ただしアグリゲーター自身は、上流各社の量子化の程度が揃っていないと認めたことがあります。

ついでに見つかった、3 つの不可解な事実

回答の中身を見るだけでは絶対に気づけない仕掛けもあります。トークン単位で帳簿を付けて初めて露見しました。この 3 点はおまけではなく、どのエンドポイントをサンプルから外すかを直接決めています。

トークンの行方
40〜60 個

一部のフラッグシップ対話エンドポイントは、1 語の可視の答えを出すために出力トークンを約 40〜60 個消費し、途中の思考の痕跡は一切見せません。トークン課金なので、見えないものに数十倍を払っていることになります。

スイッチが効かない
0.76%

326047 件の応答のうち 2486 件が思考オフのフラグを無視し、思考の痕跡を伴って返ってきました。14 のモデルとプロバイダーの組み合わせに集中。この分は別分類として、指紋には一切入れていません。

数字で必ず落ちる
1 モデル

あるモデルの唯一のプロバイダーは、数字系の質問すべてにサーバーエラーを返し、他の質問には正常に答えました。

1 点目はそのまま除外基準になりました。その数十トークンが隠された思考ではないと証明できない以上、この種のエンドポイントはすべて外すしかありません。判断は実測の挙動だけを採り、エンドポイントの自己申告は採りません。申告が当てにならないことは、すでに証明済みだからです。

これらの発見は「まずベンダーへ非公開通知」という手順を踏んでいません。著者の理由は、これは修正を待つセキュリティ脆弱性ではなく、公開しても誰かが新たな攻撃手段を得るわけでもないから。説明責任は生データの全面公開で果たします。各リクエストのタイムスタンプ、プロバイダー、生成 ID がすべて含まれており、名指しされた側も第三者も、自分で再検証し反論できます。

限界

プロバイダーが賢くなったら、この手法はまだ効くのか

プロバイダーが学習して対抗し始めたらどうなるか。取れる手は 3 段階あり、この手法の効き目は段階ごとに違います。

T1 無自覚
黙って差し替え

トラフィックを見ず、替えたら替えっぱなし。この段階には完全に有効。

T2 フィルタ
監査トラフィックを識別

公開済みの監査用質問を見分け、それだけ本物のモデルへ回す。設計上、狙っているのはこの段階。

T3 模倣
回答分布を再現

任意の低エントロピー問題で対象モデルの分布を再現しようとする段階。ここまでやるなら、素直にそのモデルを動かしているのと同じ。

T2 に対抗できる根拠は、問題集に固定の合言葉がないこと。「ランダムな色を言って」「ランダムな都市を言って」は一句ではなく一群の言い回しです。無限に言い換えられ、無限に翻訳でき(4 言語ですでに一巡)、監査時にその場でランダム抽出し、通常トラフィックに混ぜて送ることもできます。

監査トラフィックを選り分けようとすれば、プロバイダーは膨大な通常メッセージの中から「モデルに何かひとつ言わせる」小さな質問を漏れなく見つけ出し、本物のモデルへ回さなければなりません。絞りすぎれば監査トラフィックを取り逃がして結局露見し、緩めれば日常トラフィックの大部分を本物で処理することになり、無駄な出費になります。どちらに転んでも損です。論文の表現は「検出のコストが非常に高い」で、具体的にどれほど高いかは測っていません。もうひとつ塞がれていない穴もあります。同種の問題を言い換えても指紋が安定するかどうかは、今後の課題として実験が残されています。

T3 の計算はカードの中で済んでいます。そこまで模倣するなら素直に本物を動かすのと同じで、コストは浮きません。したがってこの手法は数学的な確証は与えられません。やっているのは「すり替えても捕まらない」を割に合わなくすること。ハードウェアで証明する路線(チップがハードウェアレベルで、確かにその重みが動いていると署名保証する)とは、ちょうど補完関係にあります。

同じ質問を繰り返すと、キャッシュに当たって結果が壊れないか

同じ文を繰り返せばキャッシュには必ず当たります。実際、リクエストの 13.4% がプロンプトキャッシュにヒットし、入力トークンの 10.1% をカバーしました。これは測定を壊すのか。どちらのキャッシュかで話が変わります。

プレフィックスキャッシュ
測定に影響しない

再利用するのは質問の手前ですでに計算済みの中間結果。節約できるのは時間とお金で、モデルが最後にどう答えを選ぶかは変わりません。繰り返しのサンプリングは独立な抽出のままです。

応答レベルのキャッシュ
測定を壊す

保存済みの古い回答をそのまま再生するため、温度 1.0 で観測される分布が人為的に潰れます。この監査の文脈では、それ自体が一種の不正です。

そこで著者は応答レベルのキャッシュを専用に調べました。判定基準は、答えが 1 つに潰れていること、加えて遅延が異常に低くしかも安定していること。温度 1.0 で答えが 1 つしか出なかった問題は 2040 問(分布の集中はそもそもよくあること)で、そのうち遅延が普段の半分を下回ったのは 14 問だけ。しかもその 14 問はいずれも正常なサブ秒の範囲内で、プロバイダーの負荷変動らしく、真のキャッシュのような瞬時再生とはまるで違いました。今回、応答レベルのキャッシュは検出されていません。

この手法にできない 6 つのこと

限界具体的な内容
指紋はドリフトするモデル更新後は指紋が変わるため、参照を定期的に登録し直す必要がある。短期の安定性は検証済みだが、数か月規模のドリフトは未検証
信頼できる参照が要る検証全体の前提は、信頼できる参照デプロイが存在すること
サンプルが届かない低トラフィックのプロバイダーは 1 社あたりのサンプルが少なすぎる。5 エンドポイントは収集期間中まったく採取できず(1 件は提供終了、2 件は所属プロバイダーが継続的に停止、2 件は「未知のモデル」のプレースホルダー)、別に 1 モデルの唯一のプロバイダーが系統的に失敗
ラベルにノイズがあるクローズドソースのベンダーのファミリーラベルは公開文書に依存。ラベルノイズは系統判定の結果を下げることはあっても、上げることはない
測れないエンドポイント群がある思考の強制非表示のエンドポイントは丸ごと除外。思考段階の後に出る答えは別の生成過程をサンプリングしており、混ぜると系統ではなく出力形式でまとまってしまう
アグリゲーターは 1 社のみ全数調査は OpenRouter のみを対象。手法自体はアグリゲーターに依存しないが、エコシステム面の発見が他所へ外挿できるとは限らない
← 表は横スクロールできます →

最後に実用的な話をひとつ。この仕組みは自分で書き直す必要がありません。プロンプト原文(config/prompts.json)と、完全なサービスメタデータ付きの生の応答は公開データパックにあり、収集・分析パイプライン一式(Node.js と R)は別途アーカイブされています。どちらも文末の Zenodo リンクからたどれます。落としてきて、「コスト計算」の節の 4 段階を自分の使っているエンドポイントで走らせるだけです。

モデルの身元は、最も安価な経路から漏れ出しました。退屈な質問をされたモデルが吐き出す、たった 1 つのトークンです。 One Token Is Enough、結論章
出典
One Token Is Enough: Fingerprinting and Verifying Large Language Models from Single-Token Output DistributionsTomáš Bruckner(プラハ経済大学 情報学・統計学部、単独著者)·arXiv:2607.10252·2026-07-11
関連
生データ·収集・分析パイプライン·事前登録論文の謝辞に記載:研究設計、データ収集、結果処理、初稿執筆に Claude Code を使用し、すべての出力は著者本人が検証・修正。API クレジットは著者の自己負担。
本サイトの注記
本文中の 4 点の図表はいずれも同論文より。Writer と Palmyra X5 の製品背景は Writer 公式の発表資料に基づき、本文中に明記しています。第 4 節の検証フローは論文のパラメータで組んだ想定シナリオで、閾値の数値は目安です。論文は推奨値を示していません。
↑ 本文ここまで
✓ この記事は全文無料です

メンバーは全文 Markdown のコピー・保存に加え、自分の AI に購読・質問させることができます。

原文を読む ↗
📮 新着解説をメールでいち早く

役に立ちましたか?メールを登録すると、新着解説を公開と同時にお届けします。解除はいつでも。