长序列并行是大模型训练中的关键技术。多模态模型的训练数据集具备极强异质性,传统的序列并行技术会导致不同设备负载不均、设备利用率等问题。昇腾联合香港科技大学(广州)团队提出一种灵活序列并行技术FCP,为不同序列长度指定不同的并行度,动态划分通信组和并行度,通过序列快速打包和二维动态规划算法毫秒级生成近最优并行方案,在Atlas 800T A3设备上,相比于Megatron?LM,2B~8B多模态模型实现端到端训练加速高达45%+。
论文标题:《Efficient Scaling of MLLM Training with Dynamic Hybrid Parallelism》,NeurIPS 2026接收
论文地址:
https://arxiv.org/pdf/2602.21788
一、研究背景
随着多模态大模型(MLLM)快速发展,Qwen3?VL、InternVL?3.5、GPT等模型,依靠参数量扩增、海量图文视频数据集、更高图像分辨率,获得强大的多模态理解与长上下文能力。
多模态模型的训练数据集具备极强异质性:视频时长呈长尾分布,大部分短视频仅有数秒,少量样本长达几十秒,不同样本token数量差异大。当前主流训练框架Megatron?LM、DeepSpeed大多采用静态并行策略,包含张量并行TP、流水线并行PP、序列/上下文并行SP/CP、数据并行DP。静态并行预先固定并行度,在序列长度差异大的异构数据集上,很容易出现负载不均衡、通信冗余、硬件利用率低的问题。
二、核心挑战
面向异构多模态数据集下MLLM训练,一套理想的动态序列并行框架,需要同时解决三大核心矛盾:
负载均衡:不同通信组之间计算负载要尽量均衡,减少设备同步等待,最大化硬件利用率。静态并行受长尾样本拖累,大量NPU处于空闲等待状态。
并行度弹性能力:根据序列长度自适应选择不同的序列并行度。需要支持非2的幂次的并行度。传统Ulysses 类序列并行受注意力头数约束,并行度只能取2的幂次方;短序列使用大并行度会引入不必要通信开销。
调度开销小:动态调度算法本身不能成为新瓶颈,每个batch生成的并行调度策略的延迟必须足够低,可以和模型单步训练耗时互相掩盖。
三、解决方案:FCP灵活序列并行
为了解决上述问题,本文提出Flexible Context Parallelism (FCP) 灵活序列并行框架,每个训练迭代内动态重建通信组与并行度,TP/PP 保持静态不变,动态调整CP与DP分组,通过两阶段多项式时间近似算法,毫秒级输出近最优并行方案,调度开销可以被计算过程完全掩盖。
问题建模
把集群可用计算单元划分为多个互不相交CP-DP通信组,为每个序列分配对应 CP-DP组与并行度。优化目标是最小化所有分组最大执行时间,同时满足内存上限、设备总资源约束。建模中允许CP并行度取任意正整数,突破“2 的幂次” 限制。
代价模型构建
考虑多模态模型计算特点,建立计算、内存、通信代价模型,考虑计算和通信的掩盖,训练前Profiler预采集不同序列长度、并行度下的运行数据,训练阶段直接查表预测。
内存预估:内存由模型静态内存、激活值内存两部分组成,CP会沿序列维度切分激活值。
计算代价:引入掩码效率系数刻画不同注意力掩码下的计算开销。
通信代价:建模Ring?Attention中点对点通信开销;利用Ring特性,通信与计算可以部分重叠,在总耗时中扣除重叠部分。
两阶段高效求解算法
阶段一:基于最佳适应递减算法的序列快速打包。 把单次迭代内全部序列按照内存消耗降序排序,计算每条序列最低需要的CP并行度,将短序列贪心打包进已有分组,把大量独立序列合并成少数“原子调度组”,大幅降低后续求解搜索空间,同时避免短序列打包带来的通信浪费。
阶段二:二维动态规划快速求解。通过状态转移,求解每个原子调度组分配的最优CP并行度;完成DP填表之后回溯,输出分组划分、并行度、序列分配结果。实际求解器耗时普遍小于86ms。
工程实现
FCP基于Megatron?LM做非侵入式扩展,不修改底层核心代码,新增调度器 Scheduler与性能分析Profiler两大组件,关键工程设计:
通信组池化:不在每个batch反复新建HCCL通信组,训练启动预先创建、缓存通信组,需要时复用,规避频繁创建通信组带来的缓存异常。
调度与训练异步掩盖:调度逻辑跑在CPU,NPU执行当前batch计算时,CPU并行完成下一批次的代价预估与并行策略求解,并行调度开销完全隐藏。
整体流程如上图所示:全局batch切分为微批次数据 → 调度器做序列打包得到原子组→2D?DP求解分配方案→创建通信组→下发 Executor执行前向反向计算。
四、实验评估
实验设置
硬件: 4台Atlas 800T A3;对比基线Megatron?LM、DeepSpeed?Ulysses;测试模型InternVL3、Qwen3?VL系列2B/4B/8B;数据集选用MSRVTT、InternVid、OpenVid,覆盖不同视频长尾分布场景;固定global batch size=512,评估指标为迭代耗时、单设备token吞吐。
主要结果
相比于Megatron?LM,在2B~8B模型上,实现端到端训练加速1.18X~1.46X.在数据分布差异越大的数据集上训练性能提升越明显。
集群扩展性: 从8NPU扩展至64NPU,FCP动态调度缓解扩展损失,保持接近线性扩展效率。
调度开销可完全掩盖:无论增大全局 batch、增加NPU数量,求解器耗时≤86ms,整体调度耗时始终低于单轮迭代计算时间(最大调度时间 905ms),调度开销完全可以被计算掩盖,不会拖累训练速度。
五、结语与展望
FCP灵活序列并行针对多模态数据集样本长度高度异构的痛点,为不同序列长度样本动态分配序列并行度,通过序列打包和二维动态规划两阶段算法,毫秒级生成近最优并行方案,异步调度隐藏调度开销。在昇腾Atlas 800T A3集群上,相比主流框架最高实现 46%的训练吞吐提升,同时具备良好扩展能力。目前,FCP技术已基于MindSpeed MM开发实现,相关代码已开源:https://github.com/ivanniu/FCP,后续也将合入到MindSpeed MM仓库,敬请关注:
https://gitcode.com/Ascend/MindSpeed-MM/tree/master/docs/zh/features/parallel
◆往期推荐◆
股票
板块
用户
资讯
评论 (0)