Anthropic发布FlashProve:基于zkSNARK的可验证推理原型
Anthropic Releases FlashProve: Cryptographic Proofs That a Reply Came From Committed Weights
可验证推理是解决AI信任与监管的关键基础设施,FlashProve在性能上实现了数量级突破,值得关注底层安全机制的团队深入评估。
Anthropic’s Frontier Red Team has released FlashProve, an open-source research prototype for provable inference. FlashProve is a zkSNARK system from Anthropic that proves a reply came from a committed model. The proof reveals nothing about the model weights. On Llama 4 Maverick, a 400B mixture-of-experts model, it proves about 110 tokens/second on 1 H100. For developers, this targets a real gap: today you cannot check which model actually answered your API call.
Anthropic 的前沿红队发布了 FlashProve,这是一个用于可证明推理的开源研究原型。FlashProve 是 Anthropic 推出的一个 zkSNARK 系统,能够证明回复确实来自某个已承诺的模型。该证明不会泄露任何关于模型权重的信息。在 Llama 4 Maverick(一个拥有 400B 参数的混合专家模型)上,使用 1 块 H100 GPU 可实现每秒约 110 个 token 的证明速度。对于开发者而言,这填补了一个实际存在的空白:目前你无法确认究竟哪个模型响应了你的 API 调用。
TL;DR
TL;DR(太长不看版)
- Size: Proves a 400B MoE model (~17B active per token); context capped at 1,024 tokens per request.
- Runs on: Prover needs 1 H100 80 GB, 24 CPU cores and ~290 GB host RAM. Verifier runs on a CPU, no GPU.
- Performance: Orders of magnitude faster than prior open-source zkML systems on the same 400B model.
- Best: 110 tokens/second proving on 1 H100, with 18.78 MB proofs checked in 17 seconds.
- Worst: Proving costs ~70 to 95x the GPU time of plain vLLM inference.
- 规模:证明一个 400B MoE 模型(每个 token 约 17B 活跃参数);上下文在每个请求中限制为 1,024 个 token。
- 运行环境:证明者需要 1 块 80 GB H100、24 个 CPU 核心和约 290 GB 主机内存。验证者在 CPU 上运行,无需 GPU。
- 性能:与之前在同一 400B 模型上运行的开源 zkML 系统相比,速度快了几个数量级。
- 最佳情况:在 1 块 H100 上实现每秒 110 个 token 的证明速度,18.78 MB 的证明在 17 秒内完成验证。
- 最差情况:证明成本约为纯 vLLM 推理 GPU 时间的 70 到 95 倍。
What problem does provable inference solve?
可证明推理解决了什么问题?
A user querying a model cannot verify which model produced the response. A routing service could swap in a cheaper model. An attacker could tamper with the token stream. Judging from output quality alone is unreliable.
查询模型的用户无法验证是哪个模型生成了响应。路由服务可能会替换为更便宜的模型。攻击者可能会篡改 token 流。仅凭输出质量来判断并不可靠。
Anthropic lists 4 use cases:
Anthropic 列出了 4 种用例:
- Regulators could confirm hardware serves inference, supporting AI pacing rules.
- Labs could detect tampered inference servers.
- Users could verify text provenance.
- Regulators could enforce serving of approved models only.
- 监管机构可以确认硬件是否用于推理,从而支持 AI 节奏规则。
- 实验室可以检测被篡改的推理服务器。
- 用户可以验证文本的来源。
- 监管机构可以强制仅部署经过批准的模型。
How does FlashProve work?
FlashProve 是如何工作的?
FlashProve has a prover (the model provider) and a verifier (the user). It runs in 2 phases:
FlashProve 包含证明者(模型提供方)和验证者(用户)。它分两个阶段运行:
- Offline: The provider publishes a commitment, a short fingerprint binding one exact set of weights. This takes about 39 minutes and covers about 16 million requests.
- Online: For each request, the GPU produces a proof that the committed model produced those tokens.
- 离线阶段:提供方发布一个承诺值,这是一个简短的指纹,绑定了一组确切的权重。这一步大约需要 39 分钟,可覆盖约 1600 万次请求。
- 在线阶段:对于每个请求,GPU 生成一个证明,表明已承诺的模型生成了这些 token。
The proof system compiles an interactive oracle proof into a cryptographic proof using hash functions. Anthropic says this offers post-quantum security. It is the same family used by validity-proof L2 networks such as Starknet.
该证明系统使用哈希函数将交互式预言机证明编译为密码学证明。Anthropic 表示这提供了后量子安全性。它与 Starknet 等有效性证明 L2 网络使用的技术属于同一家族。
Three engineering choices drive the speed. Prover work scales with the ~17B active parameters, not all 400B. Requests are proved in batches after the fact, like prefill. Weights stream from host memory, so a single 80 GB GPU suffices.
三项工程选择推动了速度的提升。证明者的工作量仅与约 17B 的活跃参数相关,而非全部 400B。请求像预填充(prefill)一样在事后批量进行证明。权重从主机内存流式传输,因此单块 80 GB GPU 即可满足需求。
How fast is it? Benchmarks
速度有多快?基准测试
Anthropic measured the public 4-bit Maverick weights on 1 H100 with 24 CPU cores. Per the repo performance guide:
Anthropic 在 1 块 H100 和 24 个 CPU 核心的环境下对公开的 4-bit Maverick 权重进行了测量。根据仓库的性能指南:
- Batch of 24: 111.23 tokens/second, ~221 to 226 seconds per batch.
- Batch of 1: 17.41 tokens/second. Batch of 64: 123.31 tokens/second, flagged as unreliable on 80 GB cards.
- Proof size: 18.78 MB. Client downloads ~6.5 MB once per commitment.
- Verification: 17 seconds on 24 threads, 21 seconds on 1 thread.
- 批次大小为 24:每秒 111.23 个 token,每个批次约需 221 至 226 秒。
- 批次大小为1时:17.41 tokens/秒。批次大小为64时:123.31 tokens/秒,在80 GB显卡上被标记为不可靠。
- 证明大小:18.78 MB。客户端每次承诺下载约6.5 MB。
- 验证:24线程下耗时17秒,1线程下耗时21秒。
Against vLLM running FP8 Maverick on 8 H100s, proving costs about 72x the GPU time per batch. At vLLM’s highest tested load, the gap is about 94x.
与在8块H100上运行FP8 Maverick的vLLM相比,每批次的证明成本约为GPU时间的72倍。在vLLM测试的最高负载下,差距约为94倍。
How does FlashProve compare with other zkML systems?
FlashProve与其他zkML系统相比如何?
| Metrics | FlashProve | Attestable | VerInf | DeepProve | zkLLM |
|---|---|---|---|---|---|
| Model proven | Llama 4 Maverick (400B MoE) | Gemma 4 31B (dense) | Llama 4 Maverick (400B MoE) | GPT-2, Gemma 3 | LLaMA-2-13B |
| Throughput | ~110 tok/s | 53 to 77 tok/s | ~0.02 tok/s (1,000 tokens in 14.3 h) | ~2.9 tok/s (GPT-2), ~1.4 tok/s (Gemma 3) | Full inference in under 15 min |
| Hardware | 1 H100 + 24 CPU cores | 1 H100 | 1 DGX Spark | 1 machine; 31 tok/s distributed | GPU (CUDA) |
| Proof size | 18.78 MB | 4.35 to 7.92 MiB | 93.6 GB | Not disclosed | Under 200 kB |
| Verify time | 17 s (24 threads) | 157 to 648 ms | 17.7 h (20 cores) | 1 to 3.7 s | Not disclosed |
| Context | 1,024 tokens | Up to 16K tokens | 1,000 tokens | Not disclosed | Not disclosed |
| Code / license | Open, Apache 2.0 | Not open source | Open, MIT | Open source per Lagrange | Paper (CCS 2024) |
| 指标 | FlashProve | Attestable | VerInf | DeepProve | zkLLM |
|---|---|---|---|---|---|
| 模型证明 | Llama 4 Maverick (400B MoE) | Gemma 4 31B (稠密) | Llama 4 Maverick (400B MoE) | GPT-2, Gemma 3 | LLaMA-2-13B |
| 吞吐量 | ~110 tok/s | 53至77 tok/s | ~0.02 tok/s (1,000 tokens耗时14.3小时) | ~2.9 tok/s (GPT-2), ~1.4 tok/s (Gemma 3) | 推理在15分钟内完成 |
| 硬件 | 1 H100 + 24 CPU核心 | 1 H100 | 1 DGX Spark | 1台机器;分布式31 tok/s | GPU (CUDA) |
| 证明大小 | 18.78 MB | 4.35至7.92 MiB | 93.6 GB | 未披露 | 低于200 kB |
| 验证时间 | 17秒 (24线程) | 157至648毫秒 | 17.7小时 (20核心) | 1至3.7秒 | 未披露 |
| 上下文 | 1,024 tokens | 最多16K tokens | 1,000 tokens | 未披露 | 未披露 |
| 代码/许可证 | 开源,Apache 2.0 | 非开源 | 开源,MIT | Lagrange规定的开源 | 论文 (CCS 2024) |
How is the security checked?
安全性是如何检查的?
Cryptographic code is brittle, so Anthropic formalized the protocol in Lean. It proves completeness, soundness and zero knowledge. The README states a cheating provider is caught except with probability about q/2^124 + 2^-101.
密码学代码非常脆弱,因此Anthropic在Lean中形式化了该协议。它证明了完备性、可靠性和零知识性。README指出,除非概率约为q/2^124 + 2^-101,否则作弊的提供者会被捕获。
FlashProve ships 2 verifiers. A fast C++ verifier is for daily use but carries no formal guarantee. A slower Lean verifier is proven to accept only what the soundness theorem accepts. Anthropic team notes Claude helped optimize the system.
FlashProve提供两个验证器。一个快速的C++验证器用于日常使用,但没有任何形式保证。一个较慢的Lean验证器经过证明,仅接受可靠性定理所接受的内容。Anthropic团队指出Claude帮助优化了该系统。
Key Takeaways
关键要点
- FlashProve proves a 400B MoE model at ~110 tokens/second on 1 H100.
- Proofs are 18.78 MB and verify on a CPU in 17 seconds.
- Proving costs ~70 to 95x the GPU time of vLLM inference.
- Security properties are formalized in Lean; weights stay hidden.
- Limited to 1,024 tokens, greedy decoding, and MoE models for now.
- FlashProve在1块H100上以~110 tokens/秒的速度证明了一个400B MoE模型。
- 证明大小为18.78 MB,并在CPU上17秒内完成验证。
- 证明成本约为vLLM推理GPU时间的70到95倍。
- 安全属性已在Lean中形式化;权重保持隐藏。
- 目前仅限于1,024个tokens、贪婪解码和MoE模型。
Check out the research post, technical report, protocol specification and GitHub repo. Also, feel free to follow us on Twitter and don’t forget to join our 150k+ML SubReddit and Subscribe to our Newsletter. Wait! are you on telegram? now you can join us on telegram as well.
查看研究文章、技术报告、协议规范和GitHub仓库。此外,欢迎在Twitter上关注我们,别忘了加入我们有15万+成员的ML SubReddit并订阅我们的新闻通讯。等等!你在Telegram上吗?现在你也可以在Telegram上加入我们。
更进一步:量化金融体系
看懂新闻只是起点——沿量化金融路径,把它变成能交付的工程能力