大規模言語モデルの出力は便利ですが、その返答が「本当に指定したモデルから出たものか」を利用者が確かめるのは難しいままです。Anthropicはこの問題に対して、暗号技術の一種である zkSNARK を使った「provable inference」の進捗を公開しました。単にモデルを速く動かす話ではなく、誰がどのモデルを使って応答したのかを、あとから検証できるようにする試みです。AIの信頼性や監査、規制との関係まで見据えた内容なので、研究としても実運用としても気になる発表だと思います。
Anthropicの発表は、AIの出力に対して「この返答は、確かにあのモデルの計算結果です」と証明する仕組みを前に進めた、という話だ。人間同士なら、対面で話せば相手の顔も声も分かるし、少なくとも本人かどうかを確認する手段がいくつもある。だがAI相手だと、利用者は出てきた文章だけを見ても、それが本当に指定したモデルから出たのか確かめにくい。ルーティングサービスが別のモデルを挟んでいたり、途中でトークン列が改ざんされていたりしても、見た目だけでは見抜きにくいからだ。
そこでAnthropicが持ち出したのが、ゼロ知識で簡潔な証明を作る zkSNARK だ。これは、ある計算が正しく実行されたことを、内容そのものを明かさずに短い証明で示す仕組みだと説明されている。今回の文脈では、モデル提供者があらかじめモデルへのコミットメントを行い、そのあとで各応答ごとに「この返答はそのモデルの推論から出た」と証明する。証明は数MB程度の短さに抑えられ、検証側はCPUで短時間に確認できることを狙っている。しかも、証明は重みの中身を漏らさない。モデルの重みを隠しつつ、出力の由来だけを検証する、というのが肝だ。
Anthropicはこの仕組みの実装として FlashProve というオープンソースの試作システムを公開した。対象の大きなモデルとして、Llama 4 Maverick の 400B-parameter mixture of experts を使い、4-bit quantized weights と prefill における整数演算で、単一の H100 GPU が約110 tokens/second で証明を生成できると述べている。1,024-token のリクエストあたりの証明サイズは約19MBだという。比較として、同じ長さの入力を vLLM で処理する場合と比べると、GPU時間は約70〜95倍かかるとも書いている。以前のオープンソースシステムよりはかなり速いが、まだモデル本体の推論より重い。そこが現実的な課題でもある。
発表では、研究の成果物もまとめて出している。ブログ本文に加えて、技術報告書、Claude が書いた protocol specification、prover と2つの verifier を含む実行可能コード、そして Lean による証明と、それを監査しやすくする可視化ツールまで公開した。Anthropic は、これは完成品ではなく「途中経過」だと明言している。むしろ他者に見てもらい、改良してもらうことを狙っている点が、この発表の姿勢をよく表している。
私が面白いと思うのは、この研究が「研究室の面白い暗号」では終わっていないことだ。Anthropicは、provable inference が効きうる場面をかなり具体的に並べている。たとえば、規制当局が「このサーバー群は訓練ではなく推論に使われているのか」を確かめたい場面。あるいは、第三者の routing service を経由してモデルを使う顧客が、「自分が支払ったモデルから出力が来た」と確かめたい場面。さらに、推論サーバーが攻撃されて重みが盗まれたり、悪意ある応答に差し替えられたりする脅威にも効く、としている。
ここで重要なのは、Anthropic が「出力がそれらしいか」ではなく「この重み集合に紐づいたモデルが計算したか」を検証可能にしようとしている点だと思う。言い換えると、出力の品質ではなく由来を守る発想である。これは、ユーザー体験の改善というより、セキュリティの土台を作る話に近い。AIがインフラの一部になっていくほど、精度の高さだけでは足りない。誰が、どのモデルで、どの経路を通して答えたのか。そこまで追えるかどうかが、サービス提供者の信頼そのものになる。
ただし、ここには限界もある。Anthropic自身が書いている通り、こうした証明は「推論をしていた」ことは示せても、サイドで訓練をしていないことまでは保証しない。また、モデルの重みを隠せても、アーキテクチャを完全に秘匿することが目的ではない。つまり、全部を覆う万能の盾ではないのだ。それでも、改ざん検知や監査のために「少なくともこれは本当にそのモデルの推論だ」と言えるだけで、運用の景色はかなり変わるはずだ。
もう一つ引っかかったのは、Anthropicが暗号の実装だけでなく、Lean による形式検証を前面に出していることだ。Claude は複雑な最適化は得意でも、大きなシステムでは判断の妥当性を評価しづらいことがある。そこでトップレベルの安全性主張は Lean で監査可能にし、証明の正しさを人間が追える形にしている。これは地味だが重要だと思う。暗号システムは、動けばよいわけではない。むしろ「なぜ安全なのか」を第三者が追えないと、実運用には載せにくい。
この構成は、AI業界でよく見る「モデルが賢ければ何とかなる」という発想と逆向きだ。むしろ、モデルが賢くなりすぎて判断を丸投げできないからこそ、形式化された証明に戻る。そこには、AIそのものの性能向上とは別のレイヤーで、信頼の仕組みを作り直そうとする意図があるように見える。私はここに、Anthropicらしい慎重さを感じた。派手なデモより、監査可能性を先に置いているからだ。
一方で、実用化のハードルは高い。1,024トークンで約19MBの証明、そして推論本体より重いGPUコストは、一般的なAPIサービスにそのまま載せるにはまだ大きい。とはいえ、これは「できない」の証明ではなく、「ここまで来た」の証明だろう。今後、利用場面が監査重視の領域や高価値なモデルに限られるなら、この重さでも意味がある。逆に、消費者向けの高速API全般に広げるには、まだ圧縮や高速化の余地がかなり必要だと思う。
この発表を、AI規制の話としてだけ読むと少し見誤る気がする。実際には、最初に効くのはもっと実務的な場面ではないか。たとえば、企業が外部モデルを使っているとき、契約上のモデル指定を本当に守っているのかを確かめたい調達担当者。あるいは、セキュリティ監査で「その判断は本当にあのモデルのものか」を追いたい担当者だ。ここでは、規制当局より先に、契約や監査の現場で価値が出る可能性がある。
私がそう見る理由は、証明の価値が「強い権威に見せる」ことより「当事者間の不信を減らす」ことにあるからだ。クラウドでも暗号化でもそうだが、実務で広がる技術は、壮大な理念より、揉めやすい点を一つずつ潰すものが強い。provable inference も同じで、ユーザーがモデル出力を信じるための土台というより、サービス提供者と利用者、あるいは提供者と監査者の間で「ここは争いにくい」という証拠を作る技術として育つのではないかと思う。
もちろん、これが広く普及するには、証明の発行コスト、検証のしやすさ、既存APIとの統合が要る。そこを越えないと、理屈は良くても運用されない。だが今回の公開で、少なくとも「大規模モデルに対して zkSNARK を実用レベルに近づける」方向が見えた。AIの信頼は、モデルの中身を信じるだけでは足りない。出てきた答えが、誰の責任で、どの計算から生まれたのかまで追えるか。その一歩目として、今回の発表はかなり筋がいいと思う。
参考: Progress on provable inference for large language models