# OPML:基于乐观主义方法的机器学习技术OPML(Optimistic机器学习)是一种新兴的技术,它利用乐观主义方法在区块链系统上进行AI模型的推理和训练/微调。与ZKML相比,OPML能够提供更低成本、更高效率的ML服务。OPML的一大优势在于其低门槛的参与要求 - 目前普通PC无需GPU即可运行包含大型语言模型(如26GB大小的7B-LLaMA)的OPML。OPML采用验证游戏机制来确保ML服务的去中心化和可验证共识。其工作流程如下:1. 请求者发起ML服务任务2. 服务器完成任务并将结果提交到链上3. 验证者对结果进行验证4. 如有争议,通过二分协议精确定位错误步骤5. 在智能合约上对单个步骤进行仲裁## 单阶段验证游戏单阶段验证游戏的核心是精确定位协议,其工作原理类似于计算委托(RDoC)。主要特点包括:- 构建虚拟机(VM)用于链下执行和链上仲裁- 实现轻量级DNN库以提高AI模型推理效率 - 使用交叉编译技术将AI模型推理代码编译为VM指令- 采用默克尔树管理VM镜像,仅将默克尔根上传至链上在性能测试中,一个基本的AI模型(MNIST分类DNN模型)在PC上的VM内2秒即可完成推理,整个挑战过程在本地以太坊测试环境中可在2分钟内完成。## 多阶段验证游戏为克服单阶段验证游戏的局限性,我们提出了多阶段验证游戏:- 仅在最后阶段在VM中进行计算- 其他阶段可在本地环境中灵活执行,充分利用CPU、GPU、TPU等硬件资源- 显著提高OPML执行性能,接近本地环境水平以两阶段(k=2)验证游戏为例:1. 第二阶段:类似单阶段验证游戏,定位"大指令"上的争议步骤2. 第一阶段:定位VM微指令上的争议步骤通过默克尔树确保阶段间转换的完整性和安全性。## 多阶段OPML示例:LLaMA模型 LLaMA模型采用两阶段OPML方法:1. 将深度神经网络(DNN)计算过程表示为计算图G2. 在计算图上进行第二阶段验证博弈,利用多线程CPU或GPU3. 第一阶段将单个节点计算转换为VM指令对于更复杂的计算,可引入两个以上阶段的多阶段OPML方法。## 性能改进分析假设计算图有n个节点,每个节点需要m个VM微指令,GPU或并行计算的加速比为α:1. 两阶段OPML比单阶段OPML计算速度快α倍2. 两阶段OPML的默克尔树大小为O(m+n),显著小于单阶段OPML的O(mn)## 一致性与确定性保证为确保ML结果的一致性,OPML采用:1. 定点算法(量化技术):使用固定精度代替浮点数2. 基于软件的浮点库:确保跨平台一致性这些方法有效解决了浮点变量和平台差异带来的挑战,增强了OPML计算的可靠性。
OPML:乐观主义机器学习在区块链上的创新应用
OPML:基于乐观主义方法的机器学习技术
OPML(Optimistic机器学习)是一种新兴的技术,它利用乐观主义方法在区块链系统上进行AI模型的推理和训练/微调。与ZKML相比,OPML能够提供更低成本、更高效率的ML服务。OPML的一大优势在于其低门槛的参与要求 - 目前普通PC无需GPU即可运行包含大型语言模型(如26GB大小的7B-LLaMA)的OPML。
OPML采用验证游戏机制来确保ML服务的去中心化和可验证共识。其工作流程如下:
单阶段验证游戏
单阶段验证游戏的核心是精确定位协议,其工作原理类似于计算委托(RDoC)。主要特点包括:
在性能测试中,一个基本的AI模型(MNIST分类DNN模型)在PC上的VM内2秒即可完成推理,整个挑战过程在本地以太坊测试环境中可在2分钟内完成。
多阶段验证游戏
为克服单阶段验证游戏的局限性,我们提出了多阶段验证游戏:
以两阶段(k=2)验证游戏为例:
通过默克尔树确保阶段间转换的完整性和安全性。
多阶段OPML示例:LLaMA模型
LLaMA模型采用两阶段OPML方法:
对于更复杂的计算,可引入两个以上阶段的多阶段OPML方法。
性能改进分析
假设计算图有n个节点,每个节点需要m个VM微指令,GPU或并行计算的加速比为α:
一致性与确定性保证
为确保ML结果的一致性,OPML采用:
这些方法有效解决了浮点变量和平台差异带来的挑战,增强了OPML计算的可靠性。