1. Verde与RepOps机器学习程序的可验证委托与硬件无关确定性在机器学习领域委托计算如模型训练和推理到不受信任的计算提供商时确保结果的正确性是一个关键挑战。传统的密码学证明系统虽然提供强保证但计算开销巨大难以实际应用。Verde通过引入仲裁委托refereed delegation机制允许计算能力有限的客户端将程序委托给多个不受信任的计算提供商并保证只要至少有一个提供商是诚实的就能获得正确结果。这一机制的核心在于高效的争议解决协议和跨硬件设置的位级程序重现能力。RepOps库通过控制浮点运算的执行顺序消除了硬件非确定性确保了不同硬件环境下计算的一致性。这些技术为机器学习程序的可验证委托提供了实用且高效的解决方案适用于分布式训练和推理等场景。1.1 机器学习委托计算的挑战与现有方案机器学习程序如大型语言模型的训练、微调和推理通常需要巨大的计算和内存资源这使得许多用户不得不将这些任务委托给外部计算提供商。然而这种委托通常没有任何正确性保证。不诚实或被入侵的服务器可能返回错误的输出例如懒惰服务器可能不会按照承诺的时间训练模型而是返回近似结果恶意训练者可能执行数据投毒攻击或在训练模型中插入后门目前主要有两类解决方案密码学证明系统提供最强的保证但计算开销极高比运行程序本身高4个数量级启发式ML特定技术如Proof-of-Learning或Proof-of-Training-Data牺牲形式化保证换取效率但缺乏严格的安全保证Verde提出的仲裁委托模型在这两种极端之间找到了平衡点既能提供具体保证又只对计算提供商施加实际可接受的开销。1.2 仲裁委托的基本原理仲裁委托的核心思想是客户端将相同的任务委托给多个计算提供商称为训练者并通过高效的争议解决机制确保只要至少有一个训练者是诚实的就能获得正确结果。其安全保证是如果存在诚实训练者其输出保证被接受裁判将识别k-1个不诚实训练者证明他们报告了不正确输出如果所有训练者都不诚实协议仍会识别k-1个不诚实提供商但裁判也会接受一个不正确输出这种机制的关键创新在于高效的争议解决协议避免了裁判需要完全重新执行计算的高开销。2. Verde神经网络争议解决协议2.1 协议概述与程序设置Verde协议分为两个主要阶段阶段1识别训练者首次出现分歧的具体训练步骤阶段2识别计算图中第一个出现分歧的操作符程序设置包括客户端指定具有初始权重的神经网络、训练数据和训练元数据模型表示为拓扑排序的计算图使用ONNX等标准格式每个训练步骤包括前向传递、后向传递、参数更新和优化器状态更新2.2 阶段1识别分歧的训练步骤2.2.1 基本方法将训练过程抽象为状态机状态可学习参数和优化器状态的值转换函数每个训练步骤执行前向传递、后向传递和优化器状态更新训练程序可以视为一系列检查点C0→C1→...→Cn。如果两个训练者从C0开始但在n步后产生不同输出Cn和Cn则必定存在一个训练步骤i他们首次分歧。2.2.2 优化多级检查点原始方法需要训练者在每个步骤哈希整个模型状态对于大模型开销过高。Verde采用多级检查点技术训练期间训练者只在指定步骤记录检查点争议解决时通过多轮交互逐步缩小分歧区间每轮在更小的区间内记录更细粒度的检查点最终定位到单个训练步骤的分歧这种方法的通信和存储成本通信开销最小只传输短哈希存储与检查点频率的权衡N20时重新执行6%的训练程序存储几百GBN100时重新执行1.1%存储几TB2.3 阶段2识别分歧的操作符2.3.1 扩展计算图表示Verde将神经网络表示为有向无环计算图并扩展该表示以捕获训练步骤中的所有工作前向传递后向传递优化器状态更新每个节点增强为AugmentedCGNode包含输入节点指针输出节点指针操作符和属性输入张量哈希列表输出张量哈希列表2.3.2 争议解决算法算法流程训练者发送节点哈希序列给裁判裁判验证检查点状态的一致性找到第一个分歧的节点索引d训练者打开他们的第d个节点裁判运行决策算法检查点哈希格式使用Merkle树叶子节点是导致检查点的训练步骤中所有AugmentedCGNode节点的哈希。2.4 裁判决策算法根据节点差异类型裁判采用不同策略图结构差异输入、输出、操作符裁判根据客户端指定的模型检查哪个结构正确输入张量哈希差异如果来自起始检查点请求Merkle成员资格证明如果来自图中另一个节点请求源节点的打开输出张量哈希差异裁判需要运行操作符决定哪个训练者正确这种方法将裁判的计算需求减少了两个数量级使其只需执行计算图中的单个操作符。3. RepOps可重现操作符库3.1 硬件非确定性的来源即使遵循IEEE-754标准浮点运算也不具有结合性导致不同硬件可能产生不同结果。主要原因包括并行程序中运算顺序不同不同硬件架构核心数、内存容量等内存中张量的不同排列strides3.2 RepOps设计原理RepOps通过控制浮点运算的顺序来消除硬件非确定性具体方法确定并行化维度对结果顺序无关的维度自由并行化对顺序关键的维度串行执行或同步线程矩阵乘法示例# repops矩阵乘法 for i 0 to M-1: # 任意顺序 for j 0 to N-1: # 任意顺序 sum 0 for k 0 to K-1: # 固定顺序 a A[i][k] b B[k][j] sum sum a * b C[i][j] sum性能特点矩阵维度210时开销30%Llama-3.1-1B推理和训练在A100 GPU上约60%开销3.3 当前局限性与未来工作局限性较小矩阵乘法开销较高256位矩阵约200%DistilBERT训练在某些设置上开销达300%需要硬件符合IEEE-754标准FP32广泛支持FP16支持有限未来方向模型并行性支持扩展到多GPU环境特定硬件优化参数调优支持更多操作符和模型架构4. 实现与评估4.1 实现细节使用PyTorch框架v2.4神经网络模型定义为ONNX计算图RepOps使用CUDA框架v12.1实现当前支持FP32精度4.2 矩阵乘法基准测试关键观察随着矩阵增大RepOps开销显著改善达到稳定状态后RTX 309024GB60-70%开销T416GB约35%开销4.3 模型推理与训练基准测试模型DistilBERT6600万参数Llama-3.1-1BLlama-3.1-8B仅推理和微调主要发现RepOps在较大Llama模型上表现相对更好DistilBERT因包含更多未优化操作符如LayerNorm、GeLU、ERF而开销更高较大内存GPU如A100 40GB比小内存GPU如T4 16GB表现更好具体数据Llama-1B训练在A100上67%开销Llama-8B微调在A100 80GB上126%开销5. 实际应用与未来方向5.1 应用场景机会性审计客户端作为裁判委托计算去中心化训练链上智能合约作为裁判关键任务ML服务需要强正确性保证的场景5.2 实际部署挑战训练者生态系统需要足够多不可能共谋的训练者激励机制设计补偿训练者的原始计算和争议解决工作区块链集成在EVM等环境中高效实现裁判功能5.3 未来工作方向支持更低精度如FP16训练分布式训练的场景扩展更广泛的操作符支持特定硬件优化与现有ML框架更深度集成Verde和RepOps的组合为机器学习程序的可验证委托提供了实用且高效的解决方案填补了完全验证计算和纯启发式方法之间的空白。虽然存在一些性能和部署上的挑战但其核心思想和技术路径为构建更安全、可靠的机器学习计算生态系统奠定了重要基础。