project
FlashProve - Anthropic 开源的可验证推理系统
FlashProve是Anthropic开源的可验证推理系统,用零知识证明让模型服务商在隐藏权重的情况下,证明某次回答确实由指定模型生成。
FlashProve是什么
FlashProve是Anthropic开源的可验证推理系统,用零知识证明让模型服务商在隐藏权重的情况下,证明某次回答确实由指定模型生成。FlashProve在400B参数的Llama 4 Maverick上实测,单张H100约110 tokens/s,每1024 token证明约19MB,CPU验证约17秒;生成证明所需的 GPU 时间约为普通推理70—95倍,仍属研究原型,只证明来源,不保证内容正确。
FlashProve的主要功能
- 身份验证:在不公开模型权重的情况下,证明某次回答确实由指定模型生成。
- 防模型偷换:防止服务商或第三方路由平台把高价模型替换成更便宜的模型。
- 防输出篡改:在推理服务器被攻击或Token流被中间人修改时,让用户能发现异常。
- 合规与审计:为监管机构、独立评测方和内部安全团队提供可机器检查的推理凭证。
- 来源证明:可用于证明代码审计、商业分析或安全评估确实由某个指定模型完成。
FlashProve的技术原理
- 承诺与验证框架:FlashProve将流程分为离线与在线两段:服务商先对指定模型权重生成密码学承诺,公开模型指纹但不泄露权重;每次请求附上zkSNARK证明,用户仅凭承诺、输入与回答可验证输出确实来自该模型。
- 零知识 succinct 证明:系统采用零知识简洁论证,让验证者在几秒级CPU时间内检查约19MB证明,无需重跑400B模型;证明不泄露权重、中间激活值或专家选择,只确认计算按承诺模型执行。
- MoE 激活感知优化:针对Llama 4 Maverick这类MoE模型,证明成本只随实际激活的约17B参数增长,非全部400B参数,因此把证明吞吐推到单张H100约110 tokens/s。
- 批量事后证明:证明在推理完成后统一生成,将已生成文本作为prefill并行读取,并按批次只打开一次权重承诺,降低重复计算;代价是无法做到逐Token实时内联证明。
- 单GPU流式执行:模型权重按层分段存放在主机内存并流式送入单张80GB H100,逐层生成证明,使超大规模MoE不必完整放入显存能运行。
微信关注回复“开源”,加入AI开源项目交流群
如何使用FlashProve
- 克隆仓库:从 https://github.com/anthropics/FlashProve 下载代码,用普通用户身份在仓库根目录操作。
- 构建验证器:运行
verifier/build.sh编译 C++ 验证器,成功标志是输出 THE VERIFIER IS BUILT 且退出码为 0。 - 验证示例证明:执行
bin/cp_verify加 examples/accepted-proof 下的参数检查自带样例,末行 YES 即验证器工作正常。 - CPU 自检:运行
blocks/first_look.sh做证明库测试,确认诚实证明被接受、伪造证明被拒绝。 - GPU 完整流程:在装有单张空闲 H100 80GB 和 CUDA 13.2 的机器上运行
examples/quickstart-gpu.sh,自动完成提交、证明和验证一个小模型请求。 - 真实模型验证:拿到服务商的承诺 ID、请求、输出和证明后,用
bin/cp_verify CONFIG PUBLIC_KEY REQUEST TOKEN PROOF -id COMMITMENT_ID核验,注意承诺 ID 必须来自可信渠道。 - 判读结果:退出码 0 且末行 YES 表示接受,1 表示拒绝,5 表示未出结论可重试一次,其余为调用或文件错误。
FlashProve的核心优势
- 不泄露权重的可验证性:在模型权重保密的前提下,密码学证明回答确实来自指定模型。
- 防偷换与防篡改:服务商换成便宜模型、路由层暗中替换或攻击者改动输出,验证时都会暴露。
- 验证成本极低:验证者只需普通CPU和约19MB证明,十几秒到几十秒即可完成,无需GPU或重跑模型。
- 规模突破性:首次在400B参数的Llama 4 Maverick上实现约110 tokens/s证明速度,远超以往zkML系统数个数量级。
- MoE 定向优化:证明成本只随每Token实际激活的约17B参数计算。
- 安全性质形式化:完整性、可靠性和零知识三大性质已在Lean 4中机器可检查地证明。
FlashProve的项目地址
- 项目官网:https://www.anthropic.com/research/provable-inference
- GitHub仓库:https://github.com/anthropics/FlashProve
- 技术论文:https://assets.claude.com/8e1d181a83015078581c92d896757041713f0160.pdf
FlashProve的同类竞品对比
| 维度 | FlashProve | VerInf |
|---|---|---|
| 证明对象 | Llama 4 Maverick(400B MoE,4-bit) | 同一模型 Llama 4 Maverick |
| 证明速度 | 单张 H100 约 110 tokens/s | DGX Spark 上 1000 Token 需约 14.3 小时(≈0.02 tok/s) |
| 证明大小 | 约 18.78MB / 1024 Token 请求 | 约 93.6GB |
| 验证时间 | CPU 约 17 秒(24 线程) | 接近一天 |
| 证明方式 | 每份证明检查一个输出 Token | 完整推理证明 |
| 开销 | 约为普通 vLLM 推理的 70–95 倍 GPU 时间 | 高出多个数量级 |
| 形式化保障 | Lean 4 证明完整性、可靠性、零知识 | 未见同等级形式化 |
| 开放性 | Apache 2.0 全量开源,含验证器与文档 | 以论文为主 |
| 定位 | 研究原型,强调工程可用性 | 学术验证,证明可行性 |
FlashProve的应用场景
- 第三方 API 中转与模型路由验证:用户付费指定高性能模型后,可通过证明确认中转商没有暗中换成便宜模型。
- 独立模型评测:评估机构能确认被测服务确实部署了待评模型,避免”评测的是 A、上线的是 B”。
- 推理服务器防篡改:企业可要求服务器对响应附带证明,攻击者或越权模型无法伪造指定权重的输出。
- 监管合规:监管机构可要求服务商定期提交推理证明,核实硬件确实用于已批准模型的推理,而非挪作训练或绕行审批。
- 高价值第三方声明背书:开发者证明代码确实经过前沿安全模型扫描,或企业证明商业方案由指定模型审阅,且对方无需接触模型权重即可核验。