大規模言語モデルの外部推論を部分検証する証明方式
Seal, Then Sample: Sampled Layerwise Proofs for Verifiable LLM Inference from GPT-2 to 70B
この論文をやさしく読む
ひとことで言うと
外部サービスが言語モデルの計算を正しく行ったか、一部の計算区間を抽出して証明する方式です。
何に役立つ?
外部に委託した推論結果を監査する際、証明の費用と検査範囲を調整する方法として使える。
この研究の面白いところ
挑戦する場所を決める前に全区間を封印し、複数の依頼を一つの計算履歴にまとめて証明費用を下げる。
どこまで分かった?
保証は抽出して証明した区間だけに及ぶ。70B設定で特定の不正区間を検査する確率は3/161で、固定小数点モデルと浮動小数点参照の出力一致率も84.8〜84.9%である。
v1のアブストラクトに基づくAI解説。日本語訳とは別に、用途の解釈を含みます。
アブストラクトの日本語訳
外部に委託した言語モデルの推論を検証するには、検証対象の計算を厳密に特定し、サービス側が負担できる費用で監査する必要がある。著者らは、サンプル抽出型の層別証明SLPという手順と試作を提示する。推論の計算履歴を区切り、各区間の境界での活性値をコミットし、挑戦する区間を選ぶ前にすべてのコミットメントを取り込む。その後、検証者が選んだ区間と、入力指示と回答を結び付ける区間を証明する。監査範囲は、同じコミットメント集合に対して実行時に調整できる。TinyLlama-1.1Bの計算履歴では、47区間中7区間を証明する場合、全47区間を証明する場合に比べ、時間は22.0%、証明の大きさは6.8%だった。証明費用はトークン数より重みに支配されるため、SLPはブロック対角の因果マスクを使い、複数の同時依頼を一つの計算履歴にまとめ、各依頼の入力と回答を対応する枠に結び付ける。12件をまとめた証明は181.9秒で、個別証明12回の測定費用の合計より6.5倍少ない時間で済んだ。模擬サービスでは12件を1件当たり30.6秒で証明し、各件の検証は0.6秒で、改ざん回答を拒否した。ディスク上の整数重みと逐次的な多項式コミットメントを用い、2 TBのメモリーを持つCPUホストでLlama-2-70Bの一回の処理を完了した。163区間を封印して5区間を証明し、4.34 MiBの証明を1,259秒で作り、重みなしで46.3秒で検証した。証明対象は固定小数点の規範的モデルである。著者らは、残差ストリームのビット幅による大きな忠実度低下を特定し、言語モデルに合わせたオブザーバーで修正した。WikiText-2の334,705のテスト位置で、浮動小数点の参照モデルとのargmax一致率は84.8〜84.9%だった。保証は証明した区間だけに及び、70Bの設定で固定した不正区間を覆う確率は3/161である。また、マニフェストだけを用いるFiat–Shamir方式の挑戦順序は1回12.5ミリ秒で有利な結果を探せるため、外部で順序付けた挑戦が必要であり、すべての測定はテスト用の参照文字列を使用した。
v1の要旨から自動生成。本文の精読・人による確認は未実施。
- 初稿
- 2026-09-23(UTC)
- 最新改訂
- 2026-09-23 · v1
- 査読・掲載
- 査読状況未確認
更新履歴
- v1 2026-09-23 この版を読む
取得できた版を表示。版の更新は査読済みを意味しません。過去版の本文差分は未解析です。
原文の要旨
Verifying outsourced language-model inference requires a precisely identified computation and an audit whose cost a service can afford. We present Sampled Layerwise Proofs (SLP), a protocol and prototype that commits the boundary activations of every chunk of an inference trace, absorbs all commitments before any challenge is drawn, and then proves a verifier-selected subset of chunks together with the chunks that bind the prompt and the answer. Audit coverage becomes a runtime parameter over one set of commitments: on a TinyLlama-1.1B trace, proving seven of 47 chunks takes 22.0% of the time and 6.8% of the proof size of proving all 47. Because proof cost is dominated by weights rather than tokens, SLP packs concurrent requests into one trace under a block-diagonal causal mask and binds the prompt and answer of each request to its slot. Twelve packed requests are proved in 181.9 s, 6.5 times less than twelve separate proofs at the measured single-proof cost, and a simulated service proves twelve requests at 30.6 s per request with 0.6 s of verification each, rejecting a tampered answer. Disk-backed integer weights and streamed polynomial commitments let a single Llama-2-70B run complete on a 2 TB CPU host: 163 chunks sealed, five proved, a 4.34 MiB proof in 1,259 s, verified in 46.3 s without the weights. The proven object is a fixed-point canonical model; we trace a severe fidelity loss to the residual-stream bit width, repair it with an LLM-aware observer, and measure 84.8-84.9% argmax agreement with the floating-point reference over 334,705 WikiText-2 test positions. The limits are stated as precisely: guarantees cover proven chunks only, a fixed invalid chunk in the 70B setting is covered with probability 3/161, a manifest-only Fiat-Shamir schedule can be ground at 12.5 ms per attempt and needs an externally ordered challenge, and all measurements use a test reference string.
著者のコメント
15 pages, 4 figures, 8 tables. Raw experiment logs and data tables: https://github.com/TrueOpen/slp-experiments
arXiv ID: 2609.27367 / 要約の誤りについて