news 2026/11/3 10:21:43

Vision-DeepResearch SFT 训练实战:ms-swift + Megatron 8B/30B 微调脚本全流程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Vision-DeepResearch SFT 训练实战:ms-swift + Megatron 8B/30B 微调脚本全流程

【免费下载链接】Vision-DeepResearch

[ICML 2026 & EMNLP 2026] Multimodal deep-research MLLM and benchmark. The first long-horizon multimodal deep-research MLLM, extending the number of reasoning turns to dozens and the number of search-engine interactions to hundreds.

项目地址:https://gitcode.com/gh_mirrors/vi/Vision-DeepResearch
点击查看免费下载

Vision-DeepResearch 是首个长程多模态 DeepResearch MLLM,将推理轮次扩展到数十轮、搜索引擎交互扩展到数百次。本文带你走通它的SFT 训练全流程:从环境安装、Parquet 数据转 JSONL,到用 ms-swift 的 Megatron 后端对 8B 和 30B-A3B 两个模型做全参数微调,每一步都有现成脚本可用。

为什么 SFT 是多模态 DeepResearch 的关键一步 💡

DeepResearch 类任务要求模型完成"看图 → 裁剪搜索 → 阅读网页 → 多跳推理"这样的长程轨迹,普通 VLM 直接回答往往连第一跳都走不完。Vision-DeepResearch 的核心思路是:先通过高质量 SFT 数据让模型"学会"这种 ReAct 式长程搜索行为,再用 RL 强化搜索与推理能力。

SFT 阶段的训练基于 Qwen3-VL 底座,官方分别提供了 8B(Dense)与 30B-A3B(MoE)两个规模的完整微调脚本:

仓库结构与环境准备

仓库中 SFT 相关资源集中在以下位置:

资源路径
8B 训练脚本ms-swift/run/vision_deepresearch_SFT_8B_megatron_lr2e5_2ep.sh
30B-A3B 训练脚本ms-swift/run/vision_deepresearch_SFT_30B_A3B_megatron_lr2e5_2ep.sh
数据转换脚本ms-swift/run/data_prepare/convert_parquet2jsonl.sh
SFT 数据集仓库根目录data/(转换后存放)
输出检查点checkpoints/
RL 阶段代码rllm/vision_deepresearch_async_workflow/

训练栈由仓库内置的四个组件构成,按 README.md 的 Quickstart 依次安装即可:

git clone https://gitcode.com/gh_mirrors/vi/Vision-DeepResearch cd Vision-DeepResearch cd rllm/verl && pip install -e . && cd ../.. cd Megatron-LM && pip install -e . && cd .. cd mbridge && pip install -e . && cd .. cd rllm && pip install -e . && cd .. pip install requests==2.32.3 oss2

其中ms-swift 的 Megatron 后端(megatron sft命令)是整个训练流程的入口,它把 Megatron-LM 的 TP/PP/CP/SP/EP 并行技术与 mbridge/ 的 Mcore-Bridge 能力封装成一条命令行,可以直接读写 safetensors 权重,无需手动转换模型格式。更详细的原理可参考 ms-swift/docs/source/Megatron-SWIFT/Mcore-Bridge.md。

⚠️ Megatron 训练需要transformer_engine、apex、flash_attn等 GPU 依赖,安装细节见 ms-swift/docs/source/Megatron-SWIFT/Quick-start.md。

SFT 数据准备:Parquet 一键转 JSONL

官方冷启动(Cold-start)数据集以 Parquet 格式发布,图片以字节流形式嵌在表内。ms-swift 训练需要的是JSONL + 磁盘图片文件,转换只需一条命令:

bash ms-swift/run/data_prepare/convert_parquet2jsonl.sh

脚本内部调用 convert_parquet2jsonl.py,完成三件事:

  1. 按魔数(PNG/JPG/GIF 头)识别图片格式,把字节流转存为--image_dir下的独立图片文件;
  2. 将多轮对话、工具调用(搜索/网页访问)字段序列化为 JSONL 行;
  3. 处理 numpy 类型与 NaN,保证 JSON 可序列化。

转换完成后,训练时通过--dataset 'data/Vision-DeepResearch-Toy-SFT-Data.jsonl'指向该文件即可。

8B 微调脚本参数详解

8B 脚本面向4 节点 × 8 卡(32×80GiB)的集群,核心是megatron sft一条命令:

cd ms-swift bash run/vision_deepresearch_SFT_8B_megatron_lr2e5_2ep.sh

关键参数解读(完整脚本见 vision_deepresearch_SFT_8B_megatron_lr2e5_2ep.sh):

参数取值作用
--modelQwen/Qwen3-VL-8B-Instruct底座模型,直接读 safetensors
--load_safetensors/--save_safetensorstrueMcore-Bridge 无缝加载/保存,免权重转换
--tensor_model_parallel_size4张量并行度 4
--sequence_paralleltrue序列并行,进一步省显存
--max_length64000单样本最大长度,适配长程轨迹
--packingtrue打包长短样本,GPU 负载均衡、显存稳定
--micro_batch_size/--global_batch_size1 / 64梯度累加实现全局批 64
--recompute_granularityfull(uniform/1 层)激活重计算,换显存
--lr/--min_lr2e-5 / 5e-7学习率与余弦衰减下限
--max_epochs2训练 2 个 epoch
--save_interval500每 500 步存一次检查点
--no_save_optim/--no_save_rngtrue只存权重,SFT 产物可直接部署推理
--attention_backendflashFlashAttention 后端
--report_towandb实验追踪(脚本运行前需wandb login)

由于多模态轨迹普遍很长,脚本用--max_length 64000+--packing true的组合是重点:packing 会把不同长度的样本拼成近似等长块,避免长样本拖慢短样本、保证各进程负载均衡。注意 packing 会减少样本数,如自行改数据量,需同步调节global_batch_size和学习率(参数说明见 Command-line-parameters.md)。

30B-A3B MoE 微调:多出来的 6 个参数

30B-A3B 是 MoE 架构(30B 总参数、约 3B 激活),脚本在 8B 基础上新增专家并行与 MoE 融合优化,硬件规模同为 4 节点 × 8 卡:

cd ms-swift bash run/vision_deepresearch_SFT_30B_A3B_megatron_lr2e5_2ep.sh

差异参数(完整脚本见 vision_deepresearch_SFT_30B_A3B_megatron_lr2e5_2ep.sh):

参数取值作用
--expert_model_parallel_size8专家并行度 8,MoE 专家分布到更多卡
--context_parallel_size2上下文并行,进一步摊薄 64K 长序列显存
--moe_permute_fusiontrue融合 token permute/unpermute 通信
--moe_grouped_gemmtrueGrouped GEMM,按专家批量矩阵乘
--moe_shared_expert_overlaptrue共享专家计算与通信重叠
--moe_aux_loss_coeff1e-6负载均衡辅助损失权重
--moe_expert_capacity_factor2专家容量因子,防止 token 被丢弃

官方建议MoE 训练优先使用 Megatron-SWIFT,相比普通数据并行可获得数量级的训练加速(见 Quick-start.md)。

训练监控与检查点管理 📈

  • 多机启动:脚本内已写好NNODES=$WORLD_SIZE、NODE_RANK=$RANK、NPROC_PER_NODE=8,直接由多机调度器拉起即可;单机调试可把NPROC_PER_NODE与并行度按需调小。
  • 日志:--report_to wandb记录 loss/吞吐曲线;--save_interval 500将检查点按--save checkpoints/Vision-DeepResearch-SFT-8B-lr2e5-2ep写入 checkpoints/ 目录。
  • 产物格式:因开启--save_safetensors true,检查点可直接被 transformers / vLLM / SGLang 加载,无需再走 Megatron→HF 转换。
  • 评估:--eval_interval 50000000被刻意设得很大,即训练期间不做内置评估;SFT 后的能力验证建议部署到 vLLM 服务,再跑 rllm/eval/run_eval.sh 上的 VDR-Bench 等基准。

常见问题速查 ✅

问题处理方式
显存不够调大--recompute_num_layers、增大 TP/CP,或用--optimizer_cpu_offload卸载优化器状态
多机训练卡住设置MODELSCOPE_CACHE指向共享存储,保证各节点数据集缓存一致
想只训练 LLM、冻结视觉塔参考 Multimodal-Model.md 的--freeze_vit/--freeze_aligner
长序列被截断确认--max_length与数据轨迹长度匹配;truncation_strategy默认为左侧裁剪

总结与下一步 🚀

本文走完了 Vision-DeepResearch 的 SFT 阶段:环境安装 → Parquet 转 JSONL → 8B/30B-A3B 双脚本微调 → 检查点导出,全程依托 ms-swift 的 Megatron 后端与 Mcore-Bridge 的 safetensors 无缝读写。

SFT 只是起点——模型的搜索广度与推理深度还需要强化学习来打磨。下一步可以部署 vLLM 服务、配置rllm/.env中的 API 密钥,运行 rllm/vision_deepresearch_async_workflow/run/ 下的 GRPO 训练脚本,进入 RL 阶段;完整数据构造逻辑则可对照 rllm/ 下的示例与文档进一步探索。

【免费下载链接】Vision-DeepResearch

[ICML 2026 & EMNLP 2026] Multimodal deep-research MLLM and benchmark. The first long-horizon multimodal deep-research MLLM, extending the number of reasoning turns to dozens and the number of search-engine interactions to hundreds.

项目地址:https://gitcode.com/gh_mirrors/vi/Vision-DeepResearch
点击查看免费下载

相关推荐

上一篇:1.83MB 小身材大能量:react-native-executorch-fsmn-vad XNNPACK 后端性能实测与量化取舍
下一篇:Scam-AI-Multi-modal-Evaluation-System动态评估系统实战:5级严重性分级与自定义告警规则指南

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/11/3 10:20:51

客服工单路由第一课:用 Nimble 做高并发有界判断,预算直降为 0

客服工单路由第一课:用 Nimble 做高并发有界判断,预算直降为 0 客服工单系统是典型的"高并发 有界判断"场景:每一张新工单进来,系统都要在几个固定问题上给出答案——这是什么类别的问题?优先级多高&#…

作者头像 李华
网站建设 2026/11/3 10:16:17

如何用抖音下载器一次下完一个主页的 50 条作品

如何用抖音下载器一次下完一个主页的 50 条作品 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support. 抖音批量下载工…

作者头像 李华