
2026/11/05 2:17
大規模言語モデルのための証明可能な推論に関する進展
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
FlashProve は、モデルプロバイダーがそれぞれの応答が自らの特定のモデルによって生成されたことを暗号学的に証明することを可能にする新しいシステムです。このシステムは、攻撃者によって置換された出力と正当な出力を区別できないユーザーの「検証ギャップ」を解消します。FlashProve は、zkSNARKs と Lean における形式化検証を活用することで、完全性 (completeness)、一貫性 (soundness)、ゼロ・ノレッジ (zero-knowledge)、簡潔さ (succinctness) という強いセキュリティ保証を提供すると同時に、機密モデル重みを守る仕組みです。オフラインコミットメントフェーズにおいて、証明者は短い指紋(約 6.5 MB)を公開し、誰でもモデル重みや専門ハードウェアにアクセスすることなく、オンラインフェーズで生成される証明を検証できます。
パフォーマンスのハイライトには、単一の H100 GPU 上で Llama 4 Maverick(4-bit クォンタイズされた重みと整数算術を用いたプリフィル段階を持つ 400B パラメータの MoE モデル)において約 110 トークル/秒の証明生成速度が挙げられます。これは、vLLM でモデルを実行する必要がある GPU 時間と比較して、先行のオープンソースシステムに対して約 70–95 倍の高速化を実現しています。各 1,024 トークルのリクエストごとに約 19 MB の証明が生成され、24 リクエストのバッチ検証は単一の H100(CPU コア 24 個搭載)で約 223 秒を要します。これにより、1 スレッドでは約 21 秒だった処理時間を 24 スレッドで約 17 秒に改善しています。
チームは今日、ブログ記事、技術報告書、Claude が作成したプロトコル仕様書、実行可能な証明者・検証者コード(C++ および Lean)、インタラクティブな可視化付きの Lean 証明を含む 5 つのアートを Apache 2.0 ライセンスの下で公開しました。FlashProve は効率性を維持しつつセキュリティを優先するため、事後証明(post-hoc proving)を採用しており、これにより一定の遅延と複雑性が導入されています。現在の制限事項としては、貪欲なデコード(greedy decoding)下での整数ベースモデルのみへの対応、MoE アーキテクチャへの限定、1,024 トークルまでのコンテキスト長、完全な形式化保証のないプロトタイプ実装の公開、タイミング変動などのサイドチャネル攻撃への脆弱性などが挙げられます。これらの制約にもかかわらず、FlashProve はモデルの真正性を攻撃による置換から守るための安全でハードウェア軽量の検証を可能にする分野における重大な進歩を示しています。
本文
エグゼクティブサマリー:FlashProve と推論証明の最新進展
執筆者
- Roy Rinberg, Alex Allain(Anthropic)
- Alessandro Chiesa(EPFL、StarkWare)、Miranda Christ(MIT、RESI)
- Rahul Dalal(Anthropic STEM フェロープログラム、Succinct)
- Giacomo Fenzi(EPFL)、Ben Mayer(Anthropic Fellows Program、MIT)
- Guy Weissenberg(EPFL)
1. 背景と目的:AI との対話における信頼性の問題
対面会話では**「目を見る」「声を聞く」「握手」**などの複数の手がかりにより相手の真正性を確認できますが、AI モデルとの対話ではそれらが存在しません。
- 現状の問題点
- 回答の質が高くても、出力内容のみで信頼性は判断できません。
- 開発者の回答なのか、コスト削減のためのルーティングサービスによる置換なのか、攻撃者による改ざんなのかを検証する手段がありません。
この課題を解決するのが**「推論に関する暗号化証明(Cryptographic Proofs of Inference)」**です。
- モデルプロバイダーは特定のモデルへのコミットメントを行います。
- 応答が実際に当該モデルによって生成されたことを証明できます。
- 消費者向け製品から内部セキュリティまで幅広いアプリケーションが可能になり、AI のペースティング(開発速度規制)やスケーリングガイドラインの遵守を確保します。
本記事では、FlashProveというシステムを中心に、この分野の最新進展について共有します。
2. FlashProve システムの概要と成果
FlashProve は、強力な暗号化証明である**「ゼロ知識 succinct な知識の論理(zkSNARK)」**を活用したシステムです。非公開性と効率性に優れ、推論証明において特に適合しています。
メインの技術的達成事項
-
圧倒的な性能向上
- 既存のオープンソースシステムよりも大幅に高速です。
- 検証速度: 単一の H100 GPU で約 110 トークン/秒で証明を生成できます(Llama 4 Maverick、400B パラメータモデルの場合)。
- 証明サイズ: 1,024 トークンのリクエストあたり約 19MB。
- 処理効率の比較: vLLM(一般的なライブラリ)上でモデルを実行する GPU 時間の約 70〜95 倍の高速化です(プレフィルル段階では 4 ビット量化された重みと整数算術を使用)。
-
設計原理
- 暗号理論およびセキュリティ分野の最先端ツールを応用しつつ、確立された設計原則にも固執します。
- モデルへのコミットメントや推論証明では**「重み」**は隠されますが、アーキテクチャそのものを隠すことは目標ではありません。
-
形式検証と監査
- 評価が難しい重要な決定については、上層部の監査可能なステートメントを提供します(Leanという形式検証言語で記述)。
公開されたアーティファクト
本日より以下の 5 つのアイテムをオープンソース化しました(Apache License 2.0)。
- ブログ投稿: システムと応用例の概説。
- 技術報告書: システムの詳細な解説。
- プロトコル仕様文書: (Claude が作成)。
- 実行可能コードパッケージ
- プロバー(証明生成側)と verifier(検証側)の両方。
- C++ で実装された高速 verifier。
- Lean で実装され、形式的に正しいことが保証されている verifier。
- 監査ツール
- Lean による上層部数学的ステートメントの証明。
- Lean の定理を可視化するためのインタラクティブツール。
**注:**本研究は最終ゴールではなく中間成果であり、他者の改善を歓迎します。
3. 導入:なぜ「証明可能な推論(Provable Inference, PI)」が必要なのか
現在の AI 利用では、選択されたモデルが実際に応答を生成したことを確定して知る方法がありません。出力のみ重視される日常利用以外には保証が必要ない場合もありますが、以下のケースでは不可欠です。
- 独立した評価: テスト対象が正確なモデルであることを確認したい場合。
- サードパーティのルーティング: 支払ったモデルからのトークン送信を保証したい場合。
- セキュリティ: サイバー攻撃者によるトークンストリームの改ざんを検知したい場合。
PI の仕組み
- ユーザーは限られたリソースを持ち、重みへのアクセスがない状況でも検証できるようにします。
- モデルプロバイダーは、応答と一緒に短い証明(数メガバイト)を送信します。
- ユーザーはこれを素早く検証でき(理想としては CPU でも数秒以内)、モデル逸脱を検知できます。
- ゼロ知識性質: 証明内容がモデルの重みに関する情報を一切漏らしません。
信頼上の課題への対応
AI の普及に伴い、以下の 4 つの具体的な課題を zkSNARK で解決します。
Challenge 1:ペースティング(Pacing)
規制によりハードウェア使用状況(推論専用か学習用か)の監視が求められる場合、プロバイダーはコスト削減や計算資源の悪用を試みることがあります。
- 対策: 規制当局はプロバイダーに対して推論リクエストに関する証明書発行を依頼できます。zkSNARK を用いれば複雑なハードウェア設定なしに検証可能で、情報漏洩も防げます。
Challenge 2:改ざん検出(Tamper Detection)
サーバー侵害により重みが奪取されたり、悪意のある応答が出されたりするリスクがあります。
- 対策: プロバイダーはすべての応答に対して有効な zkSNARK を要求します。証明は**「コミットされたモデル」**の指紋にバインドされており、不正な重みによる回答では証明を生成できません(検知不能ではないため)。
Challenge 3:テキストの出所証明(Text Provenance)
「この文書が承認されたモデルで分析された」などの主張を検証したい場合があります。チャットログ単体では偽造可能です。
- 対策: プロバイダーは指定されたモデルからの出力生成を証明する zkSNARK を付与します。迅速なチェックと情報漏洩防止が可能です。
Challenge 4:モデルの承認(Model Approval)
規制で安全なモデルのみを提供することを要求される場合があります。
- 対策: 承認済みのモデルを実行することを強制する zkSNARK が可能になります。未承認モデルでの検証は不可能になります。
注:ハードウェアとソフトウェア 本研究は計算上の困難性に依存するソフトウェアベースのソリューションに焦点を当てています。ハードウェアや OS の侵害があっても、計算上不可能な問題を解かずに攻撃者は無効な証明を生成できません。両アプローチは補完的です。
4. システムの詳細:FlashProve と評価結果
システムの構成
FlashProve は、モデルプロバイダー(プロバー)とユーザー(verifier)の 2 者間で行われ、以下のフェーズで構成されます。
- オフラインフェーズ:
- プロバーはモデル重みへの短いコミットメント(指紋)を公開します(実際の重みを隠す)。
- 推論に関する主張はこのコミットメントに対してチェックされます。
- オンラインフェーズ:
- リクエストが到達すると、プロバーは証明ファイルを生成します。
- 「コミットされたモデルがこの入力に対し、これらの出力を生成した」と表明します。
保証事項
- 完全性(Completeness): 誠実なプロバーによる証明は verifier に受け入れられる。
- 一貫性(Soundness): 偽のステメントに対する有効な証明を作ることは事実上不可能。
- ゼロ知識(Zero-Knowledge): 重みや中間値、レイヤーごとの実行情報などを一切明かさない。
- 簡潔性(Succinctness): 検証者は約 19MB のデータを数秒でチェックできる一方、背後では 400B パラメータモデルが計算されている。
実装評価結果(Llama 4 Maverick, 400B MoE)
- セットアップ: プロバー(1 H100 + 24 コア CPU)、Verifier(クライアント側 CPU)。
- オフラインフェーズ: 約 39 分。コミットメントは約 1,600 万回のリクエスト有効。
- オンラインフェーズ(24 バッチ):
- プロバー処理時間:約 223 秒。
- 生成速度:約 110 トークン/秒。
- 証明ファイルサイズ:18.78 MB。
- Verifier の性能: チェックに約 17 秒(24 スレッド)〜21 秒(単一スレッド)。
- コストパフォーマンスの比較: 証明生成時間は vLLM の約 70〜95 倍ですが、暗号による検証が得られるため許容範囲です。
システム設計上の決断
- プロバーの負荷: 全パラメータではなく、実際に使用される専門家(1 トークンあたり約 17B)に比例します。
- バッチ処理: リクエスト完了後にバッチ単位で証明を行い、一度に重みのコミットメントを開く方式です。
- ハードウェア適合性: 単一 GPU(80GB)と約 290GB のホストメモリを想定し、重みを分割してストリーミングします。
- 事後証明(Post-Hoc)の採用: インライン型に比べ速度は遅いですが、より強いセキュリティ保証を提供します。
形式検証による信頼性の向上
暗号コードはエラーが発生しやすいため、Leanを使用してプロトコルと性質を形式検証しました。
- 一貫性: Lean verifier(実行可能な C++ verifier と連携)。
- 完全性: 標準的なテストにより、正しいステートメントからの証明受け入れを確認。
- ゼロ知識: Lean prover の論理で検証済み。
5. 先行研究との比較と限界事項
性能の飛躍
従来の「zkML」研究では、Transformer モデルへの適用が速度面で困難でした(例:GPT-2 が 0.006 トークン/秒など)。
- Attestable: Gemma 4 31B を単一 H100 で 53〜77 トークン/秒。
- FlashProve の達成: 同じクラスの大型モデル(Llama 4 Maverick)を単一 H100 で110 トークン/秒、19MB で証明に成功。
限界事項と今後の課題
本リリースは研究用プロトタイプであり、以下の技術的制限があります。
- 形式的保証の範囲: 高速な C++ コードがすべての理論的断言と完全に一致することは保証されません(さらなる監査推奨)。
- 整数モデルおよびデコーディング: 現在の証明は**「貪欲なデコーディングにおける重みの正確な整数バージョン」**を対象としています。浮動小数点実装やサンプリングデコーディングは逸脱し検証に失敗する可能性があります(経験的に誤差率内ですが、敵対的プロンプトには対応できていません)。
- アーキテクチャの前提: MoE アーキテクチャを前提としており、Dense モデルへの適用はこのシステム設計の範囲外です。
- サイドチャネル攻撃: 証明自体は重みを隠しますが、生成時間の測定などによるサイドチャネル攻撃による情報漏洩の可能性については未対応です。
- コンテキスト長: 現在では1,024 トークンまでで、先進モデルの数十万〜数百万トークンの窓とは比較できません。
6. コードとドキュメントの入手先
我々のコード(C++ verifier、Lean prover)、Lean 証明、および技術報告書はすべて Apache License 2.0 の下で公開されています。他者の成果を改善することを明確に歓迎します。