热门搜索:和平精英 原神 街篮2 

您的位置:首页 > > 教程攻略 > ai资讯 >BigMac - 小红书开源的多模态大模型流水并行训练框架

BigMac - 小红书开源的多模态大模型流水并行训练框架

来源:互联网 更新时间:2026-07-25 14:47

BigMac是什么

BigMac,这个听起来像汉堡的名字,实际上是小红书 dots infra 团队开源的多模态大模型流水并行训练框架。它要解决的核心问题很简单:多模态大模型训练时,计算效率和显存占用往往是一对矛盾——想算得快,显存容易爆;想省显存,计算效率又上不去。BigMac 给出的方案是“依赖安全的嵌套流水线范式”。通俗点说,它把成熟的 LLM 流水线当作主干,在不打乱原有执行顺序的前提下,像搭积木一样把编码器和生成器的计算嵌入进去。实际效果如何?训练速度能提升 1.08 到 1.9 倍,同时显存保持稳定。目前它已经是 dots 多模态训练的核心组件,在生产环境中跑得挺稳。

BigMac的主要功能

  • 依赖安全的嵌套流水线

    :以 LLM pipeline 为稳定主干,只在依赖关系满足的位置插入 encoder / generator 计算,避免跨模块的 bubble 干扰。
  • 显存有界的模态激活

    :编码器和生成器的激活显存被压到 O(1),LLM 的激活行为保持不变。这意味着可以支持更大的 batch size,而不用担心 OOM。
  • 全局调度与执行解耦

    :Scheduler 会生成一张覆盖所有 rank、microbatch 和模块的全局 operator 表;Executor 只负责解释本地的 operator 序列,然后分发给对应的后端执行。
  • 流水线无感接口

    :算法工程师只需要描述模块的输入输出边界,BigMac 自动处理 schedule、handoff 和跨设备通信。模型代码保持模块化,不用关心底层 pipeline 细节。
  • Schedule-aware 工具链

    :内置 profiler、simulator 和可视化工具,支持 per-operator 级别的 trace 导出(兼容 Perfetto UI),可以快速定位 bubble、慢算子以及通信等待。

BigMac的技术原理

  • 依赖安全的嵌套流水线调度

    :BigMac 把 LLM pipeline 作为基础时间线。调度器会分析 encoder forward / LLM forward / generator forward 以及对应 backward 之间的数据依赖关系,只在输入已经就绪、且不会打乱 LLM 执行顺序的“空档”里插入模态计算。这样一来,LLM 按原 schedule 持续推进,encoder 和 generator 的激活也能在梯度就绪后尽快释放,backward 及时执行。结果就是打破了“计算高效必高显存、显存高效必多 bubble”的帕累托权衡。
  • 全局 Operator 表与后端解耦

    :系统把调度策略显式化为一张全局 operator 表,这张表包含了所有 pipeline rank 上 LLM / encoder / generator 的 forward/backward operator 以及模块边界的通信。执行层只需要解释本地的 operator 序列,LLM operator 复用 Megatron Core,模态 operator 保留自己的 data-parallel / FSDP 实现。调整 schedule 时不需要重写模型 runtime,灵活度很高。

如何使用BigMac

  • 定义模块边界

    :按照模块化的方式编写 encoder_forward、llm_forward、generator_forward 函数,声明好每个模块的输入输出。
  • 接入 BigMac 接口

    :通过 PP-transparent 接口注册模块,BigMac 会自动处理 pipeline stage 划分、activation handoff、gradient handoff 和跨 rank 通信。
  • 配置并行策略

    :设置好 PP / VPP、microbatch 数量、模块放置策略等参数。
  • 运行训练

    :启动 Scheduler 生成全局计划,Executor 在各 rank 上执行 operator 序列。
  • 性能诊断

    :用内置 profiler 采集 per-operator 时间,导出 rank-aligned timeline 到 Perfetto UI 分析 bubble 与瓶颈;或者用 simulator 在启动训练前快速迭代并行策略。

BigMac的核心优势

  • 打破帕累托前沿

    :同时实现高计算效率与低显存占用,不用再二选一。
  • LLM 流水线零干扰

    :保留成熟 LLM schedule,编码器/生成器的耗时波动不会沿着 pipeline 传播。
  • 显存可扩展

    :encoder / generator 激活显存保持在 O(1),支持生产级的大 batch 训练。
  • 算法友好

    :模型代码无需感知 pipeline runtime,单卡验证的实验可以自然扩展到流水并行。
  • 可调试可部署

    :全局 schedule 可见可检查,配套 trace / simulation 工具链降低了性能优化成本。

BigMac的项目地址

  • 项目官网

    :https://dots-infra.github.io/BigMac/
  • GitHub仓库

    :https://github.com/Dots-Infra/BigMac/
  • arXiv技术论文

    :https://arxiv.org/pdf/2605.25451

BigMac的同类竞品对比

维度 BigMac Megatron-LM
调度范式 依赖安全的嵌套流水线,LLM 为主干 显存高效的单条流水线,模态模块作为独立 stage
计算效率 高,无跨模块 bubble 中,encoder/generator 波动会引入 pipeline bubble
显存占用 稳定,模态激活 O(1) 较低,但随模块耦合显存优化空间有限
扩展性 支持理解+生成双路径大规模训练 生成路径扩展时 bubble 与显存压力显著
接口友好度 PP-transparent,算法代码零侵入 需理解并适配 pipeline runtime 与 stage 划分
工具链 内置 schedule-aware profiler + simulator 依赖传统 nsys / torch trace 手动关联分析

BigMac的应用场景

  • 多模态理解模型预训练

    :比如图文理解、视频理解这类 MLLM 的端到端预训练,需要高效处理 ViT / Whisper 等编码器与 LLM 的流水协同。
  • 多模态生成模型训练

    :同时包含理解与生成路径的场景(如图像生成、语音合成),需要协调 LLM 与 MMDiT / LDM 等生成器的双向依赖。
  • 大规模 batch 训练

    :在显存受限的集群上追求更大的 global batch size,避免传统计算高效设计因 activation 累积导致 OOM。
  • 快速实验迭代

    :算法团队可以在单卡或 DP 环境下验证模型结构,然后通过 BigMac 接口无缝扩展到 pipeline 并行,无需重写代码。
  • 训练性能调优

    :工程团队可以用 schedule-aware profiler 和 simulator 定位 pipeline bubble,优化并行配置与模块放置策略。

热门手游

相关攻略

手机号码测吉凶
本站所有软件,都由网友上传,如有侵犯你的版权,请发邮件haolingcc@hotmail.com 联系删除。 版权所有 Copyright@2012-2013 haoling.cc