AI 应用无法将全部计算放在链上,所以要用 zk 或者乐观证明让 AI 服务以更加去信任的方式接入公链系统。
原文作者:Turbo Guo
原文来源:mirror
Modulus labs 通过链下执行 ML 计算并为其生成 zkp 的方式实现了可验证 AI,本文从应用视角重新审视该方案,分析其在哪些场景是刚需,而在哪些场景需求较弱,最后延展出横向和纵向两种基于公链的 AI 生态模式,主要内容有:
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」应用,同时也提出了许多可能的应用场景。
此外,Modulus Labs 还提及了一些其他用例:
1.3.1 可能无需可验证 AI 的场景
在 Rocky bot 的场景下,用户可能没有验证 ML 计算过程的需求。 第一,用户并无专业知识,根本没有能力做真正的验证。即使有验证工具,在用户看来都是【自己按了一个按钮,界面弹窗告诉自己这次的 AI 服务确实是由某个模型生成的】,无法确定真实性。 第二,用户没有需求进行验证,因为用户在乎的是这个 ai 的收益率是否高。当收益率不高时用户就会迁移,且永远会选择效果最好的模型。总之,当用户追求的是 AI 的最终效果时,验证过程可能意义不大,因为用户只需要迁移至效果最好的服务即可。
一种可能的方案是:AI 只充当建议者,用户自主执行交易。当人们把自己的交易目标输入 AI 后,AI 在链下计算并返回一个较好的交易路径 / 交易方向,用户选择是否进行执行。人们也不需要验证背后的模型,只需选择那个收益最高的产品。
另一种危险但极有可能出现的情况是,人们根本不在乎自己对资产的控制权以及 AI 运算过程,当一个自动挣钱的机器人出现时,人们甚至愿意把钱直接托管给它,正如将代币打入 CEX 或传统银行进行理财一般。因为人们并不会在乎背后的原理,只会在乎他们最后拿到多少钱,甚至只会在乎项目方给其显示挣了多少钱,这种服务或许也能快速获取大量用户,甚至比使用可验证 AI 的项目方产品迭代速度更快。
退一步看,如果 AI 根本不参与链上状态修改,仅仅是将链上数据抓取下来为用户进行预处理,则也没有为计算过程生成 ZKP 的需求。在此将此类应用成为【数据服务】,下面是几个案例:
1.3.2 需要可验证 AI 的场景
本文认为涉及多人的,涉及公平和隐私的场景需要 ZKP 提供验证,在此对 Modulus Labs 提及的几个应用进行讨论:
总体来说,当 AI 类似一个决策者,其输出影响范围极广且涉及到多方的公平时,而人们就会要求对决策过程进行审查,或者只是简单的保证 AI 的决策过程没有大的问题,而保护个人隐私就是非常直接的需求了。
因此,【AI 输出是否修改链上状态】和【是否影响公平 / 隐私】,是判断是否需要可验证 AI 方案的两个标准
无论如何,Modulus Labs 的方案对 AI 如何结合 crypto 并带来实际应用价值有很大的启发意义。但公链体系不仅能提升单个 AI 服务的能力,而且有潜力构建新的 AI 应用生态。这种新生态带来了不同于 Web2 的 AI 服务间关系, AI 服务与用户的关系,乃至上下游各个环节的协作方式,我们可以把潜在的 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 应用的组合:
在公链框架下的 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 发布至链上这方面有许多进展,或许某一天就可以组合出合适的方案。
在这方面,我们主要介绍一个叫 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 还处于理论阶段,同样有大量执行上的细节值得确定。
无论是可组合 AI 还是去中心化 AI 平台,基于公链的 AI 生态模式似乎有共通之处。比如,AI 服务商均不直接和用户进行对接,其只需要提供 ML 模型并在链下进行计算。支付、纠纷解决、用户需求和服务之间的撮合,都可以由去中心化的协议解决。公链作为一种去信任的基础设施,减少了服务方和用户之间的摩擦,此时用户也拥有更高的自主权。
以公链为应用底座的优势虽然老生常谈,但的确也适用于 AI 服务。而 AI 应用和存粹的 dapp 应用不同之处在于, AI 应用无法将全部计算放在链上,所以要用 zk 或者乐观证明让 AI 服务以更加去信任的方式接入公链系统。
随着账户抽象等一系列体验优化方案的落地,用户可能感知不到助记词、链和 gas 等的存在,这让公链生态在体验上接近 web2,而用户可以获得比 web2 服务更高的自由度及可组合性,这将对用户产生较大的吸引力,以公链为底座的 AI 应用生态十分值得期待。