小红书开源BigMac:打破多模态大模型训练显存与吞吐困局
小红书dots infra团队开源了BigMac,一种针对多模态大模型训练的新范式。它通过依赖安全的嵌套流水线,在不增加LLM流水线空泡和保持激活显存有界的同时,高效实现多模态流水训练,训练速度提升1.08~1.9倍。该技术已作为dots多模态模型训练的核心组件应用于生产中。
小红书dots infra团队开源了BigMac,一种针对多模态大模型训练的新范式。它通过依赖安全的嵌套流水线,在不增加LLM流水线空泡和保持激活显存有界的同时,高效实现多模态流水训练,训练速度提升1.08~1.9倍。该技术已作为dots多模态模型训练的核心组件应用于生产中。
SynthePulse Insight · AI 深度解读
版本 1 · 1 个来源
小红书dots infra团队开源BigMac,通过依赖安全的嵌套流水线,在不增加LLM流水线空泡、保持激活显存有界的同时,高效实现多模态流水训练,训练速度较基线提升1.08~1.9倍。
多模态大语言模型(MLLM)通常包含模态编码器、LLM主干和模态生成器,它们运行在同一套GPU集群上,但计算节奏各异。将这三个模块接入同一套训练流水线后,系统面临一个帕累托前沿:吞吐和显存往往只能优先保住一个。
计算高效的设计将编码器和生成器计算从LLM pipeline中分离,避免跨模块bubble,但需长期保留activation,显存随microbatch数量增长。显存高效的设计将所有模块整合进同一条pipeline,缩短activation生命周期,但模块间依赖耦合导致bubble。对于大规模多模态训练,尤其是包含生成器的场景,这种二选一成为瓶颈。
BigMac的出发点是保留LLM pipeline作为调度主干,因为大规模LLM已依赖1F1B或interleaved 1F1B等成熟schedule。BigMac将编码器和生成器计算插入到依赖安全的位置——即输入已准备好且不扰乱LLM执行顺序。这种设计称为依赖安全的嵌套流水线。
该设计带来两个重要性质:一是保留计算效率,编码器和生成器的耗时波动不会沿LLM流水线传播;二是限制模态activation显存,BigMac在梯度就绪后尽快运行encoder/generator backward,将编码器和生成器activation显存降低到O(1),同时保持LLM activation行为不变。
BigMac运行时包含Scheduler和Executor:Scheduler生成全局operator表,覆盖所有pipeline rank、microbatch和模块类型;Executor解释本地operator序列并分发给对应后端。这种拆分使调度策略可见可检查,执行对后端友好。
BigMac提供对算法工程师无感的流水并行接口:工程师只需说明模块生产与消费关系,BigMac负责底层schedule、handoff和通信。此外,BigMac配备schedule-aware profiler、simulator和可视化工具链,帮助定位bubble来源,支持快速并行策略迭代。
团队在MLLM-Understanding和MLLM-Generation两个负载上评估。MLLM-Understanding使用Qwen3-30B-A3B作为LLM backbone和1.3B ViT encoder。相比计算高效基线Optimus,BigMac实现1.08x-1.1x加速;相比显存高效基线Megatron-DistTrain,实现1.6x-1.9x加速。
显存方面,随着per-GPU batch size增加,BigMac的peak memory保持稳定,类似显存高效基线;而Optimus显存快速增长,在更大batch size下OOM。在MLLM-Generation负载(增加20B MMDiT generator)上,Optimus在所有测试batch size下均OOM,BigMac通过及时运行generator backward避免了该问题,并实现1.5x-1.9x加速。
本文信息来源于机器之心发布的小红书dots infra团队技术文章,包含论文和开源项目细节。实验数据为团队自述,未获第三方独立验证。
BigMac通过嵌套流水线设计,打破了多模态训练中计算效率与显存效率的帕累托前沿,为大规模多模态训练提供了一种兼顾速度与显存的可行方案。
主报道
主报道来源