# OPML:使用乐观方法优化区块链上的机器学习OPML(Optimistic机器学习)是一种新型技术,可以在区块链系统上进行AI模型的推理和训练/微调。相比ZKML,OPML具有成本低、效率高的优势,能为用户提供更便捷的ML服务。OPML的一大特点是参与门槛低。即使是没有GPU的普通PC,也能运行包含大型语言模型(如26GB大小的7B-LLaMA)在内的OPML。为了保证ML服务的去中心化和可验证共识,OPML采用了验证游戏机制,类似于Truebit和Optimistic Rollup系统。其基本流程如下:1. 请求者发起ML服务任务2. 服务器完成任务并将结果上链3. 验证者对结果进行验证,如有异议则启动验证游戏4. 通过二分协议精确定位错误步骤5. 在智能合约上进行单步骤仲裁## 单阶段验证游戏单阶段验证游戏的核心是精确定位协议,其工作原理类似于计算委托(RDoC)。当多个参与方执行相同程序时,可以通过相互质疑来找出有争议的步骤,并将其提交给区块链上的智能合约进行仲裁。OPML的单阶段验证游戏具有以下特点:- 构建了链下执行和链上仲裁的虚拟机(VM),保证了两者的等效性- 实现了专门的轻量级DNN库,提高AI模型推理效率 - 采用交叉编译技术,将AI模型推理代码编译为VM指令- 使用默克尔树管理VM镜像,只将默克尔根上传到链上通过二分协议定位争议步骤后,将其发送至区块链上的仲裁合约。测试表明,在普通PC上,基本AI模型(MNIST分类DNN)的推理可在2秒内完成,整个挑战过程约2分钟。## 多阶段验证游戏单阶段验证游戏的局限性在于所有计算必须在VM内执行,无法充分利用GPU/TPU加速或并行处理。为解决这一问题,OPML提出了多阶段协议扩展。多阶段协议的核心思想是:只在最后阶段在VM中计算,其他阶段可在本地环境灵活执行,充分利用CPU、GPU、TPU甚至并行处理能力。这显著提高了OPML的执行效率,使其接近本地环境的性能水平。以两阶段(k=2)验证游戏为例:- 第2阶段:状态转换对应改变计算上下文的"大指令"- 第1阶段:类似单阶段验证游戏,状态转换对应单个VM微指令提交者和验证者首先在第2阶段启动验证游戏,定位有争议的"大指令"。然后进入第1阶段,定位有争议的VM微指令,最后发送至区块链仲裁。为确保阶段间过渡的完整性和安全性,OPML依赖默克尔树,从高级阶段提取子树以保证验证过程的连续性。## 多阶段OPML在LLaMA模型中的应用在LLaMA模型中,OPML采用两阶段方法:1. 将ML/DNN计算过程表示为计算图G,每个节点存储中间计算结果2. 模型推理即在计算图上的计算过程,整个图代表推理状态3. 第2阶段在计算图上进行验证博弈,可利用多线程CPU或GPU4. 第1阶段将单个节点计算转换为VM指令,类似单阶段协议当单个节点计算仍然复杂时,可引入更多阶段以进一步提高效率。## 性能提升分析假设计算图有n个节点,每个节点需m条VM微指令,GPU/并行计算加速比为α:1. 两阶段OPML比单阶段快α倍2. 两阶段OPML的默克尔树大小为O(m+n),显著小于单阶段的O(mn)多阶段设计不仅提高了计算效率,还增强了系统的可扩展性。## 一致性与确定性保障为确保ML结果的跨平台一致性,OPML采取了两项关键措施:1. 使用定点算法(量化技术),以固定精度表示和执行计算2. 采用基于软件的浮点库,确保跨平台功能一致性这些技术有效克服了浮点变量和平台差异带来的挑战,增强了OPML计算的完整性和可靠性。## OPML vs ZKMLOPML与ZKML相比具有以下优势:- 更低的计算和存储成本- 更高的执行效率- 支持更大规模的模型- 更易于实现和部署目前OPML主要聚焦于模型推理,但框架也支持模型训练,可用于各种机器学习任务。OPML项目仍在积极开发中,欢迎有兴趣的开发者参与贡献。
OPML: 区块链上的高效机器学习新方案
OPML:使用乐观方法优化区块链上的机器学习
OPML(Optimistic机器学习)是一种新型技术,可以在区块链系统上进行AI模型的推理和训练/微调。相比ZKML,OPML具有成本低、效率高的优势,能为用户提供更便捷的ML服务。
OPML的一大特点是参与门槛低。即使是没有GPU的普通PC,也能运行包含大型语言模型(如26GB大小的7B-LLaMA)在内的OPML。
为了保证ML服务的去中心化和可验证共识,OPML采用了验证游戏机制,类似于Truebit和Optimistic Rollup系统。其基本流程如下:
单阶段验证游戏
单阶段验证游戏的核心是精确定位协议,其工作原理类似于计算委托(RDoC)。当多个参与方执行相同程序时,可以通过相互质疑来找出有争议的步骤,并将其提交给区块链上的智能合约进行仲裁。
OPML的单阶段验证游戏具有以下特点:
通过二分协议定位争议步骤后,将其发送至区块链上的仲裁合约。测试表明,在普通PC上,基本AI模型(MNIST分类DNN)的推理可在2秒内完成,整个挑战过程约2分钟。
多阶段验证游戏
单阶段验证游戏的局限性在于所有计算必须在VM内执行,无法充分利用GPU/TPU加速或并行处理。为解决这一问题,OPML提出了多阶段协议扩展。
多阶段协议的核心思想是:只在最后阶段在VM中计算,其他阶段可在本地环境灵活执行,充分利用CPU、GPU、TPU甚至并行处理能力。这显著提高了OPML的执行效率,使其接近本地环境的性能水平。
以两阶段(k=2)验证游戏为例:
提交者和验证者首先在第2阶段启动验证游戏,定位有争议的"大指令"。然后进入第1阶段,定位有争议的VM微指令,最后发送至区块链仲裁。
为确保阶段间过渡的完整性和安全性,OPML依赖默克尔树,从高级阶段提取子树以保证验证过程的连续性。
多阶段OPML在LLaMA模型中的应用
在LLaMA模型中,OPML采用两阶段方法:
当单个节点计算仍然复杂时,可引入更多阶段以进一步提高效率。
性能提升分析
假设计算图有n个节点,每个节点需m条VM微指令,GPU/并行计算加速比为α:
多阶段设计不仅提高了计算效率,还增强了系统的可扩展性。
一致性与确定性保障
为确保ML结果的跨平台一致性,OPML采取了两项关键措施:
这些技术有效克服了浮点变量和平台差异带来的挑战,增强了OPML计算的完整性和可靠性。
OPML vs ZKML
OPML与ZKML相比具有以下优势:
目前OPML主要聚焦于模型推理,但框架也支持模型训练,可用于各种机器学习任务。OPML项目仍在积极开发中,欢迎有兴趣的开发者参与贡献。