ms-swift 详解:魔搭 SWIFT 微调与部署

ms-swift(ModelScope SWIFT,Scalable lightWeight Infrastructure for Fine-Tuning)是魔搭社区主推的 LLM 训练—推理—部署工具集,对 Qwen、GLM、InternLM 等国产权重与 ModelScope 数据集原生友好。选型见 03-00 横向对比

段末注释:ModelScope(魔搭)是阿里云推出的开源模型与数据集社区平台;SWIFT 为其配套的高效微调框架。

系列索引:微调技术路线导读 | 实战可参考 AMD 魔搭下载权重


一、定位

优势 相对 LLaMA-Factory
ModelScope 模型/数据一键拉取 Factory 偏 HF Hub
Qwen 全系 template 维护及时 国产模型同样强但生态中心不同
训练后可接 swift 推理/部署 各有导出能力

适合:已用魔搭下模型、Qwen 系、国内网络环境。


二、安装

1
2
pip install ms-swift -U
# 或按官方文档安装完整依赖(torch、transformers 等)

建议与 ModelScope 账号、modelscope SDK 配合下载私有或 gated 权重。


三、数据准备

支持 messages JSONL、Alpaca、自定义 preprocessor。示例 train.jsonl

1
{"messages": [{"role": "user", "content": "文本"}, {"role": "assistant", "content": "joy"}]}

清洗规范见 01-02;格式见 01-01


四、CLI 微调(LoRA SFT)

典型命令结构(参数名随版本演进,以官方文档为准):

1
2
3
4
5
6
7
8
9
10
11
12
swift sft \
--model_type qwen2-7b-instruct \
--model_id_or_path Qwen/Qwen2-7B-Instruct \
--dataset emotion-classify-jsonl \
--sft_type lora \
--lora_rank 16 \
--lora_alpha 32 \
--learning_rate 1e-4 \
--num_train_epochs 1 \
--batch_size 4 \
--max_length 2048 \
--output_dir output/qwen-emotion-lora
参数族 含义
model_type 内置架构与 template 映射
sft_type lora / full / qlora
dataset 已注册或本地路径
max_length 等同 max_length / cutoff_len

五、QLoRA 与多卡

  • QLoRA--sft_type qlora + 量化相关 flag(见当前版文档)。
  • 多卡NPROC_PER_NODE=4 swift sft ... 或 DeepSpeed 参数。

显存策略叠加 07-01;ROCm 环境参考 AMD 实战用 BF16 LoRA 避 QLoRA 坑。


六、DPO / RLHF

1
swift rlhf --rlhf_type dpo ...

数据需偏好对;概念见 01-0306-01 DPOTrainer。swift 封装了流程,深度定制仍可用 TRL。


七、推理与导出

1
swift infer --ckpt_dir output/qwen-emotion-lora

支持 merge LoRA、导出为 Hugging Face 格式,便于 Ollama/vLLM 部署。


八、与 SFTTrainer 对照

ms-swift SFTTrainer
模型来源 ModelScope 优先 Hugging Face Hub
配置 CLI 参数 / json Python
评估 内置 + 可扩展 完全自控 04
可复现 保存完整 CLI 保存脚本 + SFTConfig

九、常见踩坑

现象 对策
model_type 选错 与 checkpoint 架构严格对应
下载超时 modelscope 缓存目录、镜像
template 错误 qwen 系 instruct 的默认 template
与 HF 路径混用 统一 model_id_or_path 来源

十、小结

ms-swift = 魔搭生态的一站式微调;Qwen/国产模型首选之一。国际化或多 TRL 定制场景可并列使用 LLaMA-FactorySFTTrainer

横向对比:03-00

-------------本文结束感谢您的阅读-------------