撰文:Turbo Guo
审稿:Mandy、Joshua
TLDR:
Modulus labs 通过链下执行 ML 计算并为其生成 zkp 的方式实现了可验证 AI,本文从应用视角重新审视该方案,分析其在哪些场景是刚需,而在哪些场景需求较弱,最后延展出横向和纵向两种基于公链的 AI 生态模式,主要内容有:
是否需要可验证 AI 取决于:是否修改链上数据,以及是否涉及公平和隐私
当 AI 不影响链上状态时,AI 可充当建议者,人们可以通过实际效果判断 AI 服务质量好坏,无需对计算过程进行验证。
当影响链上状态时,若该服务针对个人且不对隐私有影响,那用户依旧可以直接判断 AI 服务质量无需检验计算过程。
当 AI 的输出会影响多人间的公平和个人隐私时,比如用 AI 给社区成员评价并分配奖励,用 AI 优化 AMM ,或涉及生物数据,人们就会希望对 AI 的计算进行审查,这是可验证 AI 可能找到 PMF 的地方。
纵向的 AI 应用生态:由于可验证 AI 的一端是智能合约,可验证 AI 应用之间乃至 AI 和原生 dapp 之间或许可以实现无需信任地相互调用,这是潜在的可组合的 AI 应用生态
横向的 AI 应用生态:公链系统可以为 AI 服务商处理服务付费,支付纠纷协调,用户需求和服务内容的匹配等问题,让用户获得自由度更高去中心化 AI 服务体验。
1. Modulus Labs 简介与应用案例
1.1 简介与核心方案
Modulus Labs 是一家「链上」AI 公司,其认为 AI 可以显著提升智能合约的能力,使 web3 应用变得更为强大。但 AI 应用于 web3 时存在一个矛盾,即 AI 的运行需要大量算力,而 AI 在链下计算是个黑盒子,这并不符合 web3 去信任、可验证的基本要求。
因此,Modulus Labs 借鉴 zk rollup【链下预处理 + 链上验证】的方案,提出了可验证 AI 的架构,具体为:ML 模型在链下运行,此外在链下为 ML 的计算过程生成一个 zkp ,通过该 zkp 可以验证链下模型的架构、权重和输入(inputs),当然这个 zkp 也可以发布至链上由智能合约进行验证。此时 AI 和链上合约就可以进行更去信任的交互,也就是实现了「链上 AI」。
基于可验证 AI 的思路,Modulus Labs 截至目前推出了三个「链上 AI」应用,同时也提出了许多可能的应用场景。
1.2 应用案例
第一个推出的是 Rocky bot,一个自动交易 AI 。Rocky 由 wEth/USDC 交易对的历史数据训练而来。其根据历史数据判断未来 weth 走势,作出交易决策后会为决策过程(计算过程)生成一个 zkp ,并向 L1 发送消息触发交易。
第二个是链上国际象棋游戏「Leela vs the World」,游戏双方是 AI 和人,棋局情况放在合约里。玩家通过钱包进行操作(与合约交互)。而 AI 读取新的棋局情况,做出判断,并为整个计算过程生成 zkp ,这两步都是在 AWS 云上完成,而 zkp 交由链上的合约验证,验证成功后调用棋局合约「下棋」。
第三个是「链上」AI 艺术家,并推出了 NFT 系列 zkMon ,核心在于 AI 生成 NFT 并发布至链上,同时生成一个 zkp,用户可以通过 zkp 查验自己的 NFT 是否生成自对应的 AI 模型。
此外,Modulus Labs 还提及了一些其他用例:
用 AI 评估个人链上数据等信息,生成个人声誉评级,并发布 zkp 供用户验证;
使用 AI 优化 AMM 的表现,并发布 zkp 供用户验证;
用可验证的 AI 帮助隐私项目应对监管压力,但同时不暴露隐私(或许是使用 ML 证明此交易并非洗黑钱,同时不暴露用户地址等信息);
AI 预言机,同时发布 zkp 供所有人查验链下数据可靠性;
AI 模型比赛,比赛者提交自己的架构和权重,然后用统一的测试 input 跑模型,为运算生成 zkp ,最终合约会自动将奖金发送给获胜者;
Worldcoin 称在未来,或许可以让用户在本地设备下载为虹膜生成对应 code 的模型,本地跑完模型并生成 zkp,这样链上合约可以用 zkp 验证用户的虹膜 code 生成自正确的模型以及合理的虹膜,同时让生物信息不离开用户自己的设备;
1.3 基于对可验证 AI 的需求讨论不同应用场景
1.3.1 可能无需可验证 AI 的场景
在 Rocky bot 的场景下,用户可能没有验证 ML 计算过程的需求。 第一,用户并无专业知识,根本没有能力做真正的验证。即使有验证工具,在用户看来都是【自己按了一个按钮,界面弹窗告诉自己这次的 AI 服务确实是由某个模型生成的】,无法确定真实性。 第二,用户没有需求进行验证,因为用户在乎的是这个 ai 的收益率是否高。当收益率不高时用户就会迁移,且永远会选择效果最好的模型。总之,当用户追求的是 AI 的最终效果时,验证过程可能意义不大,因为用户只需要迁移至效果最好的服务即可。
一种可能的方案是:AI 只充当建议者,用户自主执行交易。当人们把自己的交易目标输入 AI 后,AI 在链下计算并返回一个较好的交易路径 / 交易方向,用户选择是否进行执行。人们也不需要验证背后的模型,只需选择那个收益最高的产品。
另一种危险但极有可能出现的情况是,人们根本不在乎自己对资产的控制权以及 AI 运算过程,当一个自动挣钱的机器人出现时,人们甚至愿意把钱直接托管给它,正如将代币打入 CEX 或传统银行进行理财一般。因为人们并不会在乎背后的原理,只会在乎他们最后拿到多少钱,甚至只会在乎项目方给其显示挣了多少钱,这种服务或许也能快速获取大量用户,甚至比使用可验证 AI 的项目方产品迭代速度更快。
退一步看,如果 AI 根本不参与链上状态修改,仅仅是将链上数据抓取下来为用户进行预处理,则也没有为计算过程生成 ZKP 的需求。在此将此类应用成为【数据服务】,下面是几个案例:
Mest 提供的 chatbox 是典型的数据服务,用户可以用问答的方式了解自己的链上数据,比如询问自己在 nft 上花了多少钱;
ChainGPT 是一个多功能 AI 助手,它可以在交易前为你解读智能合约,告诉你是否与正确的池子进行交易,或告诉你交易是否可能被夹或抢跑。ChainGPT 也准备做 AI 新闻推荐,输入 prompts 自动生成图片并发布成 NFT 等各种服务;
RSS3 提供了 AIOP ,使用户可以选择自己想要什么链上数据,并做一定预处理,从而方便地拿特定链上数据训练 AI;
DefiLlama 和 RSS3 也开发了 ChatGPT 插件,用户可以通过对话获取链上数据;
1.3.2 需要可验证 AI 的场景
本文认为涉及多人的,涉及公平和隐私的场景需要 ZKP 提供验证,在此对 Modulus Labs 提及的几个应用进行讨论:
当社区基于 AI 生成的个人声誉发放奖励时,社区成员必然会要求对评估决策过程进行审查,在此决策过程就是 ML 的计算过程;
AI 优化 AMM 的场景涉及多人间的利益分配,也需要定期查验 AI 的计算过程;
在平衡隐私和监管时,ZK 是目前比较好的方案之一,若服务方在服务中使用 ML 处理隐私数据,则需要为整个计算过程生成 ZKP;
由于预言机影响范围较广,若由 AI 进行调控,就需要定期生成 ZKP 来查验 AI 是否正常运作;
在比赛中,公众和其他参赛者有需求查验 ML 的运算是否符合比赛规范;
在 Worldcoin 的潜在用例中,保护个人生物数据同样是一个较强的需求;
总体来说,当 AI 类似一个决策者,其输出影响范围极广且涉及到多方的公平时,而人们就会要求对决策过程进行审查,或者只是简单的保证 AI 的决策过程没有大的问题,而保护个人隐私就是非常直接的需求了。
因此,【AI 输出是否修改链上状态】和【是否影响公平 / 隐私】,是判断是否需要可验证 AI 方案的两个标准
当 AI 输出不修改链上状态时,AI 服务可以充当建议者的身份,人们可以通过建议效果判断 AI 服务质量好坏,无需对计算过程进行验证;
当 AI 输出修改链上状态时,若该服务只针对个人且不对隐私有影响,那用户依旧可以直接判断 AI 服务质量无需检验计算过程;
当 AI 的输出会直接影响多人间的公平,而且 AI 是自动修改链上数据时,社区和公众就有对 AI 决策过程进行检验的需求;
当 ML 处理的数据涉及个人隐私时,同样需要 zk 来保护隐私,并以此应对监管要求。
2. 两种基于公链的 AI 生态模式
无论如何,Modulus Labs 的方案对 AI 如何结合 crypto 并带来实际应用价值有很大的启发意义。但公链体系不仅能提升单个 AI 服务的能力,而且有潜力构建新的 AI 应用生态。这种新生态带来了不同于 Web2 的 AI 服务间关系, AI 服务与用户的关系,乃至上下游各个环节的协作方式,我们可以把潜在的 AI 应用生态模式归纳为纵向模式和横向模式两种。
2.1 纵向模式:侧重实现 AI 之间的可组合性
「Leela vs the World」链上国际象棋这一用例有个特殊的地方,人们可以为人类或者 AI 下注,比赛结束后自动分配代币。此时 zkp 的意义不仅仅是供用户验证 AI 计算的过程,而且是作为触发链上状态转换的信任保障。有了信任保障,AI 服务之间,AI 和 crypto 原生 dapp 之间也可能拥有 dapp 级别的可组合性。
可组合 AI 的基本单元是【链下 ML 模型 - zkp 生成 - 链上验证合约 - 主合约】,该单元借鉴于「Leela vs the World」的框架,但实际的单个 AI dapp 的架构可能和上图展示的不一样。 一是国际象棋中棋局情况需要一个合约,但现实情况下 AI 有可能不需要一个链上合约。但就可组合 AI 的架构来看,若主要业务是通过合约进行记录,其他 dapp 与其进行组合时可能会更为方便。 二是主合约不一定需要影响 AI dapp 自身的 ML 模型,因为某个 AI dapp 可能是单向影响的,ML 模型处理完后触发自身业务相关的合约即可,而该合约又会被其他 dapp 进行调用。
延展来看,合约之间的调用是不同 web3 应用之间的调用,是个人身份、资产、金融服务、乃至社交信息的调用,我们可以设想一种具体的 AI 应用的组合:
Worldcoin 使用 ML 为个人虹膜数据生成 iris code 以及 zkp;
信誉评分 AI 应用先验证此 DID 背后是否为真人(背后有虹膜数据),然后根据链上信誉为用户分配 NFT;
借贷服务根据用户拥有的 NFT 调整借贷份额;
在公链框架下的 AI 间互动并不是一件未被讨论的事情,全链游戏 Realms 生态贡献者 Loaf 曾提出,AI NPC 之间可以和玩家一样相互交易,使得整个经济系统可以自我优化并自动运转。AI Arena 开发了一个 AI 自动对战的游戏,用户首先购买一个 NFT ,一个 NFT 代表一个战斗机器人,背后是一个 AI 模型。用户先自己玩游戏,然后把数据交给 AI 模拟学习,当用户觉得该 AI 足够强时就可以放到竞技场中和其他 AI 自动对战。Modulus Labs 提到 AI Arena 希望把这些 AI 都转化为可验证 AI 。这两个案例中都看到了 AI 间进行交互,并直接在交互时修改链上数据的可能性。
但可组合 AI 在具体实现上仍有大量待讨论的问题,例如不同 dapp 如何利用彼此的 zkp 或者验证合约等。不过在 zk 领域也有大量优秀项目,比如 RISC Zero 在链下进行复杂运算并将 zkp 发布至链上这方面有许多进展,或许某一天就可以组合出合适的方案。
2.2 横向模式:侧重实现去中心化的 AI 服务平台
在这方面,我们主要介绍一个叫 SAKSHI 的去中心化 AI 平台,它由来自普林斯顿、清华大学、伊利诺伊大学香槟分校、香港科技大学、Witness Chain 和 Eigen Layer 的人员共同提出。其核心目标是让用户能以更去中心化的方式获得 AI 服务,使得整个流程更为去信任化和自动化。
SAKSHI 的架构可以分为六层:分别是服务层(Service Layer)、控制层(Control Layer)、交易层(Transation Layer)、证明层(Proof Layer)、经济层(Economic Layer)和市场层(Marketplace)。
市场是最接近用户的一层,市场上有聚合器来代表不同的 AI 供应者向用户提供服务,用户通过聚合器下单并和聚合器就服务质量和支付价格达成协议(协议被称为 SLA-Service-level agreement )。
接下来服务层会为客户一端提供 API,然后客户一端向聚合器发起 ML 推理请求,请求被传送至用于匹配 AI 服务提供方的服务器(传输请求所用的路由是控制层的一部分)。因此,服务层和控制层类似一个拥有多个服务器 web2 的服务,但不同服务器由不同主体运营,单个服务器通过 SLA(之前签订的服务协议)和聚合器进行关联。
SLA 以智能合约的形式部署上链,这些合约都属于交易层(注:在此方案中部署在 Witness Chain )。交易层还会记录一笔服务订单的当下状态,并用于协调用户、聚合器和服务提供方,处理支付纠纷。
为了让交易层在处理纠纷时有据可依,证明层(Proof Layer)将检验服务提供商是否按照 SLA 的约定使用模型。但 SAKSHI 并没有选择为 ML 计算过程生成 zkp ,而是用乐观证明的思路,希望建立挑战者节点网络来对服务进行检验,节点激励由 Witness Chain 承担。
虽然 SLA 和挑战者节点网络都在 Witness Chain 上,但在 SAKSHI 的方案中 Witness Chain 并不打算用自己原生的代币激励实现独立的安全性,而是通过 Eigen Layer 来借用以太坊的安全性,因此整个经济层其实是依托于 Eigen Layer 的。
可以看出,SAKSHI 处在 AI 服务方和用户之间,将不同 AI 用去中心化的方式组织起来为用户提供服务,这更像一种横向上的方案。SAKSHI 的核心在于,它让 AI 服务提供商更专注于管理自己的链下模型计算,让用户需求和模型服务的撮合、服务的支付和服务质量的验证通过链上协议完成,并尝试自动化解决支付纠纷。当然,目前 SAKSHI 还处于理论阶段,同样有大量执行上的细节值得确定。
3. 未来展望
无论是可组合 AI 还是去中心化 AI 平台,基于公链的 AI 生态模式似乎有共通之处。比如,AI 服务商均不直接和用户进行对接,其只需要提供 ML 模型并在链下进行计算。支付、纠纷解决、用户需求和服务之间的撮合,都可以由去中心化的协议解决。公链作为一种去信任的基础设施,减少了服务方和用户之间的摩擦,此时用户也拥有更高的自主权。
以公链为应用底座的优势虽然老生常谈,但的确也适用于 AI 服务。而 AI 应用和存粹的 dapp 应用不同之处在于, AI 应用无法将全部计算放在链上,所以要用 zk 或者乐观证明让 AI 服务以更加去信任的方式接入公链系统。
随着账户抽象等一系列体验优化方案的落地,用户可能感知不到助记词、链和 gas 等的存在,这让公链生态在体验上接近 web2,而用户可以获得比 web2 服务更高的自由度及可组合性,这将对用户产生较大的吸引力,以公链为底座的 AI 应用生态十分值得期待。
原文链接