执行摘要
- 一句话:修复Geo3K VLM SFT启动脚本中--apply-chat-template参数导致的类型错误。
- 推荐动作:该PR变更简单直接,适合快速浏览以了解SFT数据流中的参数处理问题。对于从事VLM SFT或类似训练脚本开发的工程师,值得关注消息格式在训练流水线中的传递一致性。
功能与动机
PR body明确指出,--apply-chat-template参数会将messages列表转换为纯字符串,而sft_rollout.generate_rollout()期望sample.prompt是一个消息字典列表,传递字符串会导致运行时TypeError,训练立即失败。
实现拆解
仅修改了一个文件:examples/geo3k_vlm/run_geo3k_vlm_sft.sh,从SFT_ARGS数组中移除了--apply-chat-template参数。该参数原本用于将消息列表转换为聊天模板字符串,但SFT rollout需要原始列表结构来构建损失掩码。
关键文件:
examples/geo3k_vlm/run_geo3k_vlm_sft.sh(模块 examples/geo3k_vlm): 唯一修改的文件,移除了导致TypeError的--apply-chat-template参数,直接修复了SFT训练失败问题。
关键符号:sft_rollout.generate_rollout()
评论区精华
由于review_comments_count为0,没有review讨论记录。
风险与影响
- 风险:风险较低:
- 回归风险:移除参数可能影响其他依赖该参数的场景,但PR body说明prepare_sft_data.py已生成结构化列表,SFT rollout直接消费,因此风险可控。
- 兼容性:仅影响geo3k_vlm SFT训练脚本,不涉及核心系统模块。
- 测试覆盖:未提及测试变更,依赖现有SFT流程验证。
- 影响:影响范围有限:
- 用户影响:修复后Geo3K VLM SFT训练可以正常运行,避免因TypeError中断。
- 系统影响:仅修改示例脚本,不影响slime核心架构或运行时。
- 团队影响:简化了SFT数据流,移除不必要的参数转换步骤。
- 风险标记:参数移除影响
关联脉络
- PR #1760 [Multimodal] Add Multimodal OPD support: 同属多模态(multimodal)相关PR,1760为on-policy distillation添加多模态支持,本PR修复VLM SFT训练脚本,显示团队在多模态训练流水线上的持续改进。
- PR #1756 [Fix]Fix some bugs/clean up: 同属bugfix类别,1756修复了检查点加载等问题,本PR修复脚本参数问题,体现常规维护模式。
参与讨论