modelscope / ms-swift
modelscope/ms-swift
使用PEFT或全参数对600+大语言模型(Qwen3.6、DeepSeek-V4、GLM-5.1、InternLM3、Llama4等)和300+多模态模型(Qwen3-VL、Qwen3-Omni、InternVL3.5、Ovis2.5、GLM4.5v、Gemma4、Llava、Phi4等)进行CPT/SFT/DPO/GRPO训练(AAAI 2025)。
项目概览
项目概述
ms-swift(Scalable lightWeight Infrastructure for Fine-Tuning)是 ModelScope 社区提供的大模型与多模态大模型微调和部署框架。它支持 600+ 纯文本大模型和 400+ 多模态大模型的训练(预训练、微调、人类对齐)、推理、评估、量化和部署。项目已发表于 AAAI 2025,并持续集成最新训练技术,如 Megatron 并行、GRPO 强化学习算法族等。
核心功能
- 模型支持:支持 Qwen3、DeepSeek-V4、GLM-5.1、InternLM3、Llama4 等 600+ 文本模型,以及 Qwen3-VL、Qwen3-Omni、InternVL3.5、Ovis2.5 等 400+ 多模态模型。
- 训练任务:覆盖预训练(CPT)、监督微调(SFT)、人类偏好对齐(DPO、KTO、RM、CPO、SimPO、ORPO 等)、强化学习(GRPO、DAPO、GSPO、SAPO、CISPO、CHORD、RLOO、Reinforce++ 等)。
- 轻量微调:支持 LoRA、QLoRA、DoRA、LoRA+、LLaMAPro、LongLoRA、LoRA-GA、ReFT、RS-LoRA、Adapter、LISA 等多种方法。
- 分布式训练:支持 DDP、DeepSpeed ZeRO2/3、FSDP/FSDP2、Megatron 并行(TP/PP/CP/EP 等)。
- 多模态训练:支持文本、图像、视频、音频混合模态数据训练,支持多模态 packing 技术。
- 推理与部署:支持 Transformers、vLLM、SGLang、LMDeploy 推理加速引擎,提供 OpenAI 兼容接口。
- 量化:支持 AWQ、GPTQ、FP8、BNB 量化导出。
- 评估:集成 EvalScope 后端,支持 100+ 评估数据集。
- Web-UI:提供基于 Gradio 的零门槛训练、推理、评估、量化界面。
适用与不适用场景
适用场景:
- 需要对主流开源大模型或多模态模型进行微调(SFT、LoRA、全参数等)。
- 需要实施强化学习(如 GRPO)提升模型推理能力。
- 需要训练 Embedding、Reranker、序列分类等专用模型。
- 需要在大规模集群上训练 MoE 模型,或利用 Megatron 并行加速。
- 需要完整的训练-推理-评估-量化-部署流水线。
不适用场景:
- 需要训练 CLIP 类型的视觉编码器模型(当前不支持)。
- 需要训练非 LLM 架构的模型(如传统 CNN)。
- 需要依赖特定闭源库或未在支持列表中的硬件平台。
技术架构与依赖
- 语言:Python(>=3.10,推荐 3.12)
- 深度学习框架:PyTorch(>=2.0)
- 核心依赖:transformers、modelscope、datasets、peft、trl、deepspeed、vllm、sglang、evalscope、gradio 等。
- 硬件支持:NVIDIA GPU(A10/A100/H100/RTX 等)、AMD GPU(MI300 等)、CPU、MPS、昇腾 NPU、Metax GPU。
- 架构特点:模块化设计,支持自定义模型、数据集、模板、损失函数、优化器、回调等。
安装与快速开始
pip 安装:
pip install ms-swift -U
源码安装:
git clone https://github.com/modelscope/ms-swift.git
cd ms-swift
pip install -e .
快速开始(10 分钟自我认知微调):
CUDA_VISIBLE_DEVICES=0 \
swift sft \
--model Qwen/Qwen3-4B-Instruct-2507 \
--tuner_type lora \
--dataset 'AI-ModelScope/alpaca-gpt4-data-zh#500' \
'AI-ModelScope/alpaca-gpt4-data-en#500' \
'swift/self-cognition#500' \
--torch_dtype bfloat16 \
--num_train_epochs 1 \
--per_device_train_batch_size 1 \
--per_device_eval_batch_size 1 \
--learning_rate 1e-4 \
--lora_rank 8 \
--lora_alpha 32 \
--target_modules all-linear \
--gradient_accumulation_steps 16 \
--eval_steps 50 \
--save_steps 50 \
--save_total_limit 2 \
--logging_steps 5 \
--max_length 2048 \
--output_dir output \
--warmup_ratio 0.05 \
--dataloader_num_workers 4 \
--model_author swift \
--model_name swift-robot
典型使用方法
监督微调(SFT):
CUDA_VISIBLE_DEVICES=0 swift sft \
--model Qwen/Qwen3-4B-Instruct-2507 \
--dataset AI-ModelScope/alpaca-gpt4-data-en \
--tuner_type lora \
--output_dir output
强化学习(GRPO):
CUDA_VISIBLE_DEVICES=0,1,2,3 NPROC_PER_NODE=4 \
swift rlhf \
--rlhf_type grpo \
--model Qwen/Qwen3-4B-Instruct-2507 \
--tuner_type lora \
--use_vllm true \
--vllm_mode colocate \
--dataset AI-MO/NuminaMath-TIR#10000 \
--output_dir output
推理:
CUDA_VISIBLE_DEVICES=0 swift infer \
--model Qwen/Qwen3-4B-Instruct-2507 \
--stream true \
--infer_backend transformers \
--max_new_tokens 2048
部署:
CUDA_VISIBLE_DEVICES=0 swift deploy \
--model Qwen/Qwen3-4B-Instruct-2507 \
--infer_backend vllm
评估:
CUDA_VISIBLE_DEVICES=0 swift eval \
--model Qwen/Qwen3-4B-Instruct-2507 \
--infer_backend sglang \
--eval_backend OpenCompass \
--eval_dataset ARC_c
量化:
CUDA_VISIBLE_DEVICES=0 swift export \
--model Qwen/Qwen3-4B-Instruct-2507 \
--quant_method fp8 \
--dataset AI-ModelScope/alpaca-gpt4-data-zh \
--output_dir Qwen3-4B-Instruct-2507-FP8
配置与部署要点
- 模型与数据集下载:默认使用 ModelScope,可通过
--use_hf true切换至 HuggingFace。 - 自定义数据集:支持多种格式(messages、alpaca、query-response 等),可通过
--dataset <path>指定。 - 多模态训练:需设置环境变量如
MAX_PIXELS、VIDEO_MAX_PIXELS、FPS_MAX_FRAMES等。 - 分布式训练:使用
NPROC_PER_NODE、CUDA_VISIBLE_DEVICES控制进程数,支持 DeepSpeed、FSDP、Megatron。 - 部署:支持 vLLM、SGLang、LMDeploy 后端,提供 OpenAI 兼容接口。
- 硬件适配:支持 AMD GPU、昇腾 NPU、Metax GPU,需按文档配置相应环境。
限制、风险与许可证
- 许可证:Apache License 2.0。
- 模型与数据集许可:需遵循原始资源页面的许可。
- 已知限制:
- 不支持 CLIP 类型模型训练。
- 部分功能(如 Liger-Kernel、SGLang)在 NPU 上暂不支持。
- 量化/QLoRA 在 NPU 上未完全验证。
- 强化学习训练可能不稳定,需调整超参数。
- 风险:训练大模型需要较高硬件资源,需注意显存和计算成本。
官方链接
- GitHub 仓库:https://github.com/modelscope/ms-swift
- 论文:https://arxiv.org/abs/2408.05517
- 英文文档:https://swift.readthedocs.io/en/latest/
- 中文文档:https://swift.readthedocs.io/zh-cn/latest/
- ModelScope 社区:https://modelscope.cn/home
信息来源和分析时间
- 信息来源:GitHub 仓库 README、文档目录、发布信息。
- 分析时间:2026-07-21(基于最新发布 v4.4.2)。