登录

小红书开源BigMac:把多模态训练的显存与速度,从二选一中解放出来


速读:其一,编码器与生成器的耗时波动不再沿LLM流水线一路传导,LLM仍按自己本该遵循的节奏推进;。
2026-07-23 10:11

多模态大语言模型正在成为新一代 AI 的地基,但它的训练系统却被一个老问题卡了很久——算得快的,显存撑不住;显存省着的,速度又掉下去。小红书 dots infra 团队把这个两难叫做多模态流水训练的帕累托前沿,而现在他们把这个前沿撕开了一道口子。7月22日,团队正式开源了名为 BigMac 的流水并行训练新范式,专门针对原生多模态场景,开源地址已挂在 GitHub 的 Dots-Infra 之下。

多模态模型从来不是一块规整的 transformer。一个典型的 MLLM 由三块拼成:把图像、音频转成 embedding 的模态编码器,在其上做推理的 LLM 主干,以及把 LLM 输出映射回图像、语音等目标模态的生成器。这三块形态差异巨大,把它们塞进同一条流水线,麻烦就来了。

image.png

业界此前通常两条路:一条计算高效,把编码器和生成器从 LLM 流水线里摘出去单独跑,好处是模态模块的耗时波动不会在 LLM 流水线里制造空泡,坏处是激活显存会随 microbatch 数量一路膨胀,生产规模下尤其昂贵;另一条显存高效,把所有模块塞进同一条流水线做首尾阶段,激活生命周期短了、显存低了,但只要某个编码器或生成器慢一点,整条 LLM 流水线就得干等,尾部空泡随之而生。规模一大,这两种设计的瓶颈都会暴露。

BigMac 的出发点朴素却关键:调度的主干,仍然应该是那条已经高度优化的 LLM 流水线。大规模 LLM 训练早已依赖1F1B 或 interleaved1F1B 这类成熟 schedule,它们与生产级训练栈深度绑定。BigMac 不替换它们,而是把 LLM schedule 当作底层时间线,再把编码器和生成器的计算,插入到输入已就绪、且不会打乱 LLM 执行顺序的位置。团队称这种设计为准依赖安全的嵌套流水线。

它带来两个性质:其一,编码器与生成器的耗时波动不再沿 LLM 流水线一路传导,LLM 仍按自己本该遵循的节奏推进;其二,模态激活显存被算法层面压到 O(1),编码器不必为所有 microbatch 保留激活直到流水线结束,生成器也不必拖着长长的激活尾巴。换句话说,BigMac 不是在显存和空泡之间做交换,而是改写了 schedule 的结构,让这两个目标不再非此即彼。

image.png

从能设计 schedule 到真正训得起来,中间还隔着系统集成、接口定义和性能排查这一整套工程关卡,BigMac 正是冲着这些环节去的。它给了三件东西。 第一 是把全局 schedule 摆到明面上:运行时的 Scheduler 会生成一张覆盖所有 pipeline rank、microbatch 和模块类型的全局 operator 表,Executor 再把它拆成每个 rank 上的本地序列,分发给 Megatron Core 等 LLM 后端、模态 runtime 和通信后端。调度策略从此可见、可检查,又对后端友好。

第二是对算法工程师无感的流水并行接口:工程师只需描述每个模块生产什么、消费什么,剩下的 stage 划分、activation 与 gradient 交接、跨设备通信全由 BigMac 在底层料理,让一个在单卡上验证过的多模态实验,能更自然地扩展到流水并行。第三是一套理解 schedule 结构的 profiler、simulator 和可视化工具链,把一次训练迭代拆回 operator 级别,看清每个 rank 在每个时间点究竟在算什么、在哪里空转、哪条依赖卡住了后续;simulator 还能在花大钱启动训练前,先试不同的 PP 配置和 microbatch 组合,预估对空泡和吞吐的影响。

效果在两类代表性负载上得到了验证。MLLM-Understanding 用 Qwen3-30B-A3B 当主干、配一个1.3B 的 ViT 编码器,相比计算高效基线 Optimus,BigMac 提速1.08到1.1倍,相比显存高效基线 Megatron-DistTrain 提速1.6到1.9倍;更关键的是显存,随着 per-GPU batch size 增大,BigMac 的峰值显存保持平稳,而 Optimus 因为要保留编码器激活,显存一路飙升并最终在更大 batch 下直接 OOM。MLLM-Generation 更复杂,加上了一个20B 的 MMDiT 生成器,差异被放大:Optimus 在所有测试 batch size 上全部 OOM,BigMac 则靠及时跑 generator backward、快速释放生成器侧激活躲过了这一劫,相比 Megatron-DistTrain 仍取得1.5到1.9倍加速,显存依旧稳定。这正是嵌套流水线最值钱的场景——系统必须同时伺候编码器和生成器的依赖,又没法承受大量激活驻留或严重空泡。

目前,BigMac 已经作为 dots 多模态模型训练的核心组件之一,跑在了小红书的生产环境里。相关论文 BigMac: Breaking the Pareto Frontier of Compute and Memory in Multimodal LLM Training 已挂在 arXiv 上,团队也同步放出了交互式 PP Profiler 的 trace 示例。对正在被多模态训练显存与速度两头夹击的研究者和工程师来说,这份带着生产验证的开源,或许能省下不少重新造轮子的时间。

主题:显存|生成器|编码器|LLM流水线