Foresight Ventures: 火热的 zkML 到底是什么?

zkML 是 AI 和区块链的桥梁,它的意义在于能让区块链能感知物理世界、让智能合约能做决策、保护隐私地运行 AI 模型。

摘要

  • ZKML(Zero knowledge machine learning) 是将零知识证明用于机器学习的技术ZKML 是 AI 和区块链的桥梁。ZKML 可以解决 AI 模型 / 输入的隐私保护问题推理过程可验证的问题,从而使小模型或者推理的 ZKP 能上链。模型 / 推理证明上链的意义在于:
  • 让区块链能感知物理世界。比如:一个运行在区块链上的人脸识别模型就可以为区块链感知人脸,通过链上 AI 模型区块链能理解这个人脸可能是一个女性、大约多大年龄等。
  • 让智能合约能做决策。比如:链上的 WETH 价格预测模型,就可以帮助智能合约做交易决策。
  • 保护隐私地运行 AI 模型。比如:企业花费了大量算力训练了一个模型,希望可以以保护隐私的方式对外提供推理服务,或者用户的输入希望保证隐私。用 ZKML 既能保证模型 / 输入隐私,又可以向使用者证明推理是正确进行的,实现无信任推理
  • ZKML 的应用
  • 链上 AI:将 AI 模型 /AI 推理证明上链,让智能合约能使用 AI 来进行决策。比如链上交易系统,用于链上投资决策。
  • **自我提高的区块链:**让区块链能用上 AI 的能力,根据历史数据不断提高和修正策略。比如基于 AI 的链上声誉系统。
  • AIGC 上链:AIGC 生成的内容 / 艺术品,上链 Mint 成 NFT,ZK 可以证明过程的正确性,数据集中没有使用受版权保护的图像等。
  • 钱包的生物认证(KYC):人脸识别的证明上链,钱包完成 KYC。
  • AI 安全:用 AI 做欺诈检测,女巫攻击预防等。
  • 链上 ZKML 游戏:链上人工智能象棋棋手、神经网络驱动的 NFT 角色等。
  • ZKML 技术上
  • 目标:将神经网络转化成 ZK 电路,难点:1. ZK 电路不支持浮点数、2.规模太大的神经网络难以转换。
  • 当前进展:
  • 最早的 ZKML 库是 2 年前,整个技术的发展历史很短。目前,最新的 ZKML 库支持一些简单的神经网络 ZK 化,并应用在区块链上。据称能将基础的线性回归模型上链,其它各类小一点的神经网络模型,都能支持证明上链。但看到的 Demo 很少,只看到一个手写数字识别的。
  • 有的工具据称能支持 100M 的参数,还有的声称可以将 GPT2 转成 ZK 电路,生成 ZK 证明。
  • 发展方向:
  • Network Quantization(网络量化),将神经网络中的浮点数转为定点数,并轻量化神经网络(ZK 友好)。
  • 尝试将大规模参数的神经网络转成 ZK 电路,并提高证明效率(扩大 ZK 能力)。
  • 总结:
  • ZKML 是 AI 和区块链的桥梁,它的意义在于能让区块链能感知物理世界、让智能合约能做决策、保护隐私地运行 AI 模型**,**是一个很有前景的技术。
  • 这个技术的历史很短却发展很快,目前已经能将一些简单的神经网络模型转化成 ZK 电路,可以做模型的上链或推理证明上链了。但语言相对困难,目前 Ddkang/zkml 声称可以生成 ZK 版的 GPT2,Bert and Diffusion 自然语言处理模型,但不清楚实际效果,能跑但可能无法上链。相信随着网络量技术、ZK 技术、区块链扩容技术的发展,语言模型的 ZKML 也快会变得可用

1. 背景

(如果您对 ZK、ML 有所了解,您可以跳过这一章)。

  • **零知识证明(ZK):**零知识证明指的是证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。ZK 主要用来证明计算过程是正确执行的和保护隐私。
  • 证明计算过程的正确性:以为 ZK-rollup 举例,ZK-rollup 的运作简单来说是将多笔交易打包在一起,发布到 L1 上,同时发布一个证明(用零知识证明技术)来声称这些交易有效,一旦在 L1 上验证确实有效,那么 zk-rollup 的状态就会更新。
  • 隐私保护:以 Aztec 协议举例,Aztec 的 zk.money 上的资产是票据形式存在的,类似比特币的 UTXO,票据的金额是加密的,当用户需要转账时,需要销毁票据并创建新的票据给收款方以及自己(找零)。零知识证明用于保护隐私地证明销毁和新建的票据金额相同,且用户拥有票据的支配权。
  • **机器学习:**机器学习是人工智能的一个分支。机器学习理论主要是设计和分析一些让计算机可以自动「学习」的算法。机器学习算法一类从资料中自动分析获得规律,并利用规律对未知资料进行预测。机器学习已广泛应用于计算机视觉、自然语言处理、生物特征辨识、搜寻引擎、医学诊断、检测信用卡诈骗、证券市场分析、DNA 序列定序、语音和手写辨识、游戏和机器人等领域。

2. ZKML 解决什么问题?

ZKML 是近两年在密码学界引起轰动的一个研究和开发领域。将零知识证明用于机器学习**,这个技术主要目标是用零知识证明解决机器学习的隐私保护及可验证问题**。从而使小模型或者推理的 ZKP 能上链,成为 AI 和区块链的桥梁:

  • 模型上链:可以将 ML 模型转成 ZK 电路,将小的 ZKML 模型存储到区块链的智能合约内。用户可以通过调用智能合约方法来使用模型。比如,Modulus Labs 的 RockyBot 就做了一个链上的 AI 模型,预测 WETH 的价格,用于交易决策。
  • 模型的推理证明等上链:将 ML 模型转成 ZK 电路,在链下进行推理,并生成 ZK 证明。ZK 证明可以证明推理过程是正确执行的。推理结果和 ZK proof 提交到链上,供调用者参考和智能合约验证 proof。

模型 / 推理证明上链有什么意义?

  • 让区块链能感知物理世界。比如:一个运行在区块链上的人脸识别模型就可以为区块链感知人脸,通过链上 AI 模型区块链能理解这个人脸可能是一个女性、大约多大年龄等。
  • 让智能合约能做决策。比如:链上的 WETH 价格预测模型,就可以帮助智能合约做交易决策。
  • 保护隐私地运行 AI 模型。比如:企业花费了大量算力训练了一个模型,希望可以以保护隐私的方式对外提供推理服务,或者用户的输入希望保证隐私。用 ZKML 既能保证模型 / 输入隐私,又可以向使用者证明推理是正确进行的,实现无信任推理

零知识证明证明在 ZKML 中的作用

1.隐私保护:保护 ML 模型或预测过程中输入数据的隐私。

  • **数据隐私(Public Model + Private Data):**我有一些敏感数据,比如,医疗数据,人脸图像等。我可以使用 ZKML 对输入数据进行隐私保护,在这些数据上运行公开的神经网络模型,得到结果。比如人脸识别模型,
  • 模型隐私(Private Model + Public Data):举例,我耗费大量成本训练出来的模型,我不想暴露我的模型,因此要对模型进行隐私保护。我可以用 ZKML,运行一个保护隐私的私有的神经网络模型,这个模型可以对公共输入进行推理得到输出。

2.可验证性:用 ZKP 来证明 ML 推理过程的正确执行,使得机器学习的过程具备可验证性。

  • 假如,模型的执行不在我的服务器上,但我需要保证推测是正确执行的。我可以用 ZKML 对某个输入和模型进行一次推理,它产生了输出,ZKP 能证明这个过程是正确执行的,即便运行过程并不在我的电脑上,我也通过验证 ZKP 来知道推理是否是正确执行的,从而相信这个结果。

3. ZKML 的用例

  • 计算完整性
  • **链上 AI(On-chain AI):**将 AI 模型部署在区块链上,使得智能合约能通过 AI 模型具备决策能力。
  • Modulus Labs:RockyBot On-chain verifiable ML trading bot(区块链上可验证的机器学习交易机器人)
  • 自我提高的区块链:让区块链能用上 AI 的能力,根据历史数据不断提高和修正策略。
  • 通过人工智能增强 Lyra finance 的 AMM。
  • 为 Astraly 创建基于 AI 的声誉系统。
  • 为 Aztec 协议创建智能合约级别的基于 AI 的合规功能
  • Modulus Labs:Blockchains that self-improve (link):
  • AIGC 上链:AIGC 生成的内容 / 艺术品,上链 Mint 成 NFT,ZK 可以证明过程的正确性,数据集中没有使用受版权保护的图像等。
  • ML as a Service(MLaaS) transparency (link)
  • AI 安全:用 AI 做欺诈检测,女巫攻击预防等。根据智能合约数据训练 AI 异常检测模型,指标异常则暂停合约,用 ZK 做异常检测证明上链。
  • 链上 ZKML 游戏:链上人工智能象棋棋手、神经网络驱动的 NFT 角色等。
  • 可验证的 AI 模型基准测试:用 ZK 来提供模型的基准测试证明,对于模型的性能和效果的测试结果提供可验证性。
  • 模型训练的正确性证明:由于模型训练是很耗费资源的,用 ZK 来做模型训练的正确性证明目前并不可用,但很多人认为技术是可行的,并且试图希望使用 ZK 来证明模型使用了某个数据 / 没使用某个数据,以解决 AIGC 的版权问题。
  • 隐私保护
  • 钱包的生物认证 / 数字身份
  • WordCoin 正通过生物识别设备 Orb 扫描虹膜,为用户提供唯一可验证的数字身份。WorldCoin 正在研究 zkml, 计划用来升级 World ID. 升级后,用户将能够在其移动设备的加密存储中自主保管其签名生物特征,下载虹膜代码生成的 ML 模型,并在本地创建零知识证明,证明其虹膜代码确实是使用正确的模型从签名图像生成的。
  • 基于区块链的机器学习赏金平台
  • 公司发布悬赏,并提供公开数据和私有数据。公开数据用来训练模型,私有数据用来预测。一些 AI 服务方将模型训练出来,并转成 ZK 电路。加密模型并提交到合约里验证。针对私有数据,进行预测,得到结果,并生成 ZK 证明,ZK 证明提交到合约进行验证。AI 服务方完成一系列操作后获得赏金。zkML: Demo for circomlib-ml on Goerli testnet
  • 隐私保护的推理:比如,将私人患者数据用于医学诊断,然后将敏感推断结果(如癌症检测结果)发送给患者。(vCNN paper, page 2/16)

4. ZKML 的版图

由 SevenX Ventures 整理的 ZKML 版图来看。

  • 硬件加速:多家机构正积极研发 ZKP 的硬件加速,这也利于 ZKML 的发展。一般通过 FPGA、GPU 以及 ASIC 芯片来加速 ZKP 的生成。比如:Accseal 正在为研发 ZKP 硬件加速的 ASIC 芯片、Ingonyama 在建立一个 ZK 加速库 ICIClE,是为支持 CUDA 的 GPU 设计的。Supranational 专注于 GPU 加速,Cysic 和 Ulvetanna 专注于 FPGA 加速。
  • 输入:要使用链上数据输入,Axiom, Herodotus, Hyper Oracle, Lagrange 将改善用户对区块链数据的访问并提供更复杂的链上数据视图。然后可以从导入的历史数据中提取 ML 输入数据
  • 推理:ModulusLabs 正在开发专门用于 ZKML 的新 zkSNARK 系统。这部分可以和 ZKML 工具集部分合并,主要是在做模型的 ZK 化,以及 ZK 化过程中需要的工具集。Giza 是一个基于 StarkNet 的机器学习平台*,专注于完全链上模型*部署扩展。
  • 计算:专注于构建去中心化计算网络,用于训练每个人都可以访问的 AI 模型。它们允许人们以更低的成本使用边缘计算资源来训练 AI 模型。
  • 去中心化训练 / 算力:专注于构建去中心化计算网络,用于训练每个人都可以访问的 AI 模型。它们允许人们以更低的成本使用边缘计算资源来训练 AI 模型。
  • ZKML 工具集:参见第五章技术发展历史。图中的 ZAMA 主要用全同态加密(FHE)做机器学习的隐私保护,FHEML 与 ZKML 相比,只做隐私不做无信任验证。
  • 用例:Worldcoin, 用 ZKML 来做数字身份的身份认证。用户设备中加密保管自己的签名的生物特征,ZK 化虹膜识别的机器学习模型,在做身份识别的时候运行模型,验证生物特征是否匹配。用 ZKP 证明运行过程的正确性。Modulars Labs 做链上 AI 交易机器人。Cathie 的 EIP7007,zkML AIGC-NFT 标准。链上人工智能象棋棋手、神经网络驱动的 NFT 角色等。

5. ZKML 的技术发展历史

将神经网络转成 ZK 电路的主要挑战在于:

  1. 电路需要定点数的运算,但神经网络中大量使用到了浮点数。
  2. 模型大小的问题,大模型的转化难度大且电路大。

ZKML 库的发展历程如下:

1.2021 年,zk-ml/linear-regression-demo,Peiyuan Liao

  • 实现了线性回归电路,线性回归是一种非常基础的预测算法,它假设输出变量与输入变量之间的线性关系,适合预测数值型变量和研究两个或多个变量之间的关系的场景。比如:根据房屋面积和其他特征来预测房屋价格,或根据历史销售数据来预测未来销售量等等。

2.2022 年, 0xZKML/zk-mnist, 0xZKML

  • 基于 MNIST 数据集做了一个神经网络的 ZK 电路,可以识别手写的数字。比如:手写一个数字 2,手写体被识别成了 2,并生成了推理过程证明**。**该证明可以上链,并可以用 ethers + snarkjs 可以验证链上证明。
  • 实际上,zk-mnist 库目前只是把最后一层转成了电路,没有把完整的神经网络转成电路。

3.2022 年,socathie/zkML,Cathie

  • 相比 zk-mnist,ZKML 将完整的神经网络转成了电路。Cathie 的 zkMachineLearning 提供了多个 ZKML 的工具包 cirocmlib-ml、keras2circom 帮助 ML 的工程师将模型转成电路。

4.2022 年 11 月, zk-ml/uchikoma,Peiyuan Liao

  • 将神经网络中的浮点运算转移成定点运算。创建并开源了一个通用工具和框架,可将几乎所有机器学习算法转换为易于与区块链集成的零知识证明电路。
  • 视觉模型 -> AIGC
  • 语言模型 -> 聊天机器人,写作助手
  • 线性模型和决策树 -> 欺诈检测,女巫攻击预防
  • 多模态模型 -> 推荐系统
  • 训练了一个区块链友好的内容生成机器学习模型(AIGC),并转成了 ZK 电路。使用它可以生成艺术品,并生成简洁的 ZK 证明,最后将艺术品 Mint 成 NFT

5.2022 年 7 月,2023 年 3 月更新,zkonduit/ezkl

  • ezkl是一个库和命令行工具,用于在 zk-snark (ZKML) 中对深度学习模型和其他计算图进行推理。用 Halo2 作为证明系统。
  • 可以定义计算图,如神经网络,然后用 ezkl 生成 ZK-SNARK 电路。针对推理生成的 ZKP 可以用智能合约验证。
  • 说是能支持 100M 参数的模型,但可能很耗资源。

6.2023 年 5 月,Ddkang/zkml (Link)

  • zkml 声称可以用 ZK 化 GPT2,Bert and Diffusion 模型。但可能要用的很大的内存,是否能将证明存入智能合约还不清楚。
  • zkml 可以验证模型的执行在 ImageNet 上达到92.4% 的准确率,还可以在四秒内以 99% 的准确率证明一个 MNIST 模型。

7.2023 年 5 月, zkp-gravity/0g

  • 轻量化神经网络,支持私有数据 + 公共模型。

总的来说,我们能看到 ZKML 技术目前的探索方向:

  1. Network Quantization(网络量化),将神经网络中的浮点数转为定点数,并轻量化神经网络(ZK 友好)。
  2. 尝试将大规模参数的神经网络转成 ZK 电路,并提高证明效率(扩大 ZK 能力)。

6. 总结

  1. ZKML 是 AI 和区块链的桥梁,它的意义在于能让区块链能感知物理世界、让智能合约能做决策、保护隐私地运行 AI 模型,是一个很有前景的技术。
  2. ZKML 的历史很短,发展很快。目前已经能将一些简单的神经网络模型转化成 ZK 电路,可以做模型的上链或推理证明上链了。语言模型相对困难,目前 Ddkang/zkml 声称可以生成 ZK 版的 GPT2,Bert and Diffusion 模型。相信随着网络量技术、ZK 技术、区块链扩容技术的发展,语言模型的 ZKML 也快会变得可用
查看原文
本页面内容仅供参考,非招揽或要约,也不提供投资、税务或法律咨询。详见声明了解更多风险披露。
  • 赞赏
  • 评论
  • 分享
评论
0/400
暂无评论
交易,随时随地
qrCode
扫码下载 Gate.io APP
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • ไทย
  • Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)