查看原文
其他

Aleo的AI野心?——a16z: “制衡: 机器学习和零知识证明”

编译:AleoAsia AleoAsia 2023-05-17

原文标题:Checks and balances: Machine learning and zero-knowledge proofs

撰文: Elena Burger, 05/04/2023

编译:AleoAsia (转载请注明出处!)

原文链接: t.ly/m1IyD

加入AleoAsia社群VX交流群,能更快获取信息哦!(文末有链接)

Aleo × AI 文章可参考Aleo的AI野心?—通过zkML(零知识机器学习)开创隐私机器学习的时代

正 文

在过去的几年里,区块链上的零知识证明对两个关键目的很有用:

(1) 通过处理链下交易并在主网上验证结果来扩展计算受限的网络;

(2) 通过启用屏蔽交易来保护用户隐私,只有拥有解密密钥的人才能查看。在区块链的背景下,很明显为什么这些属性是可取的:像以太坊这样的去中心化网络不能增加吞吐量或块大小而不需要对验证器处理能力、带宽和延迟的不合理要求(因此需要有效性汇总), 所有交易对任何人都是可见的(因此需要链上隐私解决方案)。

但是零知识证明对于第三类功能也很有用:有效地验证任何类型的计算(不仅仅是 EVM 的链下实例中的计算)是否正确运行。这的影响远远超出了区块链。

利用零知识证明的能力来简洁地验证计算的系统的进步现在使用户有可能要求区块链从现有的每个数字产品(最重要的是来自机器学习模型)确保相同程度的去信任和可验证性。对区块链计算的高需求激励了零知识证明研究,创建了内存占用更小、证明和验证时间更快的现代证明系统——现在可以在链上验证某些小型机器学习算法。

到目前为止,我们可能都已经体验过与极其强大的机器学习产品进行交互的潜力。几天前,我使用 GPT-4 帮助我创建了一个在国际象棋中始终击败我的 AI。感觉就像一个诗意的缩影 过去几十年机器学习的所有进步:IBM 的开发人员花了 12 年时间才开发出 Deep Blue (t.ly/V_V9),这是一个运行在 32 节点 IBM RS/6000 SP 计算机上的模型,能够评估近 每秒 2 亿步国际象棋棋步,在 1997 年击败了国际象棋冠军加里卡斯帕罗夫。相比之下,我花了几个小时——我只用了最少的代码——就创建了一个可以战胜我的程序。

不可否认,我怀疑我创造的人工智能能否在国际象棋中击败加里卡斯帕罗夫,但这不是重点。重点是任何玩 GPT-4 的人都可能有过获得超能力的类似经历:不费吹灰之力,你 可以创造出接近或超过你自己能力的东西。我们都是 IBM 的研究人员;我们都是 Garry Kasparov。

显然,考虑到这一点令人兴奋,也有点令人望而生畏。对于任何在加密行业工作的人来说,自然的冲动(在惊叹机器学习的能力之后)是考虑潜在的中心化向量,以及这些向量可以去中心化到人们可以透明地审计和拥有的网络中的方式。目前的模型是通过吸收大量公开可用的文本和数据而制作的,但目前只有少数人控制和拥有这些模型。更具体地说,问题不是“AI 是否会具有巨大的价值”,而是“我们如何构建这些系统,使任何与它们交互的人都能从中获得经济利益,如果他们愿意, 确保以尊重他们隐私权的方式使用他们的数据。”

最近,有人呼吁暂停或减缓 Chat-GPT 等主要人工智能项目的进展。停止进步可能不是这里的解决方案:最好推动开源模型,并且在模型提供者希望其权重或数据保密的情况下,通过保护隐私的零知识证明来保护它们 链上且完全可审计。今天,后一种围绕私有模型权重和数据的用例在链上尚不可行,但零知识证明系统的进步将在未来使其成为可能。

可验证和拥有的机器学习

像我使用 Chat-GPT 构建的国际象棋 AI 在这一点上感觉相对良性:一个输出相当统一的程序,它不使用侵犯有价值的知识产权或侵犯隐私的数据。但是当我们想要保证时会发生什么 我们被告知在 API 后面运行的模型确实是运行的模型?或者如果我想将经过验证的数据提取到链上模型中,并确保数据确实来自合法方?如果我想确保提交数据的“人”实际上是人,而不是试图对我的网络进行女巫攻击的机器人怎么办?零知识证明具有简洁地表示和验证任意程序的能力,是实现这一目标的一种方式。

重要的是要注意,今天,链上机器学习环境中零知识证明的主要用例是验证正确的计算。换句话说,零知识证明,更具体地说是 SNARK(Succinct Non -Interactive Arguments of Knowledge),因其在 ML 上下文中的简洁性属性而最有用。这是因为零知识证明保护了证明者(及其处理的数据)的隐私免受窥探验证者的侵害。隐私增强技术,如 全同态加密 (FHE)、函数式加密或可信执行环境 (TEE) 更适用于让不受信任的证明者对私有输入数据运行计算(更深入地探索那些超出本文范围的内容)。

让我们退后一步,从高层次上理解您可以用零知识表示的机器学习应用程序的种类。(要更深入地了解 ZK,请参阅我们关于零知识证明算法和硬件改进的文章 , Justin Thaler"s work on SNARK performance here and here, or our zero-knowledge canon.)零知识证明通常将程序表示为算术电路:使用这些电路,证明者从公共和私人输入生成证明,而验证者 数学计算该语句的输出是正确的——没有获得任何关于私有输入的信息。

我们仍处于使用链上零知识证明进行验证的计算实用性的早期阶段,但算法的改进正在扩大可行的范围。以下是零知识证明可以应用于机器的五种方法 学习。

1. 模型真实性:

您希望确保某些实体声称已经运行的机器学习模型确实是运行过的模型。示例包括可以在 API 后面访问模型的情况,并且特定模型的供应商有多个版本——比如,一个更便宜、不太准确的版本,以及一个更昂贵、更高性能的版本。如果没有证据,您就无法知道供应商是否为您提供更便宜的型号,而您实际上已经为更昂贵的型号付费(例如,供应商想要节省服务器成本并提高他们的利润率)。

为此,您需要为模型的每个实例化提供单独的证明。实现此目的的一种实用方法是通过 Dan Boneh、Wilson Nguyen 和 Alex Ozdemir 的功能承诺框架,这是一种基于 SNARK 的零知识承诺方案 这允许模型所有者提交模型,用户可以将他们的数据输入该模型并接收提交模型已运行的验证。一些构建在 Risc Zero(一种基于 STARK 的通用虚拟机)之上的应用程序也支持这一点。由 Daniel Kang、Tatsunori Hashimoto、Ion Stoica 和 Yi Sun 进行的其他研究表明,可以在 ImageNet 数据集上验证有效推理,准确率为 92%(与性能最高的非 ZK 验证 ImageNet 相当 楷模)。

但是仅仅收到提交的模型已经运行的证据是不够的。模型可能无法准确地表示给定的程序,因此人们希望提交的模型由第三方审核。功能承诺允许证明者确定它使用了承诺模型,但它们不保证已承诺模型的任何内容。如果我们可以使零知识证明的性能足以证明训练(请参见下面的示例 #4) ,我们有一天也可以开始获得这些保证。

2. 模型完整性:

您希望确保相同的机器学习算法以相同的方式在不同用户的数据上运行。这在您不希望应用任意偏差的领域很有用,例如信用评分决策和贷款申请。您也可以为此使用功能承诺。为此,您将提交模型及其参数,并允许人们提交数据。输出将验证模型是否使用每个用户数据的承诺参数运行。或者,模型及其参数可以公开,用户自己可以证明他们将适当的模型和参数应用到他们自己的(经过身份验证的) 数据。这在医疗领域可能特别有用,法律要求有关患者的某些信息保密。在未来,这可能使医疗诊断系统能够从完全保留的实时用户数据中学习和改进 私人的。

3. 证明:

您希望将来自外部验证方(例如,任何可以生成数字签名的数字平台或硬件)的证明集成到模型或链上运行的任何其他类型的智能合约中。为此,您将使用零知识证明来验证签名,并将该证明用作程序的输入。Anna Rose 和 Tarun Chitra 最近与 Daniel Kang 和 Yi Sun 一起主持了一集零知识播客,他们在节目中探讨了该领域的最新进展。

具体来说,Daniel 和 Yi 最近发布了关于如何验证由带有经过验证的传感器的相机拍摄的图像是否经过裁剪、调整大小或有限编辑等转换的方法的工作——在你想证明图像不是深度伪造但确实进行了深度伪造的情况下很有用 Dan Boneh 和 Trisha Datta 也在使用零知识证明验证图像来源方面做了类似的工作。

但是,更广泛地说,任何经过数字认证的信息都可以进行这种形式的验证:Jason Morton,他正在研究 EZKL 库(在下一节中详细介绍)称之为“给区块链眼睛”。任何签名的端点:(例如,Cloudflare 的 SXG 服务、第三方公证人)生成可以验证的数字签名,这可能有助于证明可信方的出处和真实性。

4. 分散推理或训练:

您想以分散的方式进行机器学习推理或训练,并允许人们将数据提交给公共模型。为此,您可以在链上部署一个已经存在的模型,或者构建一个全新的网络,并使用零知识证明来压缩模型。Jason Morton 的 EZKL 库正在创建一种方法,用于摄取 ONXX 和 JSON 文件,并将它们转换为 ZK-SNARK 电路。最近在 ETH Denver 的演示表明,这可以用于创建基于图像识别的应用程序—— 链寻宝,游戏创作者可以上传照片,生成图片证明,玩家可以上传图片;验证者检查用户上传的图像是否与创作者生成的证明充分匹配。EZKL 现在可以验证模型 多达 1 亿个参数,这意味着它可用于在链上验证 ImageNet 大小的模型(具有 6000 万个参数)。

其他团队,如 Modulus Labs,正在对不同的链上推理证明系统进行基准测试。Modulus 的基准测试运行了多达 1800 万个参数。在训练方面,Gensyn 正在构建一个分散的计算系统,用户可以在其中输入公共数据,并通过分散的节点网络训练他们的模型,并验证训练的正确性。

5. 身份证明:

您想在不损害其隐私的情况下验证某人是独一无二的人。为此,您需要创建一种验证方法——例如,生物识别扫描,或一种以加密方式提交政府 ID 的方法。然后,您将使用零知识证明来检查某人是否已通过验证,而不会透露有关该人身份的任何信息,无论该身份是否完全可识别,或假名,如公钥。

Worldcoin 通过他们的身份证明协议来做到这一点,这是一种通过为用户生成独特的虹膜代码来确保抵抗女巫攻击的方法。至关重要的是,为 WorldID 创建的私钥(以及为 Worldcoin 用户创建的加密钱包的其他私钥)与项目的眼睛扫描球在本地生成的虹膜代码完全分开。这种分离将生物识别标识符与任何 用户密钥的形式,可以归因于一个人。Worldcoin 还允许应用程序嵌入允许用户使用 WorldID 登录的 SDK,并利用零知识证明保护隐私,允许应用程序检查该人是否拥有 WorldID,但不启用个人用户跟踪(更多信息 详细信息,请参阅此博文)。

这个例子是一种对抗更弱、更恶意的人工智能形式的形式,具有零知识证明的隐私保护特性,因此它与上面列出的其他例子有很大不同(例如,证明你是一个真实的人, 不是机器人,不会透露任何关于你自己的信息)。

模型架构和挑战

实现 SNARK(简洁的非交互式知识论证)的证明系统的突破一直是将许多机器学习模型放到链上的关键驱动因素。一些团队正在现有架构(包括 Plonk、Plonky2、Air 等)中制作定制电路。在自定义电路方面,Halo 2 已成为 Daniel Kang 等人使用的流行后端。阿尔。在他们的工作中,以及 Jason Morton 的 EZKL 项目。Halo 2 的证明者时间是准线性的,证明大小通常只有几千字节,而验证者时间是恒定的。也许更重要的是,Halo 2 拥有强大的开发人员工具,使其成为开发人员使用的流行 SNARK 后端。其他团队,如 Risc Zero,旨在制定通用的 VM 策略。其他人正在使用 Justin Thaler 基于和校验协议的超高效证明系统创建自定义框架。

证明生成和验证器时间绝对取决于生成和检查证明的硬件以及用于证明生成的电路的大小。但这里要注意的关键一点是,无论被表示的程序如何,证明大小总是相对较小,因此验证者检查证明的负担受到限制。然而,这里有一些微妙之处:对于像 Plonky2 这样使用基于 FRI 的承诺方案的证明系统,证明大小可能会增加。(除非它最后被包裹在像 Plonk 或 Groth16 这样的基于配对的 SNARK 中,它们的大小不会随着被证明的陈述的复杂性而增长。)

这里对机器学习模型的暗示是,一旦你设计了一个准确表示模型的证明系统,实际验证输出的成本就会非常低廉。开发人员必须考虑最多的是证明时间和内存:以一种可以相对快速证明模型的方式表示模型,并且证明大小最好在几千字节左右。为了在零知识下证明机器学习模型的正确执行,您需要对模型架构(层、节点和激活函数)、参数、约束和矩阵乘法运算进行编码,并将它们表示为电路。这涉及将这些属性分解为可以在有限域上执行的算术运算。

该地区仍处于起步阶段。在将模型转换为电路的过程中,准确性和保真度可能会受到影响。当模型表示为算术电路时,可能需要对上述模型参数、约束和矩阵乘法运算进行近似和简化。当算术运算被编码为证明的有限域中的元素时,可能会损失一些精度(或者在没有这些优化的情况下使用当前的零知识框架生成证明的成本将高得无法承受)。此外,机器学习模型的参数和激活通常被编码为 32 位以确保精度,但如今的零知识证明无法在没有大量开销的情况下以必要的算术电路格式表示 32 位浮点运算。因此,开发人员可能会选择使用量化的机器学习模型,其 32 位整数已经转换为 8 位精度。这些类型的模型有利于表示为零知识证明,但被验证的模型可能是更高质量初始模型的粗略近似。

在这个阶段,这无疑是一场追赶游戏。随着零知识证明变得更加优化,机器学习模型变得越来越复杂。已经有许多有前途的优化领域:证明递归可以将整体证明大小减少 允许将证明用作下一个证明的输入,解锁证明压缩。也有新兴的框架,例如 Linear A 的 Apache 张量虚拟机 (TVM) 的分支,它改进了用于将浮点数转换为 零知识友好整数表示 最后,我们在 a16z crypto 乐观地认为,未来的工作将使在 SNARK 中表示 32 位整数变得更加合理。

“尺度”的两种定义

零知识证明通过压缩进行扩展:SNARK 允许您采用极其复杂的系统(虚拟机、机器学习模型)并以数学方式表示它,以便验证它的成本低于运行它的成本。另一方面,机器学习通过扩展来扩展:如今的模型随着更多数据、参数和 GPU/TPU 参与训练和推理过程而变得更好。集中式公司可以以几乎无限的规模运行服务器:按月收取 API 调用费用,并支付运营成本。

区块链网络的经济现实几乎是相反的:鼓励开发人员优化他们的代码,使其在计算上可行(且成本低廉)以在链上运行。这种不对称有一个巨大的好处:它创造了一个证明系统需要变得更高效的环境。我们应该推动在机器学习中要求区块链提供相同好处的方法——即可验证的所有权和共享的真理概念。

虽然区块链激励优化 zk-SNARK,但计算领域的每个领域都将受益。

***

致谢:Justin Thaler、Dan Boneh、Guy Wuollet、Sam Ragsdale、Ali Yahya、Chris Dixon、Eddy Lazzarin、Tim Roughgarden、Robert Hackett、Tim Sullivan、Jason Morton、peiyuanliao、Tarun Chitra、Brian Retford、Daniel Kang、Yi Sun、 Anna Rose,Modulus Labs,DC Builder。

***

Elena Burger 是 a16z crypto 的交易合作伙伴,专注于游戏、NFT、web3 媒体和去中心化基础设施。在加入团队之前,她在 Gilder, Gagnon, Howe, and Co 担任了四年的股票分析师。她拥有哥伦比亚大学巴纳德学院的学士学位,主修历史。

***(完)

                                            了解Aleo 项目及最新进展,请阅读下述文章:                        

8 Aleo 

Aleo 

AleoL130-60Aleo 22AMA

Aleo3

Aleo 323

Aleo33100Aleo

Aleo宣布部署激励!附03/05/2023最新社区电话会议总结

Aleo水龙头V2版本上线,如何领取?附部署案例参考

Aleo的AI野心?—通过zkML(零知识机器学习)开创隐私机器学习的时代

其他重要的项目信息,将首发在VX群哦!

AleoAsia大中华社区,旨在为大中华区社区的伙伴传递最权威、最快速、最全面的项目资讯;同时协助Aleo在大中华区举办各种活动,包括宣传、会议、AMA等,扩大Aleo在大中华区的知名度,获得更多人对Aleo的认同感,从而加入到Aleo,一起为Aleo生态的繁荣努力!

AleoAsia网站:https://aleoasia.notion.site/Aleo-Asia-Aleo-7138f4ed225a4f9c9c8e869d0fdc2e31

加入AleoAsia大中华社区VX交流群,能更快获取信息哦!

入群要求:请关注我们AleoAsia 公众号,转发文章至朋友圈,或点赞或点看我们任一篇文章,联系AleoAsia即可入群啦

【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。DYOR!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存