什么是 zkML
注意:本文档是英文原版的自动翻译。
什么是 zkML
**zkML(Zero-Knowledge Machine Learning,零知识机器学习)**是一种使用零知识证明来验证机器学习模型正确运行了其推理的技术——而无需泄露模型权重、输入数据,或两者。它提供一种密码学保证:“这个输出是由这个模型在这个输入上产生的”,且任何人都能在不看到私密信息的情况下验证该证明。
简而言之: zkML 让你在不暴露模型或数据的情况下证明一个 AI 模型正确运行过。它是可验证 AI 的途径之一,为正确推理提供了一种数学(无需信任)保证,也是技术上最具挑战性的途径之一。
给初学者的类比
想象一场密封的考试。一个学生走进房间、参加测试,并把密封的答卷交给监考员。监考员可以通过防篡改的封条验证:该学生使用了被批准的教科书、遵守了所有考试规则回答了每一道题——而无需看到学生的笔记、学习资料或思考过程。监考员知道结果是合法的,但对学生如何备考一无所知。zkML 的运作方式与此相同:它证明 AI “正确地参加了考试”,而无需泄露模型(学习资料)或输入数据(学生的笔记)。
它解决的问题
在去中心化 AI 中,信任是一个核心问题。当推理运行在一个远程节点上时,请求者如何知道确实使用了正确的模型?提供商可能运行一个更便宜的模型、返回一个缓存结果,或干脆跳过计算步骤。在中心化 AI 中,用户凭声誉信任提供商。在去中心化系统中,仅凭声誉是不够的——密码学验证填补了这一空白。
当 AI 输出驱动高风险决策时,这个问题变得尤为重要。如果一个链上协议依赖某个模型的输出来触发一项智能合约动作——比如调整一个风险参数或批准一笔交易——就必须有办法保证该输出是真实的。没有验证,系统的可信度就只取决于它最不诚实的那个节点。
工作原理(简化版)
一条 zkML 流水线遵循以下一般步骤:
- 模型转换。 ML 模型(通常是一个神经网络)被转换为一个算术电路——一种 ZK 证明系统能够处理的数学表示。这一步把矩阵乘法、激活函数和归一化层等运算翻译为电路约束。
- 模型执行。 提供商在输入数据上运行 ML 模型并产出一个输出(例如一个分类、一段生成的文本、一个预测)。
- 证明生成。 在输出之外,提供商生成一个零知识证明——一个紧凑的数学对象,它编码了这样一个主张:“这个输出是由在这个具体输入上运行这个具体模型而产生的。”这是计算上昂贵的步骤:证明者必须证明电路中的每一个运算都被正确执行了。
- 证明验证。 任何人(请求者、智能合约、第三方)都可以验证该证明。与重新运行模型相比,验证既快又便宜。如果证明有效,则输出保证是正确的。
关键性质:验证者除了证明所揭示的内容之外,对模型权重或输入数据一无所知。隐私与可验证性共存。
是什么让证明生成如此昂贵
成本来自把 ML 运算翻译成 ZK 电路。神经网络中每一次乘法或加法都成为一个约束,而证明者必须生成一个同时满足所有约束的密码学见证(witness)。对于一个拥有数百万参数的模型,这意味着数百万个约束。当前的框架使用不同的证明系统(SNARKs、STARKs 和混合方法),它们在证明大小、验证时间和证明者成本之间各有不同的权衡。
它为什么对 DecAIHub 重要
DecAIHub 评估的是加密 AI 项目是否拥有真实、可验证的 AI。zkML 代表了让 AI 主张可被密码学证明的一种途径——一个使用 zkML 的项目能够证明其模型确实运行过,而不仅仅是声称如此。在 DecAI Fit 框架中,基于 zkML 的验证贡献于 Onchain necessity 维度,展示了 AI 管道与区块链之间有意义的连接。实现 zkML 的项目出现在 AI/推理和 AI/计算等类别中。
从 DecAIHub 的验证视角看,zkML 项目呈现出一种独特的证据画像。当一个项目真正实现 zkML 时,会有强有力的 Tier-1 工件可供评估:证明电路、链上的验证合约、证明耗时的基准数据,以及有文档的模型到电路转换流水线。这使得 zkML 主张相对容易验证,与含糊的“AI”主张形成对比——要么 ZK 证明有效,要么无效。
与可验证 AI 的关联
zkML 是可验证推理的若干途径之一。主要的替代方案有:
| 途径 | 工作原理 | 信任模型 | 权衡 |
|---|---|---|---|
| zkML | 证明推理正确运行的密码学证明 | 数学保证(无需信任) | 计算成本最高;数学(无需信任)保证 |
| TEE(可信执行环境) | 推理运行在硬件隔离的飞地中,飞地证明其正确性 | 信任硬件制造商 | 成本较低;取决于硬件安全假设 |
| 共识 / 多提供商 | 多个独立提供商运行相同的推理;结果被比较 | 信任诚实多数 | 冗余计算;对合谋的保证较弱 |
| 乐观验证 | 结果被假定正确,除非在争议期内被质疑 | 信任经济激励 | 成本低;依赖于积极监控和理性行为者 |
zkML 提供一种数学(无需信任)保证——正确性通过密码学被验证,而无需信任硬件、诚实多数或经济激励。然而,它的代价是最高的计算成本。在实践中,许多项目会组合多种途径:对常规操作使用乐观验证,仅在结果被质疑时回退到 zkML 证明。
当前的局限
zkML 是早期阶段的技术,带有显著的实际约束:
- 计算成本。 为模型推理生成一个 ZK 证明,比推理本身昂贵几个数量级。对于大模型,证明生成可能需要数分钟到数小时。这使得除小模型之外的任何实时应用都不切实际。
- 模型大小限制。 当前的 zkML 框架适用于相对较小的模型(数千到数百万的低位参数)。在一个拥有数十亿参数的完整 LLM 上运行 zkML 目前尚不实际。研究正活跃地探索模型量化、证明聚合和递归证明等技术,以把这些极限推得更高。
- 框架成熟度。 zkML 工具链(如 EZKL、Modulus、Giza、用于 ML 的 Risc Zero)正处于活跃开发中。API、文档和开发者体验都在迅速演变,破坏性变更很常见。
- 有限的生产部署。 很少有项目把 zkML 大规模运行在生产中。大多数实现是研究原型或小模型上的演示。
- 准确率权衡。 把浮点 ML 运算转换为定点算术(ZK 电路所需)可能引入微小的数值差异。这些差异对分类任务通常可以忽略,但对精度敏感的应用可能有影响。
这些局限界定了当前的前沿。这项技术正在迅速发展,今天存在的约束可能在几年内显著减少。
zkML 今天的实际状态
尽管存在这些局限,zkML 已经超越了纯理论。当前状态包括:
- 小模型证明已可用。 拥有最多数百万低位参数的模型(图像分类器、小型语言模型)可以被证明。证明生成耗时数秒到数分钟,取决于模型大小。
- 链上验证可用。 检查 ML 推理证明的 ZK 验证合约已被部署到 Ethereum 和其他链上。
- 工具链正在改善。 像 EZKL 这样的框架让开发者能以相对较少的代码把 ONNX 模型转换为 ZK 电路。
- 混合途径正在出现。 一些项目只证明最关键的推理步骤,或异步生成证明以供日后验证。
zkML 不能证明什么
- 即便有一个有效的 ZK 证明,底层模型仍可能很糟、有偏见或不相关。zkML 证明的是模型正确运行了——它并不能证明模型是好的。
- zkML 证明的是计算完整性,而非数据质量。如果输入数据是垃圾,那么输出就是被验证过的垃圾。
- zkML 并不能证明代币是必要的。一个项目可以实现 zkML,而验证的运转并不需要区块链或代币。
- zkML 并不能证明去中心化。单一的中心化提供商也可以为它自己的推理生成 ZK 证明。去中心化来自系统架构,而非来自 zkML 本身。
- zkML 并不能证明模型就是所声称的那个,除非模型承诺(权重的哈希)被锚定到一个可信的参照。没有这种绑定,证明者可以使用任何模型。
请勿混淆
- 推理 — 运行模型的过程。zkML 在推理之上增加了一个验证层;它并不取代推理。
- 泛指的 ZK(零知识证明) — ZK 在加密领域被广泛用于隐私、扩容和身份。zkML 是 ZK 在 ML 推理上的具体应用。
- 作为 AI 组件的推理 — 描述推理如何在 DecAIHub 项目卡片中体现。zkML 是让推理可验证的机制之一。
- 模型加密 — 加密一个模型可以保护它不被读取,但并不能证明它正确运行过。zkML 提供的是正确执行的证明,这是一种根本不同的保证。
- 联邦学习 — 一种在不共享原始数据的情况下跨分布式数据源训练模型的技术。它解决的是一个不同的问题(训练期间的隐私,而非推理期间的验证)。
常见问题
zkML 如何工作?
zkML 把一个机器学习模型转换为一个数学电路,运行模型以产出一个输出,并生成一个密码学证明,表明该电路被正确执行。这个证明很紧凑,可以被任何人——包括一个智能合约——快速验证,而无需重新运行模型或看到模型权重或输入数据。技术挑战在于,每一个 ML 运算都必须被表示为一个电路约束,这使得对较大模型而言证明生成在计算上昂贵。
zkML 今天实用吗?
对于中小型模型(最多数百万低位参数),是的——证明生成可用,链上验证也可运行。对于像现代 LLM 这样拥有数十亿参数的大模型,由于证明生成的巨大计算成本,zkML 目前尚不实用。这项技术正在迅速发展:框架在改善,证明系统在变得更高效,混合途径(只证明关键步骤)正在扩展其实用范围。就 DecAIHub 评估目的而言,一个在小模型上实现 zkML 的项目拥有一个可验证的 AI 组件,即便同样的途径还无法扩展到最大的模型。
一个加密项目为什么会使用 zkML?
主要动机是无需信任的验证。在一个去中心化系统中,不应盲目信任任何单一一方。如果一个 AI 模型的输出会触发链上动作(风险评分、交易批准、奖励分发),用户和协议就需要一个保证,即模型确实按所声称的那样运行了。zkML 提供这一保证,而无需信任算力提供商。次要动机包括隐私(在不暴露专有权重的情况下证明模型运行过)和可组合性(其他智能合约可以在链上验证 AI 输出并在其上构建)。在 DecAI Fit 框架中,基于 zkML 的验证同时强化了 AI reality 和 Onchain necessity 两个维度。
zkML 是验证加密领域 AI 的唯一方法吗?
不是。替代方案包括 TEE(信任硬件)、基于共识的验证(信任诚实多数)和乐观验证(信任经济激励)。每一种都有不同的信任假设、成本和极限。许多项目会组合多种途径。DecAIHub 在项目卡片中记录验证机制,以便读者自行评估其信任模型。
外部参考
- Zero-knowledge proofs — Ethereum.org — 对零知识证明概念及其在区块链中应用的基础性解释。
- An introduction to zkML — Worldcoin Engineering Blog — 关于如何把零知识证明应用于机器学习推理的技术概览。
- EZKL documentation — 用于把 ML 模型转换为 ZK 电路的领先开源框架之一的文档。
No comments to display
No comments to display