当前位置: 首页 > news >正文

zkML-JOLT——更快的ZK隐私机器学习:Sumcheck +Lookup

1. 引言

ICME团队开源的zkML项目:

  • https://github.com/ICME-Lab/jolt-atlas(Rust)

zkML-JOLT(JOLT ‘Atlas’)构建在a16z Crypto团队的JOLT研究和实现基础上,其性能比其他zkML项目快了3到7倍。

a16z Crypto研究团队最近发布了一项重磅成果,宣布了他们的6倍加速(见2025年8月14日博客Jolt gets a 6× speedup — and we’re just getting started),展示了JOLT基于lookup查找表的方案结合sumcheck协议如何在仅使用CPU的情况下,显著超越其他SNARK构建。其 “Twist and Shout(见2025年论文《Twist and Shout: Faster memory checking arguments via one-hot addressing and increments》)”优化证明了,当你不再试图将一切都算术化,而是开始采用查找和稀疏性时,奇迹就会发生:

  • 减少审计的代码。
  • 更快的证明者。
  • 几乎是“证明者杀手”的证明。

2. 将JOLT用于zkML

如果将JOLT修改为适用于神经网络推理呢?

  • 神经网络本身包含大量的非线性操作、稀疏性和矩阵乘法操作。

当a16z团队忙于革新通用zkVM时,ICME团队则专注于另一个问题:

  • 使零知识机器学习在NovaNet中更具实用性。

事实证明,ML工作负载有一些非常特定的模式,与JOLT的lookup-heavy架构非常契合。在其他方法因ML操作的昂贵域运算而陷入困境时,JOLT的sumcheck+lookup组合能够直接解决该问题。

传统的基于电路的方法,在表示ReLU和SoftMax等非线性函数时,成本极其高昂。相比之下,lookup完全消除了电路表示的需求。Just One Lookup Table (JOLT) 从第一性原理开始设计,仅使用lookup argument。这一基础性的设计选择意味着,任何试图将lookup集成到现有系统中的证明方案,都会在根本上处于劣势。

在zkML JOLT (Atlas)中,消除了困扰其他方法的复杂性:

  • 没有商多项式、没有字节分解、没有grand product、没有permutation check,最重要的是——没有复杂的电路。

对于矩阵-向量乘法(机器学习中的主导成本),zkML-JOLT 利用JOLT的高效批量sumcheck协议,提供卓越的性能。尽管基于GKR的方法可以通过像SpaGKR(见2024年论文Sparsity-Aware Protocol for ZK-friendly ML Models: Shedding Lights on Practical ZKML)这样的稀疏性框架进行改进,但JOLT 'Atlas’通过其以查找为中心的架构和稀疏多项式承诺,天然受益于稀疏性——无需额外的优化层。

另一个有趣的优势是——JOLT从不将其完整的查找表物化,查找表是结构化的,而不是显式存储的。虽然其他zkML项目由于物化的表约束而被锁定在特定的量化方案中,JOLT的方案理论上支持灵活的量化支持,且可以扩展到浮点运算,而不受竞争对手面临的严格预处理限制。这只是一个旁注,因为目前正在考虑的大多数模型都是量化的。

另一个显著的优势——通过“Twist and Shout”,JOLT不再需要将操作分解为更小的子表。这为之前不可能实现的预编译功能打开了大门。现在,只要其evaluation table评估表是MLE结构化的,操作可以作为原语指令(或虚拟序列)添加,而不需要更为严格的“可分解”属性。这大大扩展了可以直接高效集成到JOLT Atlas指令集中的操作范围。

举个小例子,以下是ICME团队进行的端到端测试,对一个多分类模型进行了zkML项目的测试。

# zkML lib benchmarks (multi-class model: preprocessing + proving + verification)zkml-jolt ~0.7s # fastest
mina-zkml ~2.0s # relatively fast
ezkl 4-5s # significantly slower
deep-prove N/A # doesnt support gather op
zk-torch N/A # doesnt support reduceSum op

由此可知:

  • 良好的理论转化为非常好的实践结果。在测试的所有模型中,性能的数量级提升都得到了验证。

3. 完整性与扩展性

目前,zkML-JOLT在CPU架构上运行,但GPU加速代表着下一个10倍性能提升的明确路径。在评估竞争对手“1000倍加速”时,重要的是区分专用硬件的理论峰值性能与实际、可部署的实现。真正的性能比较应该在等效的硬件配置上进行。

此外,ICME团队的研究揭示了zkML生态系统在完整性和正确性方面的显著差距。许多声称支持ONNX的框架缺乏基本的组件,如内存一致性检查——这是证明内存在执行过程中没有被篡改的关键要求。如果没有这些保障措施,这些实现无法合法地声称完全支持ONNX。

JOLT ‘Atlas’ 优先考虑性能和可验证的正确性,确保其速度优势不会以牺牲安全性或完整性为代价。尽管如此,zkML技术仍在持续进展中,请谨慎使用所有zkML!

4. 用例

ICME团队正在将这项工作部署为其基于NIVC的证明者网络(DeSCI for ZK)中的第一个专用证明者,NovaNet。NovaNet的姐妹项目Kinic已经利用这项技术创建了可移植且可验证的AI内存,作为“AI的Plaid”——更多详情可参见https://www.kinic.io/。

可验证AI的更广泛应用是具有变革性的。正如研究员Daniel Kang在2025年5月 zkSummit 13 ZK13: ZKTorch: Efficiently Compiling ML Models to Zero-Knowledge Proof Protocols - Daniel Kang中所概述的,用例涵盖隐私保护的医疗推理、金融服务(包括贷款承保和算法交易),以及本地运行AI代理的验证。每个用例都代表了一个信任和可审计性至关重要的市场,但当前的AI系统通常是黑箱操作。

zkML-JOLT通过提供实际部署所需的性能,同时保持数学上的正确性保证,使这些应用变得在实践中可行。
愿意等待几秒钟,以便在你的个人AI代理转账2万美元USDC之前进行zkML验证吗?ICME团队认为,大多数人会看到可验证机器学习在承担更大责任的代理中的好处。

5. Folding JOLT

大多数zkVM和zkML项目是“简洁可验证的”,但不是“零知识的”——它们不能保留输入/输出、witness或中间计算的隐私。对于实际的、个人之间或公司间的AI代理,正确执行的加密证明必须与隐私保证结合。

ICME团队的架构通过“Folding方案”实现了真正的零知识。可以使用2023年 HyperNova: Recursive arguments for customizable constraint systems论文中的技术来折叠JOLT验证器,从而实现“零知识”隐私。这种方法还允许动态step size调整,使得在多种硬件配置上都能高效证明——无论是大型专用服务器硬件,还是个人计算机。

与其他需要大量内存和专用硬件的zkML框架不同,JOLT通过Folding实现的高效性使得能够为特定的部署场景调整内存与速度的平衡。通过继续folding,还可以用于大规模的zkML工作负载并行化。这种灵活性解锁了以前在zkML领域中不切实际的用例——从消费级设备到资源受限的环境。

6. 展望

a16z Crypto团队将继续推进JOLT核心基础设施的开发,发布包括:

  • streaming流式JOLT
  • 优化的Fiat-Shamir变换
  • 增强sumcheck协议和GPU加速等内容

以提供更多数量级的性能提升。JOLT 'Atlas’将从这一研究工作中受益,并为其做出贡献。

而ICME团队的产品开发推动了基于格的多项式承诺方案(PCS)和folding方案(2025年论文Neo: Lattice-based folding scheme for CCS over small fields and pay-per-bit commitments)的具体研究重点。这些将实现pay-per-bit按位计费结构、更小的域运算、可行的后量子安全性、folding中使用的同态性,以及动态公共参数生成——这些能力对于大规模的分布式zkML部署至关重要。

这一双轨道方法确保了JOLT 'Atlas’保持在前沿技术的同时,解决了来自构建可验证AI用户应用程序时出现的实际部署挑战。

参考资料

[1] ICME团队2025年8月25日博客 Sumcheck good. Lookups good. JOLT good. Particularly for zero-knowledge machine learning

http://www.dtcms.com/a/359903.html

相关文章:

  • 【iOS】MVC架构
  • OpenCL C 内核(Kernel)
  • 在实践中学Java(中)面向对象
  • Elasticsearch vs Solr vs OpenSearch:搜索引擎方案对比与索引设计最佳实践
  • [光学原理与应用-353]:ZEMAX - 设置 - 可视化工具:2D视图、3D视图、实体模型三者的区别,以及如何设置光线的数量
  • 设计模式概述:为什么、是什么与如何应用
  • Ethers.js vs Wagmi 的差异
  • 如何利用AI IDE快速构建一个简易留言板系统
  • Playwright Python 教程:实战篇
  • 外贸服装跟单软件怎么选才高效?
  • C++ 迭代器的深度解析【C++每日一学】
  • 从零到一:使用anisble自动化搭建kubernetes集群
  • Openstack Eproxy 2025.1 安装指南
  • isat将标签转化为labelme格式后,labelme打不开的解决方案
  • IO_hw_8.29
  • TRELLIS:从多张图片生成3D模型
  • 【ACP】2025-最新-疑难题解析- 练习一汇总
  • Go学习1:常量、变量的命名
  • 一个投骰子赌大小的游戏
  • 内核等待队列以及用户态的类似机制
  • Chrome DevTools Performance 是优化前端性能的瑞士军刀
  • CD73.【C++ Dev】map和set练习题1(有效的括号、复杂链表的复制)
  • 嵌入式C学习笔记之编码规范
  • Nginx实现P2P视频通话
  • 现代C++特性 并发编程:线程管理库 <thread>(C++11)
  • 狂神说--Nginx--通俗易懂
  • 【秋招笔试】2025.08.31饿了么秋招笔试题
  • Linux基本工具(yum、vim、gcc、Makefile、git、gdb)
  • 苏宁移动端部分首页制作
  • ing Data JPA 派生方法 数据操作速查表