当前位置: 首页 > news >正文

ms-swift 3.x和2.x中参数不一致的暗坑

虽然ms-swift 3.x发布也有一段时间 官方文档也对使用上参数的变动做了一些说明 

ReleaseNote 3.0 — swift 3.2.0.dev0 文档
但是这个说明基本上都是说 某些参数的命名 发生了变化 
对于一些 参数命名没变但默认值/使用方式 的变化 暂时还没给出说明/统计文档

我这边基于工作中遇到的一些坑,整理了部分,希望大家在使用的时候留意。
注意,在这个文档里官方已给出的参数差异我在这不做赘述分析,只展示我个人发现的一些暗坑,时间关系没有做精准校对,如果发现写错or官方更新文档 还请评论区提醒我

一、MLLM中sft full时默认可训练参数的变化

在swift2.x版本中,对MLLM进行SFT full训练的时候,默认是全参数训练的,见

但是在3.x中很坑的一点是默认只训练LLM,冻结vision encoder和adapter。。。

所以在swift 3.x用full sft训练MLLM的时候,切记把freeze_vit和freeze_aligner参数设置为False

二、梯度累加gradient_accumulation_steps


这个参数影响了total_batch_size或者说模型训练花的steps

在2.x中,默认为一个公式计算方法,以8卡为例,这个数值默认为2,也就是说total_batch_size会翻倍

然而在3.x中,默认为1

所以就会导致如果非16卡训练,2.x中和3.x中即使对齐了batch_size,最终的训练step也会有出入。

三、推理的时候--model和--adapters的区别

官方总文档里应该是有写这俩参数的区分,但是因为踩过坑,我在这里再注明一下
当全参数(sft full)训练的时候,推理infer的时候用--model xxx/path
当lora训练的时候,推理用--adapters xxx/path

相关文章:

  • string类详解(下)
  • Spark内存并行计算框架
  • 设计模式教程:模板方法模式(Template Method Pattern)
  • 体验腾讯tencent-deepseek-R1模型
  • 计算机毕业设计SpringBoot+Vue.js中小企业设备管理系统(源码+文档+PPT+讲解)
  • Linux: 已占用接口
  • 自动驾驶FSD技术的核心算法与软件实现
  • 【NLP面试八股-NLP常见面试问题详细回答】
  • 深度学习相关名词功能总结
  • AXI协议详解及FPGA仿真
  • 51 哈希表的实现
  • C++进程崩溃常见原因列举
  • 差旅费控平台作用、功能、11款主流产品优劣势对比
  • 202年充电计划——自学手册 网络安全(黑客技术)
  • 链表-回文链表
  • Spring Boot集成MyBatis访问MySQL:从项目搭建到基础数据库查询(基础入门)
  • 网络安全考什么证_网络安全认证:软考证书成行业新宠
  • URL 对字母大小写敏感么?
  • CF1305C Kuroni and Impossible Calculation
  • AI人工智能机器学习之监督学习和集成学习
  • 宠物网站开发背景/谷歌浏览器chrome官网
  • 网站做微信支付功能/新站点seo联系方式
  • 买公司的网站建设/郑州网络推广排名
  • 网站建设 全网推广/北京seo诊断
  • 招商网站大全五金电器/广州seo工程师
  • 网站建设建站网易互客/武汉网站seo服务