LLM训练通信量减少10000倍!全新分布式优化器,整合世间算力训练强大AI
如果可以使用世界上所有的算力来训练AI模型,会怎么样?近日,凭借发布了开源的Hermes 3(基于Llama 3.1)而引起广泛关注的Nous Research,再次宣布了一项重大突破——DisTrO(分布式互联网训练)。通过使用与架构和网络无关的分布式优化器,研究人员成功将训练LLM时GPU间的通信量降低了1000到10000倍!初步技术报告:https://github.com/NousRes
近日,Nous Research宣布了一项重大突破,通过使用与架构和网络无关的分布式优化器,研究人员成功将训练LLM时GPU间的通信量降低了1000到10000倍!
如果可以使用世界上所有的算力来训练AI模型,会怎么样?

近日,凭借发布了开源的Hermes 3(基于Llama 3.1)而引起广泛关注的Nous Research,再次宣布了一项重大突破——DisTrO(分布式互联网训练)。
通过使用与架构和网络无关的分布式优化器,研究人员成功将训练LLM时GPU间的通信量降低了1000到10000倍!

初步技术报告:https://github.com/NousResearch/DisTrO/
在如此夸张的改进之下,大模型训练的重要成本和瓶颈——带宽,也就不再是问题。
使用DisTrO的方法,你可以将训练负载分布到互联网上,而整个网络世界也就成为了一个巨大的异构的AI服务器集群。
——任何有相关算力的设备都可以参与到训练过程之中。

实验证明,本文的方法基本不会导致模型性能下降,同时DisTrO-AdamW在收敛速度方面,也与标准的AdamW+All-Reduce相当。
分布式互联网训练
一般来说,训练大规模神经网络涉及到大量的通信开销。
比如做数据并行的时候,不同的训练数据在不同的硬件(显卡等)上进行前向和反向计算,之后,同一批数据计算出的梯度需要在显卡之间先完成同步,才能进入下一个epoch。

如果是模型并行,那么中间数据就需要通过All-Reduce进行拼接或者累加。
这些数据通信开销如果不能overlap掉,就会成为模型训练的瓶颈。
而恰好,老黄的显存和带宽又很贵,甚至组多卡时候需要的硬件也很贵。

为了解决这个问题,研究人员开发了DisTrO,在不依赖摊销分析的情况下,将GPU间通信要求降低了四到五个数量级,从而能够在慢速网络上对大型神经网络进行低延迟训练。
DisTrO是通用、可扩展,并且时钟同步的(与SGD、Adam等类似,每个训练步骤使用相同的算术运算并花费相同的时间)。
另外,与之前的ad-hoc低通信优化器相比,DisTrO对电信网络的拓扑和神经网络架构不敏感,能够以最小的开销原生支持分布式数据并行训练(DDP)。
LLM预训练
研究人员使用Nanotron作为预训练框架,且仅在DDP策略下运行(每个GPU都将整个模型加载到VRAM中)。
LLM选择1.2B大小的Llama 2,模型和训练所用的超参数如下:

训练数据使用Dolma v1.7数据集,随机选出的10%代表性样本(前 105B个token)。
优化器采用AdamW,β1=0.9、β2=0.95,峰值学习率为4×10e-4,使用余弦衰减方案,权重衰减设置为0.1。
作为对比的另一组实验,将AdamW替换为DisTrO-AdamW,但不更改超参数,并禁用Nanotron中的All-Reduce操作。

与以前的分布式训练方法不同,DisTrO不同步优化器状态(甚至可以无状态)。
下图是两组实验的训练损失曲线,使用105B数据训练25000步。可以看出,DisTrO的收敛能力与All-Reduce持平。

重要的是,在不影响训练效果的情况下,DisTrO将通信量从74.4GB直接减到了86.8MB!相当于带宽压力减少了857倍。

作者还表示,这857倍只是初期测试,后面调调超参数,减少个1000倍到3000倍也不是问题。
如果是后训练和微调,甚至可以实现高达10000倍的通信优化,且基本不影响训练效果。
最后,为了验证训练效果,作者在训练后的模型上执行了GPT4All零样本基准测试,并与在相同数量的token上训练的TinyLlama(checkpoint)进行了比较。

结果如上表所示,TinyLlama的架构和训练过程与本文的实验非常相似,可以作为对结果进行健全性检查的衡量标准。
未来应用
数据流
在本实验的场景中,32个节点使用最简单的All-Reduce(全连接),每个节点平均传输86.8MB(2.8MB×31),并接收相同数量的数据。

如果使用专用服务器进行数据聚合,则每个节点只需上传2.8MB数据(接收数据不变),通信量进一步减少。
另外,不对称性是有优点的,因为大多数消费互联网的带宽严重偏向于更高的下载速度。
假设稳定的网速为100Mbps下载和10Mbps上传,则最坏情况下的延迟仅为下载6.94秒,上传2.24秒,overlap一下则每步延迟为6.94秒。
ps:以上的数据传输都是原始的向量,如果用上压缩技术还能更快。
带宽
作者表示,目前的实验和研究还比较有限,无法断定随着模型变大,带宽减少的比率是会增加、减少还是保持不变。
不过目前的1.2B似乎是DisTrO能够良好工作的最小尺寸(再小就不收敛了),所以可以假设随着模型大小的增长,需要的通信会相对越来越少。
不过也可能通信量与模型大小没有关系,这时可以在不增加通信带宽的情况下增加模型大小,观察更大的模型是否会改善训练和学习的效果。
如果后一种情况属实,那么未来GPU设计和制造的范式将会被改变(更大VRAM和更窄带宽)。
恰好我们也更喜欢计算密集型负载(而不是I/O密集型),毕竟现在的带宽要比计算贵得多。
联邦学习
除了训练LLM,DisTrO还能用来做什么?
在互联网上做分布式训练,让人一下就想到了联邦学习。
在允许模型协作训练的同时,保持每个参与者的数据的私密性和去中心化,这在LLM被大公司掌握的当下,显得越来越重要。

到目前为止,联邦学习一直缺乏在有限的互联网带宽上训练大型模型的有效方法。
而DisTrO对如何处理数据,或将数据分配给各个GPU节点没有任何要求,并且可以无状态(类似于联邦平均),因此适用于联邦学习的未来。
虚拟异构GPU集群
此外,DisTrO可以创建一个完全去中心化且无需许可的网络来协作和共享资源。
实验表明,DisTrO对于训练期间少量降级或丢弃的节点具有显著的弹性,并且可以轻松地适应新节点的加入。
在这种能力加持之下,一方面可以保障整个系统的安全性,降低不可信节点使用对抗性攻击破坏运行的风险。
另一方面,也可以鼓励机构和个人灵活贡献自己的计算资源,释放潜在的算力。
甚至一些内存或者算力不太够的老卡,也能加入进来赚点外快,采用FSDP、SWARM Parallelism等策略与DisTrO协同工作。
能源
DisTrO的进一步大规模应用,可能会缓解建设大型数据中心所带来的能源消耗、基础设施成本和土地使用等相关问题。
Llama 3.1项目需要构建两个大型整体超级集群,每个集群包含 24,000个H100 GPU,仅训练过程就产生了相当于11,000吨的二氧化碳排放。

当今的LLM,除了模型参数大小的增长,训练数据量也在不断增大,导致AI相关的数据中心已经摸到了现代电网的极限。
DisTrO可用于自适应平衡多个使用过剩容量的小型模块化数据中心,通过动态平衡训练技术利用现有基础设施,减轻训练对环境的负面影响。
目前,DisTrO背后的理论还需要进一步探究,更严谨、更详细的学术论文以及完整的代码将在未来发布。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

更多推荐
所有评论(0)