多模态训练
BigMac
Zili Zhang et al., BigMac: Breaking the Pareto Frontier of Compute and Memory in Multimodal LLM Training, 2026.
这篇论文是针对多模态模型的训练的。
多模态模型有三个模块。多模态编码器(modality encoder)把多模态内容(图像,音频等)编码成 embeddings 喂给 LLM backbone,然后 LLM 的输出再喂给一个多模态生成器(modality generator)生成多模态内容。这三个模块的计算特征差别很大,不同 microbatch 的执行时间可能相差很多。
论文把现在的方法分为 compute-efficient 和 memory-efficient 两类。前者把三个模块分开训,这样 LLM 可以直接使用自己已经优化好的 1F1B schedule,不会受到其他模块执行时间波动的干扰。但这样做需要把 encoder 的 forward activations 一直存着,等 LLM 结束后才能 backward,会占用很多显存。后者把三个模块放到同一条 pipeline 里,不同 microbatch 的 foward 和 backward 可以交错执行,但由于不同模块的计算速度不均衡,会产生很多额外的 pipeline bubbles。
BigMac 有点取两者之长的意思。它提出了一种 Dependency-Safe Nested Pipeline,保留原本高效的 LLM 1F1B schedule,并将 encoder 和 generator 的 forward/backward 按照计算依赖嵌入其中。对于 encoder,BigMac 通过一个有限的 sliding window(长度为 3 就足够),提前准备好 LLM 所需的 embeddings,避免 LLM pipeline 因等待 encoder 而产生额外 bubbles;同时在梯度返回后及时执行 encoder Backward,释放对应的 activations。
这样,BigMac 既保持了 compute-efficient 方法的计算效率,又实现了 memory-efficient 方法的低显存占用。他们声称将 encoder activation memory 降至