Ligetron:Nim Network开发的针对AI的zkVM

1. 引言

Nim Network近期推出了其 Nim AI 框架的初始组件,该框架提供经济所有权和verified AI 模型访问权限。由于计算成本高昂,在区块链上实施 AI 计算具有挑战性。许多人选择链下计算,这更容易实现,但需要不同的信任假设。

用于 AI 推理的 zkML 或 ZK 提供了一种解决方案,使用零知识证明 (ZKP) 来保护机密数据和模型参数。这非常重要,有助于保护 独立开源 AI 的盈利能力。然而,由于成本高昂和硬件要求高,zkML 不适用于大规模 AI 应用。

Ligetron 为 AI 验证提供最高效的 ZK 解决方案,优先考虑成本效益。Nim Network团队预测 ZK 将成为影响每个 集成 AI verification 密码学系统成本和开销的主要因素。

在短短 3 周的时间内,Nim Network为最受欢迎的开源模型之一 Llama 2 7b 模型创建了世界上第一个证明。与 Modulus 之前的最佳尝试相比,Ligetron 1.0 实现了 1024 倍的内存改进和 66 倍的速度性能改进。复杂 AI 计算的 Ligero 基准测试的开销为 20,000 倍。粗布估计中期优化可将其降至 20 倍。

ZK 领域提供了两种途径:

  • 1)用于通用语言的 zkVM
  • 2)用于繁重计算负载的 zkML

整合两者的优势似乎是不可能的——直到现在。Ligetron 提供了一种通用的 zkVM,其:

  • 可运行复杂的 AI 模型,
  • 且在速度上 与 更资源密集型的 zkVM 具有竞争力。
  • 无需任何组合,即可实现zero-knowledge属性。即默认就是ZK-proof,而不是validity proof。
  • 为transparent的,仅依赖于哈希函数,是post-quantum secure的。
  • Ligetron proof length与STARK proof相比有竞争力。【见Justin Thaler整理的:Comparison of FRI vs. Ligero proof sizes,其认为,当degree小于 2 20 2^{20} 220时,Ligero proofs长度,要小于,FRI proofs长度。】

相关开源代码实现见:

2. Ligetron 1.0功能

Ligetron 1.0 提供了独特的功能:

  • 具有内存高效的 ZK 系统,使 Ligero 能够利用先进的prover硬件,并在低成本的商用硬件上高效运行。由于其内存效率,Ligetron 允许开发人员使用 C、C++ 或 Rust 等高级语言编写ZK应用程序,甚至可从浏览器中编写。可在https://ligetron.com/中试用。
  • 在 AI 推理等重负载下表现尤为强大,能够以低成本提供高性能。
  • 其通用设计使得运行不同 AI 模型的集成成本较低,这是 ZK 系统跟上新 AI 创新步伐的先决条件。

Ligetron 1.0 是一个基于 Ligero Proofs(Scott Ames、Carmit Hazay、Yuval Ishai 和 Muthuramakrishnan Venkitasubramaniam 2017年论文Ligero: Lightweight Sublinear Arguments Without a Trusted Setup 和 2022年论文 Ligero: Lightweight Sublinear Arguments Without a Trusted Setup)的内存高效型 ZK 系统。Ligetron 1.0 ZKSNARK 由 Ligero 的合著者创建,遵循 Ligero 生成 ZKSNARK 的蓝图。其主要特点是:

  • 内存高效型设计,可从 WASM 程序即时生成约束(linear and quadratic)。

Ligetron 是第一个也是唯一一个hash-based的 ZKSNARK,其保留了内存效率,并基于在 ACM CCS 2017 上首次提出的 Ligero ZKSNARK 证明系统(2017年论文Ligero: Lightweight Sublinear Arguments Without a Trusted Setup)的优势。该系统是 2007 年由 Ishai、Kushilevitz、Ostrovsky 和 ​​Sahai 开创的 MPC-in-the-head 范式的现代实现。

Ligetron 的多功能工具链可将高级语言交叉编译为 WASM,使任何兼容 WASI 的语言都能与 Ligetron 配合使用。关键在于:

  • 使用内置witness-sharding(即无需递归组合的分片)实现内存效率。Ligetron 的内存是底层 WASM 程序所需内存的常数倍。

由于 Ligero 具有内存高效的设计,其允许开发人员直接从浏览器使用 C、C++ 或 Rust 等高级语言编写零知识应用程序,请访问ligetron.com进行测试。

3. ZK领域缺乏 大规模 AI 验证 解决方案

若 STARK 系统在 2023 年垄断了全球 AWS EC2 的所有计算使用量,其容量仍将低于每秒 10 次推理

要了解大规模部署当前最先进的密码学证明系统以推理 LLM 等复杂 AI 模型所面临的挑战,一个很好的起点是考虑 Stark 等框架的资源吸引力,以及一些领先云提供商的全球计算负载。具体来说,AWS EC2 在 2023 年第四季度的市场份额为 31%,可作为当前全球云运营规模的代表。根据该公司公布的收入和定价信息,以及按垂直领域(计算、存储、网络等)细分,2023 年的平均负载似乎在 1.22 亿个 vCPU 的范围内。

分析 Stark 框架的当前基准,该系统似乎需要 1280 万个 vCPU 才能维持每秒 1 次推理的吞吐量。若 Stark在 2023 年垄断全球 AWS EC2 的所有计算使用量,其容量仍将低于每秒 10 次推理,远低于随着全球采用率的提高,AI 和 LLM 推理预计增长的规模。其还需要高达 476 PB 的内存,几乎是目前最大的超级计算机 Fugaku 的 15 倍,而 Fugaku 的内存为 32 PB。

4. Ligetron vs. STARK

即使当前未优化,Ligetron 在相同速度下也便宜 300 倍。

Starks 是生产中最具竞争力的ZK Provers,用于通过rollups扩展以太坊。Starks通过使用大约 200 个 CPU 和大约 0.5 TB 的 RAM 展示了 1,000-2,000 TPS。其通过continuations和递归组合实现这一目标。预估在 15-30 分钟内可打包 100-200 万笔交易,可想而知,单个 stark 证明中证明的计算大小相当于 Ligetron基准测试中 Llama 7B 模型的单个推理。但是,生成这种证明所需的昂贵硬件将使证明这一推理的成本达到 300 美元。
Ligetron目前的基准测试是在 r7i.4xlarge 上运行的,14 小时的成本不到 15 美元。在独立基准测试中,当在单个 g5.xlarge 上运行时,Ligetron 为rollup电路实现了约 500 TPS 的吞吐量。rollup电路是一种结构化计算,而Ligetron的基准测试假设该计算是一种非结构化的 WASM 计算。

保守估计,从非结构化转换为结构化时,最多需要 4 个 g5.xlarge 实例才能在不到 15 分钟的时间内完成单个推理的证明,而且成本不会超过一美元。
在这里插入图片描述

5. Ligetron的基准测试方法

Ligetron 1.0 使用基线版本取得了模型验证的最佳基准,该版本仅需三周的准备时间,无需特殊小工具或定制电路。只需将 Llama2.c 编译成 WASM 并在商用硬件上运行,使用 r7i.4xlarge(8 核),峰值内存使用量为 10GB。

Ligetron 1.0 的基准测试使用llama2.c(纯 C 编写的 Llama-2 推理引擎)使用量化的 Llama2 模型生成一个 token。执行的 WASM 代码有 4.4 亿条浮点 (fp32) 指令和 30 亿条整数 (int32/int64) 指令。编译后,它在 100 位ring(两个 50 位素数的乘积)上生成了 1280 亿个线性约束和 800 亿个二次约束。运行Prover大约需要 14 小时(50,000 秒),运行验证大约需要 6.5 小时(22,000 秒)。prover的proof长度和峰值内存约为 10 GB。

主要调整了 C 代码,将部分 64 位浮点运算转换为 32 位浮点运算,并修改了 WASM 以绕过 4GB 内存限制来运行量化的 Llama 7b 模型。

6. Ligetron vs. Modulus Labs vs. EZKL 在AI方向性能对比

Ligetron在 r7i.4xlarge(8 核)上运行了 Llama 7B 模型,峰值内存使用量为 10GB,耗时 14 小时。相比之下,Modulus Labs 在 128 核、1TB RAM(10TB 磁盘)配置上运行 GPT-XL 1.5B 模型耗时超过 200 小时。因此,Ligetron在 4.6 倍大的模型上实现了 14 倍的加速,使用的core数量减少了 4 倍,内存/文件占用空间减少了 100 倍。【其中Modulus的数据源见:Modulus Labs团队2024年3月15日博客 Chapter 14: The World’s 1st On-Chain LLM
在这里插入图片描述

一个值得注意的例子是 EZKL 尝试使用EZKL(https://github.com/zkonduit/ezkl)将nanoGPT(https://github.com/karpathy/nanoGPT)整合到 Halo2-KZG 电路中。详情见:

使用配备 256 GB RAM 的 AMD EPYC 7451 24 核处理器,运行具有 100 万个参数的模型大约需要 2000 秒。另一方面,Ligero 运行大 7000 倍的模型大约需要 50,000 秒。这表明,尽管Ligetron硬件要求较低,但Ligetron 比 EZKL 的性能提高了 280 倍。
在这里插入图片描述

7. 展望:提升千倍

目前,Ligetron 的开销高达 20,000 倍,预计可实现 1,000 倍的提升,从而将 AI 计算的开销提高 20 倍。这将高于Modulus Labs最近宣称的GKR prover的 180 倍开销(见2024年2月27日twitter https://x.com/ModulusLabs/status/1762177619548901685),同时为不同类型的 AI 模型提供集成成本低的通用解决方案。

在接下来的几个月里,Nim Network团队计划对 Ligetron 进行广泛的优化,以进行 AI 验证。Nim Network的路线图预计 Ligetron 的功能将显著提高 1,000 倍。其中包括:

8. 将 Ligero Proofs 引入区块链

值得注意的是,Ligero 证明目前无法在链上验证。要将 Ligero 证明带到链上,需要进行一些扩展:

  • 首先,需要切换到 Ligero 的预处理变体。
  • 其次,Ligero 证明需要进行优化,以便与 Groth16/Sonic 等完全简洁的 SNARK 组合。估计表明,这种组合可能会使总时间增加一倍。

Ligero proof长度按计算规模的平方根缩放,而 STARK 按polylogarithmically缩放,然而,在实践中,对于中等规模的计算,Ligero 证明长度小于 STARK,而对于大型计算仍然具有竞争力(请参阅17 misconceptions about SNARKs (and why they hold us back)),因为Ligero将使用常规 SNARK 组成,所以验证电路大小将比证明长度更重要,而Nim Network团队计划进一步优化验证电路大小。

9. Ligetron vs. 其它zkVM

ZK 领域的两条主要发展路径为:

  • zkVM:专注于通用语言
  • zkML:针对大量计算负载进行优化。

整合两者的优势似乎是不可能的——直到 Ligetron 出现。借助这项新的 zkWASM 技术,Ligetron 可以轻松处理大量 AI 计算,有望开启效率和速度的新时代。

运行Ligetron的基准测试不需要任何专门的电路或小工具。Ligero 可以证明任何 WASM 程序(具有无意识的控制流)。基准测试需要结合浮点运算(通过简单的实现),开发大约需要 3 周的时间。Nim Network团队将 Llama2.c 程序编译为 WASM 并对 Ligero 的性能进行了基准测试。下表显示,Ligetron 1.0 作为 zkVM 具有竞争力,同时在商用硬件上处理非常大的程序。
在这里插入图片描述

Nim 的下一步计划是迅速转向利用验证 AI 计算能力的实际用例和应用程序。这将有助于创建一个连接模型创建者、应用程序、所有者和用户的动态网络。Nim Network团队将专注于增强 Ligetron 系统的功能和效率,并进一步探索其在游戏和消费者应用中的潜在应用。

参考资料

[1] NIM Network 2024年4月24日博客 Introducing Ligetron 1.0: Paving the Way for AI Verification and Ownership at Scale

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值