📢 Gate广场 #NERO发帖挑战# 秀观点赢大奖活动火热开启!
Gate NERO生态周来袭!发帖秀出NERO项目洞察和活动实用攻略,瓜分30,000NERO!
💰️ 15位优质发帖用户 * 2,000枚NERO每人
如何参与:
1️⃣ 调研NERO项目
对NERO的基本面、社区治理、发展目标、代币经济模型等方面进行研究,分享你对项目的深度研究。
2️⃣ 参与并分享真实体验
参与NERO生态周相关活动,并晒出你的参与截图、收益图或实用教程。可以是收益展示、简明易懂的新手攻略、小窍门,也可以是行情点位分析,内容详实优先。
3️⃣ 鼓励带新互动
如果你的帖子吸引到他人参与活动,或者有好友评论“已参与/已交易”,将大幅提升你的获奖概率!
NERO热门活动(帖文需附以下活动链接):
NERO Chain (NERO) 生态周:Gate 已上线 NERO 现货交易,为回馈平台用户,HODLer Airdrop、Launchpool、CandyDrop、余币宝已上线 NERO,邀您体验。参与攻略见公告:https://www.gate.com/announcements/article/46284
高质量帖子Tips:
教程越详细、图片越直观、互动量越高,获奖几率越大!
市场见解独到、真实参与经历、有带新互动者,评选将优先考虑。
帖子需原创,字数不少于250字,且需获得至少3条有效互动
OPML:采用Optimistic Rollup系统的机器学习
TL;DR
我们提出OPML(Optimistic机器学习),它可以使用Optimistic方法对区块链系统进行AI模型推理和训练/微调。
与ZKML相比,OPML可以提供低成本、高效率的ML服务。OPML的参与要求很低:我们现在能够在没有GPU的普通PC上运行带有大型语言模型的OPML,例如7B-LLaMA(模型大小约为26GB)。
OPML采用验证游戏(类似于Truebit和Optimistic Rollup系统)来保证ML服务的去中心化和可验证共识。
单阶段验证游戏
单阶段精确定位协议的工作原理与计算委托 (RDoC) 类似,其中假设两个或多个参与方(至少有一个诚实的参与方)执行相同的程序。然后,双方可以用精确的方式相互质疑,以找出有争议的步骤。将步骤发送给计算能力较弱的法官(区块链上的智能合约)进行仲裁。
在单阶段OPML中:
性能:我们在PC上测试了一个基本的AI模型(用于MNIST分类的DNN模型)。我们能够在VM中2秒内完成DNN推理,在本地以太坊测试环境中,整个挑战过程可以在2分钟内完成。
多阶段验证游戏
单阶段精确定位协议的局限性
单阶段验证游戏有一个严重的缺点:所有的计算必须在虚拟机(VM)内执行,这使我们无法充分利用 GPU/TPU 加速或并行处理的潜力。因此,这一限制严重阻碍了大模型推理的效率,这也与当前RDoC协议的限制相一致。
过渡到多阶段协议
为了解决单阶段协议所带来的限制,并确保OPML能够达到与本机环境相当的性能水平,我们提出了对多阶段协议的扩展。使用这种方法,我们只需要在最后阶段在VM中进行计算,类似于单阶段协议。对于其他阶段,我们可以灵活地执行计算,从而在本机环境中实现状态转换,利用CPU、GPU、TPU甚至并行处理的能力。通过减少对VM的依赖,我们显著地减少了开销,从而显著提高了OPML的执行性能,几乎与本机环境类似。
下图演示了一个验证游戏由两个阶段(k = 2)组成。在阶段1中,该过程类似于一个单阶段验证游戏,其中每个状态转换对应于一个改变虚拟机状态的单个VM微指令。在阶段2中,状态转换对应于包含改变计算上下文的多个微指令的“大指令”。
提交者和验证者将首先使用二分协议启动第二阶段的验证游戏, 以定位“大指令”上的争议步骤。此步骤将发送到下一阶段,即phase -1。第一阶段的工作原理类似于单阶段验证游戏。第一阶段的二分协议将有助于定位 VM 微指令上的争议步骤。该步骤将发送至区块链上的仲裁合约。
为了确保过渡到下一阶段的完整性和安全性,我们依赖于默克尔树。该操作包括从更高级别的阶段提取Merkle子树,从而保证验证过程的无缝延续。
多阶段OPML
在本演示中,我们提出了 LLaMA 模型中使用的两阶段 OPML 方法:
值得注意的是,当计算图中单个节点的计算仍然计算复杂时,我们预计会引入多阶段OPML方法(包括两个以上阶段)。这一延长将进一步提高验证过程的整体效率和有效性。
性能改进
在这里,我们对我们提出的多阶段验证框架进行了简要的讨论和分析。
假设有n DNN计算图中的节点,每个节点需要取m VM微指令,在VM中完成计算。假设使用GPU或并行计算对每个节点的计算加速比为α 。该比率表示通过GPU或并行计算实现的加速,并且可以达到显着值,通常比VM执行速度快几十倍甚至数百倍。
基于这些考虑,我们得出以下结论:
1.两阶段OPML优于单阶段OPML,实现了计算加速α次。多阶段验证的使用使我们能够利用GPU或并行处理提供的加速计算能力,从而显着提高整体性能。
2.当比较Merkle树的大小时,我们发现在两阶段OPML中,大小为O(m+n),而在单阶段OPML中,尺寸明显大于 O(mn)。Merkle树大小的减小进一步突出了多阶段设计的效率和可扩展性。
总之,多阶段验证框架提供了显着的性能改进,确保更高效和更快的计算,特别是在利用GPU或并行处理的加速能力时。此外,减小的Merkle树大小增加了系统的有效性和可扩展性,使多阶段OPML成为各种应用的选择。
一致性与确定性
在OPML中,确保ML结果的一致性是至关重要的。
在DNN计算的本机执行过程中,特别是在不同的硬件平台上,由于浮点数的特性,可能会产生执行结果的差异。例如,涉及浮点数的并行计算,例如(a+b)+c与a+(b+c), 由于舍入误差,通常会产生不相同的结果。此外,编程语言、编译器版本和操作系统等因素都可能影响浮点数的计算结果,从而导致ML结果进一步不一致。
为了应对这些挑战并保证OPML的一致性,我们采用了两种关键方法:
1.采用定点算法,又称量化技术。这种技术使我们能够使用固定精度而不是浮点数来表示和执行计算。通过这样做,我们减轻了浮点舍入误差的影响,从而获得更可靠和一致的结果。
2.我们利用基于软件的浮点库,这些库旨在跨不同平台保持一致的功能。这些库确保了ML结果的跨平台一致性和确定性,而无论底层硬件或软件配置如何。
通过结合定点算法和基于软件的浮点库,我们为在OPML框架内实现一致和可靠的ML结果奠定了坚实的基础。这种技术的协调使我们能够克服浮点变量和平台差异带来的固有挑战,最终增强OPML计算的完整性和可靠性。
OPML vs ZKML
*:在当前的OPML框架中,我们的主要重点在于ML模型的推理,从而实现高效且安全的模型计算。然而,必须强调的是,我们的框架也支持训练过程,使其成为各种机器学习任务的通用解决方案。
请注意,OPML仍在开发中。如果您有兴趣成为这一激动人心的计划的一部分,并为OPML项目做出贡献,请随时与我们联系。