微信扫码
与创始人交个朋友
我要投稿
流水线并行是模型并行的一种,核心按照模型的层切分到不同设备进行并行计算。
流水线并行是一种并行计算策略,将模型的各个层分段处理,并将每个段分布在不同的计算设备上,使得前后阶段能够流水式、分批进行工作。流水线行通常应用于大语言模型的并行系统中,以有效解决单个计算设备内存不足的问题。
给出了一个由四个计算设备组成的流水线并行系统,包含了前向计算和后向计算。其中F1、F2、F3、F4 分别代表四个前向路径,位于不同的设备上;而B4、B3、B2、B1 则代表逆序的后向路径,也分别位于四个不同的设备上。
从图中可以看出,计算图中的下游设备(Downstream Device)需要长时间持续处于空闲状态,等待上游设备(Upstream Device)的计算完成,才能开始计算自身的任务。这种情况导致了设备的平均使用率大幅降低,形成了模型并行气泡(Model Parallelism Bubble),也称为流水线气泡(Pipeline Bubble)。
GPipe方法将小批次(Mini-batch)进一步划分成更小的微批次(Micro-batch),利用流水线并行方案,每次处理一个微批次的数据。在当前阶段计算完成得到结果后,将该微批次的结果发送给下游设备,同时开始处理后一个微批次的数据,这样可以在一定程度上减少并行气泡。
前向F1计算被拆解为了F11、F12、F13、F14,在计算设备1 中计算完成F11 后,会在计算设备2 中进行F21 计算,同时在计算设备1 中并行计算F12。相比于最原始的流水线并行方法,GPipe 流水线方法可以有效降低并行气泡。
1F1B 流水线策略,是一个前向通道和一个后向通道。1F1B 流水线策略引入了任务调度机制,使得下游设备能够在等待上游计算的同时执行其他可并行的任务,从而提高设备的利用率。1F1B 给出了非交错式和交错式两种调度模式。
1F1B 非交错式调度模式可分为三个阶段
1F1B 交错式调度模式要求Micro-batch 的数量是流水线阶段的整数倍。每个设备不仅负责连续多个层的计算,还可以处理多个层的子集,这些子集被称为模型块。设备1 可以处理层1、2、9、10,设备2 处理层3、4、11、12,依此类推。在这种模式下,每个设备在流水线中被分配到多个阶段。
53AI,企业落地应用大模型首选服务商
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-09-19
解锁医疗新未来:Sunsimiao-7B 中文医疗大模型震撼登场
2024-09-19
36%的国资央企组建大模型团队,沙丘智库发布《2024年国资央企大模型应用跟踪报告》
2024-09-18
AI大模型实战篇:LATS,可能是目前最强的AI Agent设计框架
2024-09-18
360视角:大模型幻觉问题及其解决方案的深度探索与实践
2024-09-18
太爽了!o1 现在可以天天享用了
2024-09-18
Claude Artifacts 数据分析的N种打开方式(附Prompt)
2024-09-18
如何微调(Fine-tuning)大语言模型?
2024-09-18
快速理解 GraphRAG:构建更可靠、更智能的 Chatbot
2024-07-18
2024-03-30
2024-04-26
2024-04-11
2024-05-06
2024-06-12
2024-05-09
2023-07-01
2024-07-07
2024-07-25
2024-09-18
2024-09-18
2024-09-18
2024-09-18
2024-09-18
2024-09-18
2024-09-18
2024-09-18