写点什么

面向多模态 VLM 的 SFT 训练加速方案,百度百舸实测提速 5~6 倍

作者:Baidu AICLOUD

目前,百度百舸在多模态大模型训练领域已经实现 SFT 与 RL 全阶段能力覆盖。全面支持 QwenVL、InternVL、QianfanVL、LLaVA-OneVision(LLaVAOV)、Wan 系列等主流开源多模态模型。


大语言模型(LLM)通常只需处理纯文本数据,训练流程相对统一;而多模态大模型(VLM)则需同时理解文本、图像乃至视频,训练复杂度显著提升。


VLM 一般由视觉编码器和 LLM 解码器组成,其训练数据涵盖文本、图片、视频等多种模态。然而,数据类型的异构性(如文本为序列、图像为二维像素、视频为多帧时序)和序列长度的巨大差异(视频动辄上万 token,文本通常仅数百 token),导致不同模态难以放入同一个 batch 中训练,不仅造成大量 padding 浪费,还使得 GPU 负载无法对齐,训练效率显著降低。


目前主流的多模态训练框架往往仅支持单一模态组合(如仅图文或仅视频文),无法在一个 batch 中混合多种模态进行训练。而研究表明,在 SFT 阶段通过混合输入文本、图像、视频等多模态数据,有助于模型在统一主干中学习共通特征,消除单一模态局限,提升泛化能力与稳定性。


针对这一实际需求,百度百舸团队基于自研大模型训练加速框架 AIAK-Training-LLM,在 SFT 阶段实现了多模态数据混合训练,并结合离线 Sequence Packing 技术,显著提升训练效率与资源利用率。


让复杂多模态对话直接用于训练

Megatron-Energon 是 NVIDIA 提供的 Megatron 多模态数据加载器,与 Megatron 结合可以实现用户友好的多模态数据加载,但在实际使用中存在明显限制:例如单个 QA 样本不支持多轮对话,且仅允许包含一张图片或一个视频,灵活性不足。


为此,百度百舸团队基于 AIAK + Megatron + Energon 架构,对内置 DataLoader 进行深度扩展。新方案不仅新增了多种 Encoder 以适配图文、视频文等不同输入形式,还完整支持多轮对话结构,并允许单个样本中嵌入任意数量的图像或视频。同时,用户可自定义 Prompt 模板,灵活适配 ShareGPT 等真实业务中的复杂多模态对话格式,无需对原始数据进行大幅裁剪或简化,真正实现端到端的 SFT 训练兼容性。

自动化格式转换,让 ShareGPT 数据即拿即用

Megatron-Energon 原生的数据格式转换依赖交互式操作,用户需手动映射字段、反复调试结构,过程耗时且容易出错。


为此,百度百舸团队开发了自动化脚本,用户只需提供 ShareGPT 等常见格式的多模态数据集路径,即可自动转换为 Energon 可读的标准化训练格式。该方案不仅大幅提升数据准备效率,还通过统一序列化减少冗余存储,保障数据一致性与完整性,真正实现即拿即用。

用 Sequence Packing 提升 token 利用率

由于视频、图像与纯文本编码后的序列长度差异巨大,混合 batch 中短序列会造成严重计算浪费。为缓解此问题,AIAK-Training-LLM 支持多模态 Sequence Packing:将多个较短序列(如多轮文本对话)智能拼接成长度接近预设上限的长序列,使每个 batch 中的样本长度基本对齐,从而减少 padding 并提升计算效率。


此举有效提升每 batch 的有效 token 密度,在保证模型效果的前提下显著提高训练吞吐量。

用 CPU 集群离线数据 Packing,释放 GPU 集群算力

传统在线数据 Packing 由 CPU 在训练过程中动态执行,易导致 GPU 等待数据而闲置,尤其在大规模训练中会显著拉低 SM 利用率。


百度百舸团队将 packing 操作完全离线化:在训练开始前,预先完成 token 化与序列拼接,并将打包结果持久化存储。训练时直接加载已处理好的数据,无需实时计算。同时,我们将离线 Packing 流程 offload 至 CPU 集群,并与模型的分布式并行策略解耦,实现「一次预处理,多场景复用」。


这不仅大幅降低 GPU 等待时间,也显著减少训练集群的总体成本开销。

实测效果:SFT 效率与稳定性双提升

在客户真实 SFT 场景(Qwen2.5VL-72B)中,采用上述方案后,在模型收敛效果无损的前提下,取得以下实测收益:

  • 训练效率大幅提升:通过离线智能拼接短样本,Token 吞吐量提升近 100%,整体 SFT 任务完成时间缩短约 5~6 倍;

  • GPU 利用率显著优化:规整的数据供给使 GPU 持续满载运行,避免空闲等待;

  • 训练稳定性增强:离线 packing 规避了动态拼接可能引发的内存溢出问题,保障长周期 SFT 任务稳定可靠。

全阶段布局:SFT 与 RL 均已覆盖

目前,百度百舸在多模态大模型训练领域已经实现 SFT 与 RL 全阶段能力覆盖。全面支持 QwenVL、InternVL、QianfanVL、LLaVA-OneVision(LLaVAOV)、Wan 系列等主流开源多模态模型。

用户头像

Baidu AICLOUD

关注

还未添加个人签名 2022-06-13 加入

适合跑AI的云

评论

发布
暂无评论
面向多模态 VLM 的 SFT 训练加速方案,百度百舸实测提速 5~6 倍_多模态模型_Baidu AICLOUD_InfoQ写作社区