Anthropic开源FlashProve:单张H100为400B模型生成推理证明,每秒110个token
核心概要
用户调用大模型时,无法确认回复是否来自开发者声称的那个模型,路由服务换用更便宜的模型或攻击者篡改token流都难以从输出本身察觉。Anthropic开源的FlashProve用零知识简洁论证(zkSNARK,一种短证明,验证者无需模型权重即可快速确认某次计算确实执行过)为推理过程出具证明。在4比特量化的Llama 4 Maverick(400B参数混合专家模型)上,单张H100每秒生成约110个token的证明,每1024个token请求的证明约19 MB,证明耗时约为vLLM自身推理GPU时间的70至95倍。
深度剖析
模型服务方现在可以随每条回复附上一份短证明,让没有权重、算力有限的用户确认这些token确实由事先承诺的那一组权重算出。 此前用户只能凭输出质量判断模型身份,第三方路由服务暗中换成便宜模型、或攻击者篡改token流,都无法从回复本身识别。 证明绑定到离线阶段发布的权重承诺,验证者只需承诺、提示词和回复即可检查;若回复偏离所承诺的模型,检查就会失败。
系统把证明拆成离线承诺与在线证明两步,在线阶段对已生成文本做一次并行前向计算,再为每个token出具一份证明。 底层采用零知识简洁论证(zkSNARK),由交互式预言机证明(IOP,一种信息论证明对象)借助哈希函数编译而成,并组合了编码理论中的码接近测试与查找论证等构件。 在Llama 4 Maverick的公开4比特权重上,单张H100加24核CPU的服务器上,24个请求的在线证明约需223秒,即每秒110个token,每份证明18.78 MB;验证在24线程CPU上约17秒。
启示与展望
演示范围是Llama 4 Maverick这一400B参数混合专家模型的4比特整数版本,在单张H100与24核CPU上、每次请求1024个token窗口内完成证明与验证;系统隐藏权重但不隐藏模型架构,且面向事后证明而非与推理同步进行。
证明针对整数模型在贪心解码下的输出,浮点实现或采样解码可能在某个位置偏离而不再与所证计算一致;证明本身不泄露权重,但证明生成耗时等侧信道未纳入范围;快速C++验证器不带形式化保证,仅在与Lean验证器的测试中一致。
