Telegram Channel
论文: https://arxiv.org/abs/2401.17555
论文作者的视频讲解: https://youtu.be/_AdCIphFZzk?si=U0ETt9-zRddZyGOE

学习了一下号称可以链上证明 AI 推理的 opML。

首先介绍一下使用场景,比如说有一个 AI 聚合平台,服务商可以在上面发布自己的 AI 推理接口,用户可以付费使用这些接口服务。那么就会出现两个问题:

1. 我怎么知道服务商真的运行了推理,而不是随便给我编了个结果?
2. 我怎么知道服务商真的是用它声称的模型执行的推理,而不是用廉价模型,或者用别家的强力模型来刷分?

这两个问题可以概括为,真实算力问题,和模型的一致性问题。

对于真实算力问题,以前介绍过的 BitTensor 也曾试图解决这个问题,但是解决办法比较粗糙,它让一大群矿工同时运行推理,然后从推理结果中择优选取。这样确实可以大幅提高推理结果的真实性,但是会导致非常严重的计算资源浪费,而且也无法对模型和数据提供任何隐私保护。

opML 将推理的计算步骤,转换为虚拟机(FPVM)的状态变化,那么就可以形成一个状态链,这个状态链的每一个节点都是当前推理步骤时,整个虚拟机数据的 merkel-tree root。然后将最终状态的 merkle root 上链持久化存储,作为本次推理的 Proof。

乐观(Optimism)的意思就是,所有的结果直接上链,默认正确,但是服务商需要在一个挑战期内质押一定量的 token。在这个挑战期内,任何人都可以扮演 challenger 发起挑战,链上也会有固定的挑战者发起随机挑战。挑战者可以提供自己的状态链,证明服务商上链的状态链是错误的,通过二分查找,可以找到双方链上的一个分歧点。然后根据分歧点的前一个状态,重算分歧点的状态,就可以知道哪个链是正确的。如果服务商的链是正确的,那么挑战者会被罚款,如果服务商的链是错误的,那么服务商会被罚款。这样可以实现相对低成本线上证明和验证。

但是我没理解的一点是,挑战者该如何知道正确的状态链是什么呢,除非他自己本地重算一遍推理?而且随机挑战实际上也不一定能发现伪造吧,恶意供应商完全可以伪造一个虚假但是可验证的状态链,你的任何抽检都不会发现问题。

最后,看上去 opML 这篇论文是为了推 HyperOracle 他们家的 LLM Oracle 产品,所以他们需要试图证明他们的 Oracle 提供的 off-chain 推理结果是真实可信的。 #blockchain
 
 
Telegram Channel