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

Foresight · 2023-05-27 11:45

NFT

KYC

SevenX Ventures

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 的技术发展历史


将神经网络转成 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 能力)。


5. 总结


  1. ZKML 是 AI 和区块链的桥梁,它的意义在于能让区块链能感知物理世界、让智能合约能做决策、保护隐私地运行 AI 模型,是一个很有前景的技术。
  2. ZKML 的历史很短,发展很快。目前已经能将一些简单的神经网络模型转化成 ZK 电路,可以做模型的上链或推理证明上链了。语言模型相对困难,目前 Ddkang/zkml 声称可以生成 ZK 版的 GPT2,Bert and Diffusion 模型。相信随着网络量技术、ZK 技术、区块链扩容技术的发展,语言模型的 ZKML 也快会变得可用

免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表Bi123的观点或立场

相关推荐

上一篇:周末荐读:Multichain 生死难料,一览香港监管文件要点

下一篇:初露头角!盘点 a16z CSS 2023 的 26 个入选项目

扫码下载APP添加官方微信
行情机会交流