11月2日、Anthropicが「Progress on provable inference for large language models」と題した記事を公開した。この記事では、zkSNARKを用いてLLMの推論結果が特定のモデルから生成されたことを暗号学的に証明する技術「Provable Inference」の進捗と、その実装系「FlashProve」について詳しく紹介されている。
問題の本質:「本当にそのモデルが応答したか」を誰も確認できない
友人と対面で話すとき、相手が本人かどうかを視覚・聴覚・触覚で確認できる。AIモデルに対しては、そうした手段がほぼ存在しない。
現状、ユーザーがAIプロバイダーに問い合わせても、その応答が「宣言されたモデル」から来たものか、「コスト削減のためにルーティングサービスが密かに差し替えた安価なモデル」から来たものかを区別する手段がない。攻撃者がトークンストリームを改ざんしていても、出力だけ見ても検知できない。
この問題が今とりわけ重要視される背景には、AI規制の潮流がある。EU AI ActやNIST AI RMFをはじめとする規制・標準化の動きが加速するなかで、「正しいモデルが実際に動いているか」という検証可能性は、単なる利便性の話ではなくなっている。規制当局によるモデル審査、セキュリティ監査、AIペーシング(開発速度の管理)、安全モデルのみの提供義務化——これらすべてが、技術的に担保された検証手段を必要としている。信頼をポリシー文書や契約書に頼るだけでは不十分だという認識が、業界内外で広まりつつある。
FlashProve:zkSNARKをLLM推論に適用したプロトタイプ
Anthropicが今回公開したのが FlashProve だ。これはLLM推論に対してゼロ知識証明(zkSNARK)を適用した、オープンソースの実装である。
zkSNARK(zero-knowledge succinct argument of knowledge)とは、ある計算が正しく実行されたことを、その計算の詳細(今回の場合はモデルの重み)を一切開示せずに証明できる暗号技術だ。ブロックチェーン分野ではzk-SNARKsとして既に広く使われているが、LLM推論の規模に適用した例は少なかった。
パフォーマンス数値
今回の成果で最も注目されるのが実測値だ。
- 対象モデル:Llama 4 Maverick(400Bパラメータ、MoEアーキテクチャ、4ビット量子化)
- プローバーのハードウェア:H100 GPU 1枚
- 生成速度:約110トークン/秒
- 証明サイズ:約19 MB/1,024トークンリクエスト
- オーバーヘッド:約70〜95倍のGPU時間(後述)
検証(Verify)側はCPUで数秒以内に完了する。証明を受け取ったユーザーは、モデルの重みを持たず、専用ハードウェアもなく、応答の正当性を確認できる。
オーバーヘッドの比較基準
「70〜95倍」というオーバーヘッドの比較対象は、vLLM(オープンソースのLLM推論ライブラリ)での同モデル実行時のGPU時間だ。証明生成という追加処理が伴う以上、オーバーヘッドは避けられないが、既存のオープンソース実装と比較すると数桁速いと記事は述べている。この高速化を可能にしたのは、Anthropicのチームが暗号技術・セキュリティ文献の最新ツールを調査し、LLM推論に適用可能な新手法を見出したことによる。なお、元記事ではこの手法の探索・文書化にClaudeが活用されたと述べられており、プロトコル仕様書もClaude作成とされている。
4つのユースケース:なぜこれが必要か
Anthropicは以下の4つの課題に対してzkSNARKが有効だと説明している。
1. ペーシング(AI開発速度の管理)
規制当局がプロバイダーに「そのハードウェアをトレーニングではなく推論に使っていること」を要求するシナリオ。zkSNARKによる証明があれば、規制当局は重みを見ることなく、指定モデルでの推論が行われていたかを確認できる。
2. 改ざん検知
推論サーバーが攻撃者に乗っ取られたり、あるいはモデル自身が自己改変して別の重みで動作していた場合、zkSNARKの証明はコミットされた特定の重みに紐付いているため、偽の証明は生成できない。AnthropicはFrontier Safety Roadmapにおいて「2026年9月30日までにProvable Inferenceのプロトタイプを開発する」という公開目標を設定していたが、別プロジェクトで既に達成済みとも述べている。
3. テキスト来歴の証明
「フロンティアモデルでコードの脆弱性スキャンを実施した」という主張を、実際にそのモデルが処理したことの証明として提供できる。チャットログの公開だけでは安価なモデルで生成した偽ログの可能性を排除できないが、zkSNARKは排除できる。
4. モデル承認の確認
規制によって安全と承認されたモデルのみ提供義務を負う場合、プロバイダーが未承認モデルを使っていないかを軽量に検証できる。
Lean形式検証との組み合わせ
技術的に興味深い点がもう一つある。「大規模で複雑なシステムでは評価困難な意思決定をしがち」という問題に対し、AnthropicはLean(定理証明支援系)でトップレベルのセキュリティ保証を記述した。
数学的な証明をLeanで形式化することで、監査者がコードではなく数学的命題を検査できる仕組みを用意している。インタラクティブなビジュアライザーも公開されており、定理の構造を視覚的に確認できる。
公開成果物
今回Anthropicが公開したのは以下の5点(Apache 2.0ライセンス):
- 本記事(システム概要と応用)
- 技術レポート(FlashProveの詳細):プロトコルの設計思想・実装上の選択・性能評価が詳述されており、zkSNARKとLLM推論の接合点を深く学べる一次資料だ
- プロトコル仕様書(Claude作成):Anthropicチームの知見をもとにClaudeが文書化したもの
- 実行可能コード(Prover、C++高速Verifier、Lean正確性Verifier):外部研究者が実際に動かして検証・改善に着手できる状態で公開されている
- Lean証明とインタラクティブビジュアライザー:形式的な正確性をコードレベルではなく数学的命題として監査したい研究者・監査機関向けの成果物だ
Anthropicはこれを「完成した研究」ではなく「中間成果の共有」と明示しており、外部研究者がこれを引き継いで改善することを明示的に求めている。
70〜95倍というオーバーヘッドは現時点ではプロダクション投入には重いが、400Bパラメータという大規模モデルを対象にしたオープンソース実装として約110トークン/秒を超えたことは、実用化への道筋を示す数字だ。ゼロ知識証明とLLM推論の交差点で何が起きているか、追いかける価値のある分野である。
詳細はProgress on provable inference for large language modelsを参照していただきたい。