news 2026/9/14 7:24:38

ms-swift 全流程指南:600+ 大模型与 400+ 多模态大模型的训练、强化学习、推理与部署

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ms-swift 全流程指南:600+ 大模型与 400+ 多模态大模型的训练、强化学习、推理与部署

ms-swift 全流程指南:600+ 大模型与 400+ 多模态大模型的训练、强化学习、推理与部署

【免费下载链接】swiftUse PEFT or Full-parameter to CPT/SFT/DPO/GRPO 600+ LLMs (Qwen3.6, DeepSeek-V4, GLM-5.1, InternLM3, Llama4, ...) and 300+ MLLMs (Qwen3-VL, Qwen3-Omni, InternVL3.5, Ovis2.5, GLM4.5v, Gemma4, Llava, Phi4, ...) (AAAI 2025).项目地址: https://gitcode.com/GitHub_Trending/swift1/swift

ms-swift(Scalable lightWeight Infrastructure for Fine-Tuning)是 ModelScope 社区提供的大模型与多模态大模型微调、部署框架,覆盖预训练、微调、人类对齐、推理、评估、量化与部署的完整链路,并已由 AAAI 2025 收录论文。本文以仓库 README.md 为主线,结合 swift/cli/main.py、swift/rlhf_trainers 等源码与 examples 下真实训练脚本,系统讲解 ms-swift 的核心能力、安装方式、命令行与 Python 双接口、以及从自认知微调到 GRPO 强化学习、Megatron 并行训练和推理部署的完整实战路径。读完本文,你将掌握如何用一条命令完成模型微调、如何挑选合适的强化学习与并行训练方案,以及如何将训练产物推理、部署、量化并推送回模型库。

一、项目概览:为什么选择 ms-swift

1.1 定位与覆盖面

根据 README 的介绍,ms-swift 的核心定位是大模型与多模态大模型训练到部署的全流程框架,当前已支持:

  • 模型类型:600+ 纯文本大模型与 400+ 多模态大模型,以及 All-to-All 全模态模型,覆盖 Qwen3、Qwen3.5、InternLM3、GLM4.5、Mistral、DeepSeek-R1、Llama4 等文本模型,以及 Qwen3-VL、Qwen3-Omni、Kimi-K3、Llava、InternVL3.5、MiniCPM-V-4、Ovis2.5、GLM4.5-V、DeepSeek-VL2 等多模态模型,并提供热门模型的 Day-0 支持;
  • 数据集:内置 150+ 预训练、微调、对齐、多模态等任务数据集,同时支持自定义数据集,用户只需准备好数据即可一键训练;
  • 硬件:支持 A10/A100/H100、RTX 系列、T4/V100、AMD GPU(MI300 系列等)、CPU、MPS 以及国产昇腾 NPU 等;
  • 训练任务:预训练与指令微调,以及 DPO、GKD、KTO、RM、CPO、SimPO、ORPO 等偏好学习算法,并支持 Embedding/Reranker 与序列分类任务;
  • 强化学习:内置丰富的 GRPO 算法族,包括 GRPO、DAPO、GSPO、SAPO、CISPO、CHORD、RLOO、Reinforce++ 等;
  • 并行训练:除 DDP、device_map、DeepSpeed ZeRO2/ZeRO3、FSDP/FSDP2 外,还支持 Megatron 的 TP/PP/SP/CP/ETP/EP/VPP 并行策略,显著加速 MoE 模型训练;
  • 推理加速:支持 Transformers、vLLM、SGLang、LMDeploy 四种推理后端,并提供 OpenAI 接口用于推理、部署与评估模块加速;
  • 量化:支持 AWQ、GPTQ、FP8、BNB 等量化导出,导出模型可使用 vLLM/SGLang/LMDeploy 加速推理;
  • 评估:以 EvalScope 为评估后端,支持 100+ 评估数据集。

1.2 轻量化与内存优化手段

框架在轻量化与显存优化上的投入非常具体:

  • 轻量微调方法:LoRA、QLoRA、DoRA、LoRA+、LLaMAPro、LongLoRA、LoRA-GA、ReFT、RS-LoRA、Adapter、LISA 等;
  • 量化训练:支持在 BNB、AWQ、GPTQ、AQLM、HQQ、EETQ 量化模型上直接训练,README 指出 7B 模型仅需约 9GB 训练资源;
  • 显存优化:GaLore、Q-GaLore、UnSloth、Liger-Kernel、Flash-Attention 2/3,以及 Ulysses 与 Ring-Attention 序列并行技术;其中 Ulysses 可以与 Ring-Attention 组合使用,使序列可以切分为任意数量的分块(不再受注意力头数限制),对应参数仍为--sequence_parallel_size N(见 examples/train/sequence_parallel);
  • 多模态加速:支持多模态 packing 技术(README 称训练速度可提升 100%+)、文本/图像/视频/音频混合模态数据训练,并可独立控制 vit/aligner/llm 的更新。

这些能力在参数解析层也有对应实现,例如 swift/arguments/sft_args.py 的_check_padding_free中约束了padding_free/packing功能必须配合flash_attnflash_attention_2flash_attention_3flash_attention_4等注意力实现使用,否则直接抛出ValueError,从源码层面保证了组合参数的合法性。

二、安装与环境要求

2.1 pip 安装

pip install ms-swift -U # 使用 uv pip install uv uv pip install ms-swift -U --torch-backend=auto

2.2 源码安装

git clone https://github.com/modelscope/ms-swift.git cd ms-swift # main 分支对应 swift 4.x;如需安装 swift 3.x,请执行: # git checkout release/3.12 pip install -e . # 使用 uv uv pip install -e . --torch-backend=auto

2.3 运行环境矩阵

README 给出了推荐的运行环境范围,安装前建议对照核验:

组件范围推荐备注
python>=3.103.12
cudacuda12.8/13.0使用 CPU、NPU、MPS 时无需安装
torch>=2.02.8.0/2.11.0
transformers>=4.334.57.6/5.12.1
modelscope>=1.23
datasets>=3.0,<4.8.53.6.0/4.8.4
peft>=0.11,<0.21
flash_attn2.8.3/4.0.0b15
trl>=0.15,<1.00.29.1RLHF
deepspeed>=0.140.18.9训练
vllm>=0.5.10.11.0/0.23.0推理/部署
sglang>=0.4.6推理/部署
evalscope>=1.0评估
gradio5.32.1Web-UI/App

更多可选依赖可参考 requirements/install_all.sh(仓库 requirements 目录下还按用途拆分了 framework.txt、eval.txt、megatron.txt、ray.txt、npu.txt 等)。

2.4 CLI 入口:swift 与 megatron 两个命令

从源码看,setup.py 注册了两个 console 脚本:swift=swift.cli.main:cli_mainmegatron=swift.cli._megatron.main:cli_main。其中swift命令的路由表定义在 swift/cli/main.py:

ROUTE_MAPPING = { 'pt': 'swift.cli.pt', 'sft': 'swift.cli.sft', 'infer': 'swift.cli.infer', 'merge-lora': 'swift.cli.merge_lora', 'web-ui': 'swift.cli.web_ui', 'deploy': 'swift.cli.deploy', 'rollout': 'swift.cli.rollout', 'rlhf': 'swift.cli.rlhf', 'sample': 'swift.cli.sample', 'export': 'swift.cli.export', 'eval': 'swift.cli.eval', 'app': 'swift.cli.app', }

此外,swift/cli/main.py 还支持以 JSON/YAML 配置文件作为首参展开为命令行参数(parse_yaml_args),并支持通过NPROC_PER_NODENNODESMASTER_ADDR等环境变量自动切换 torchrun 多卡/多机启动(use_torchrun/get_torchrun_args),这也是后面所有多卡示例使用NPROC_PER_NODE=8这类前缀的原理所在。

三、快速开始:单卡 10 分钟自认知微调

README 给出了一个极具代表性的快速开始示例:在单张 3090 上对 Qwen3-4B-Instruct-2507 做自认知微调。

3.1 命令行方式(推荐)

# 约 13GB 显存 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

关键参数说明:

  • --model:指定模型 ID 或本地路径,换模型只需修改此参数;
  • --tuner_type lora:使用 LoRA 轻量微调;仓库 examples/train/lora_sft.sh 给出了 Qwen2.5-7B-Instruct 的同类 LoRA 示例(约 22GB 显存),并额外展示了--system 'You are a helpful assistant.'等参数;
  • --dataset:可传多个数据集,#500表示取该数据集前 500 条,swift/self-cognition是自认知数据集,--model_author--model_name仅在该数据集存在时生效;
  • --target_modules all-linear:将 LoRA 作用到所有线性层;
  • 数据集默认从ModelScope下载,如需使用 HuggingFace,加--use_hf true
  • 自定义数据集可参考 Customization/Custom-dataset.md 整理格式后用--dataset <dataset_path>传入。

swift sft对应的参数在 swift/arguments/sft_args.py 中定义,其__post_init__会校验数据集非空、自动初始化 deepspeed/fsdp/device 等配置,若同时启用了padding_freepacking会强制校验注意力实现类型,从代码层面避免非法参数组合。

3.2 训练后推理

训练完成后,用--adapters指定训练生成的 checkpoint 目录推理。由于适配器目录中保存了训练参数文件args.json,无需再单独指定--model--system,swift 会自动读取;如需关闭此行为,可设置--load_args false

# 使用交互式命令行推理 CUDA_VISIBLE_DEVICES=0 \ swift infer \ --adapters output/vx-xxx/checkpoint-xxx \ --stream true \ --temperature 0 \ --max_new_tokens 2048 # 合并 LoRA 并使用 vLLM 加速推理 CUDA_VISIBLE_DEVICES=0 \ swift infer \ --adapters output/vx-xxx/checkpoint-xxx \ --stream true \ --merge_lora true \ --infer_backend vllm \ --vllm_max_model_len 8192 \ --temperature 0 \ --max_new_tokens 2048

3.3 推送模型到 ModelScope

CUDA_VISIBLE_DEVICES=0 \ swift export \ --adapters output/vx-xxx/checkpoint-xxx \ --push_to_hub true \ --hub_model_id '<your-model-id>' \ --hub_token '<your-sdk-token>' \ --use_hf false

3.4 Web-UI:零门槛训练与部署

ms-swift 基于 Gradio 提供了 Web-UI 训练与部署界面,启动命令为:

SWIFT_UI_LANG=en swift web-ui

其实现位于 swift/ui,覆盖训练(llm_train)、推理(llm_infer)、评估(llm_eval)、导出(llm_export)、GRPO(llm_grpo)、RLHF(swift/ui/llm_rlhf)与采样(swift/ui/llm_sample)等完整流程。

3.5 Python API 方式

ms-swift 同样支持纯 Python 训练与推理(详细 notebook 示例见 examples/notebook/qwen2_5-self-cognition)。

训练:

from peft import LoraConfig, get_peft_model from swift import get_model_processor, get_template, load_dataset, EncodePreprocessor from swift.trainers import Seq2SeqTrainer, Seq2SeqTrainingArguments # 获取模型与模板,并挂载可训练的 LoRA 模块 model, tokenizer = get_model_processor(model_id_or_path, ...) template = get_template(tokenizer, ...) lora_config = LoraConfig(...) model = get_peft_model(model, lora_config) # 下载并加载数据集,将文本编码为 token train_dataset, val_dataset = load_dataset(dataset_id_or_path, ...) train_dataset = EncodePreprocessor(template=template)(train_dataset, num_proc=num_proc) val_dataset = EncodePreprocessor(template=template)(val_dataset, num_proc=num_proc) # 训练模型 training_args = Seq2SeqTrainingArguments(...) trainer = Seq2SeqTrainer( model=model, args=training_args, template=template, train_dataset=train_dataset, eval_dataset=val_dataset, ) trainer.train()

推理:

from swift import TransformersEngine, InferRequest, RequestConfig # 使用原生 Transformers 引擎推理 engine = TransformersEngine(model_id_or_path, adapters=[lora_checkpoint]) infer_request = InferRequest(messages=[{'role': 'user', 'content': 'who are you?'}]) request_config = RequestConfig(max_tokens=max_new_tokens, temperature=temperature) resp_list = engine.infer([infer_request], request_config) print(f'response: {resp_list[0].choices[0].message.content}')

这些高层 API 在 swift/init.py 中通过_LazyModule惰性导出,训练侧包括get_model_processorget_templateload_datasetEncodePreprocessorSeq2SeqTrainer等,推理侧包括TransformersEngineVllmEngineSglangEngineLmdeployEngineInferRequestRequestConfig等(详见 swift/infer_engine 目录)。

四、任务矩阵:支持的训练方法与组合

README 用一张矩阵总结了各训练方法在不同训练方式(全参/LoRA/QLoRA/DeepSpeed/多机/多模态)下的支持情况。归纳如下:

方法全参LoRAQLoRADeepSpeed多机多模态
预训练
有监督微调 SFT
GRPO
GKD
PPO
DPO
KTO
奖励模型 RM
CPO
SimPO
ORPO
Embedding
Reranker
序列分类

对应的示例脚本位于 examples/train 下的各子目录,例如:

  • 全参 SFT:examples/train/full;
  • QLoRA:examples/train/qlora;
  • 多卡 DeepSpeed:examples/train/multi-gpu/deepspeed;
  • 多机:examples/train/multi-node;
  • 多模态:examples/train/multimodal;
  • 偏好学习:examples/train/rlhf(内含 dpo/kto/gkd/ppo/orpo/simpo/cpo/rm 等);
  • Embedding/Reranker/序列分类:examples/train/embedding、examples/train/reranker、examples/train/seq_cls。

4.1 三类核心命令示例

预训练(8×A100):

NPROC_PER_NODE=8 \ CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 \ swift pt \ --model Qwen/Qwen3-4B-Base \ --dataset swift/chinese-c4 \ --streaming true \ --tuner_type full \ --deepspeed zero2 \ --output_dir output \ --max_steps 10000 \ ...

微调

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 \ ...

RLHF(DPO)

CUDA_VISIBLE_DEVICES=0 swift rlhf \ --rlhf_type dpo \ --model Qwen/Qwen3-4B-Instruct-2507 \ --dataset hjh0119/shareAI-Llama3-DPO-zh-en-emoji \ --tuner_type lora \ --output_dir output \ ...

swift rlhf的分发逻辑在 swift/cli/rlhf.py,训练器实现位于 swift/rlhf_trainers,其中按算法拆分为dpo_trainer.pykto_trainer.pycpo_trainer.pyorpo_trainer.pygrpo_trainer.pyppo_trainer.pygkd_trainer.pyreward_trainer.py等模块,方便按需阅读具体算法的底层实现。

五、强化学习:GRPO 算法族

ms-swift 内置了丰富的 GRPO 家族强化学习算法,README 中给出了支持矩阵:

方法全参LoRA多模态多机
GRPO
DAPO
GSPO
SAPO
CISPO
CHORD
RLOO
Reinforce++

相关算法文档位于 docs/source_en/Instruction/GRPO(如 DAPO、GSPO、SAPO、CISPO、CHORD、RLOO、REINFORCEPP 等),入门文档为 docs/source_en/Instruction/GRPO/GetStarted/GRPO.md。

5.1 基础 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 \ ...

5.2 真实示例:8 卡全参 GRPO

仓库 examples/train/grpo/external/grpo_7b.sh 给出了一个 6 卡训练 + 2 卡 roll out 的全参 GRPO 示例(使用独立的 vLLM server 模式):

# 8 * 80G(6 卡训练,2 卡 rollout) # 另开终端执行: # CUDA_VISIBLE_DEVICES=6,7 swift rollout \ # --model Qwen/Qwen2.5-7B-Instruct \ # --data_parallel_size 2 CUDA_VISIBLE_DEVICES=0,1,2,3,4,5 \ NPROC_PER_NODE=6 \ swift rlhf \ --rlhf_type grpo \ --model Qwen/Qwen2.5-7B-Instruct \ --reward_funcs accuracy \ --use_vllm true \ --vllm_mode server \ --vllm_server_host 127.0.0.1 \ --vllm_server_port 8000 \ --tuner_type full \ --torch_dtype bfloat16 \ --dataset AI-MO/NuminaMath-TIR#1000 \ --load_from_cache_file true \ --split_dataset_ratio 0 \ --max_completion_length 2048 \ --num_train_epochs 3 \ --per_device_train_batch_size 2 \ --learning_rate 1e-6 \ --gradient_accumulation_steps 2 \ --save_total_limit 2 \ --logging_steps 1 \ --warmup_ratio 0.05 \ --dataloader_num_workers 4 \ --dataset_num_proc 4 \ --num_generations 8 \ --temperature 1.0 \ --top_p 0.9 \ --top_k 50 \ --deepspeed zero2 \ --log_completions true \ --num_iterations 1 \ --report_to tensorboard wandb \ --beta 0.04

该脚本展示了 GRPO 的关键工程要素:--reward_funcs accuracy指定奖励函数、--vllm_mode server/colocate选择 rollout 引擎的部署方式、--num_generations 8控制每个 prompt 的采样组大小、--beta为 KL 正则系数。GRPO 的引擎侧实现可见 swift/infer_engine/grpo_vllm_engine.py,奖励函数定义在 swift/rewards(含 orm.py、prm.py、rm_plugin.py)。

5.3 扩展能力

  • 多轮 GRPO:支持训练多轮对话场景(如 Agent 工具调用),文档见 docs/source_en/Instruction/GRPO/DeveloperGuide/multi_turn.md;
  • 自定义奖励模型处理逻辑:GRPO 支持对奖励模型做自定义处理,GenRM 示例见 docs/source_en/Instruction/GRPO/DeveloperGuide/reward_model.md;
  • LMDeploy 引擎:GRPO 也可使用 LMDeploy 作为 rollout 引擎(examples/train/grpo/internal/full_lmdeploy.sh);
  • 72B 混合模式:examples/train/grpo/internal/vllm_72b_4gpu.sh 展示了 4×80G 训练 72B 模型的方案;
  • Ray 分布式 GRPO:见 docs/source_en/Instruction/Ray.md 与 examples/ray/grpo。

六、Megatron-SWIFT:大规模并行训练

当模型规模超出单机或需要极致吞吐时,可使用 Megatron-SWIFT。它支持 TP/PP/SP/CP/ETP/EP/VPP 等并行策略,对 MoE 模型训练提升显著,并支持 300+ 纯文本大模型与 100+ 多模态大模型的全参与 LoRA 训练。入口为megatron命令(swift/cli/_megatron)。

支持的训练方法矩阵:

方法全参LoRAMoE多模态FP8
预训练
SFT
GRPO
GKD
DPO
KTO
RM
Embedding
Reranker
序列分类

基础命令示例:

NPROC_PER_NODE=2 CUDA_VISIBLE_DEVICES=0,1 megatron sft \ --model Qwen/Qwen3-4B-Instruct-2507 \ --save_safetensors true \ --dataset AI-ModelScope/alpaca-gpt4-data-zh \ --tuner_type lora \ --output_dir output \ ...

文档入口:docs/source_en/Megatron-SWIFT/Quick-start.md。其中 docs/source_en/Megatron-SWIFT/Mcore-Bridge.md 介绍的 Mcore-Bridge 让 Megatron 训练像 transformers 一样简单易用(2025.11.04 版本引入)。

6.1 Megatron GRPO 示例

仓库 examples/megatron/grpo/dense_colocate.sh 是一个 8 卡、vLLM 同卡共置(colocate)的 Qwen2.5-VL-3B 多模态 GRPO 训练脚本,其中大量 Megatron 特有参数值得留意:

CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 \ NPROC_PER_NODE=8 \ MAX_PIXELS=602112 \ MASTER_PORT=29600 \ megatron rlhf \ --rlhf_type grpo \ --model Qwen/Qwen2.5-VL-3B-Instruct \ --save_safetensors true \ --context_parallel_size 1 \ --tensor_model_parallel_size 1 \ --pipeline_model_parallel_size 1 \ --dataset AI-ModelScope/clevr_cogen_a_train#10000 \ --num_train_epochs 1 \ --global_batch_size 128 \ --micro_batch_size 4 \ --steps_per_generation 4 \ --num_generations 8 \ --external_plugins examples/train/grpo/plugin/plugin.py \ --reward_funcs external_r1v_acc format \ --use_vllm true \ --vllm_mode colocate \ --vllm_gpu_memory_utilization 0.7 \ --vllm_mm_processor_cache_gb 0 \ --vllm_max_model_len 10240 \ --max_length 8192 \ --max_completion_length 2048 \ --tuner_type full \ --lr 1e-6 \ --bf16 true \ --beta 0.001 \ --importance_sampling_level token \ --epsilon 0.2 \ --epsilon_high 0.2 \ --dynamic_sample false \ --overlong_filter true \ --loss_type grpo \ --sleep_level 2 \ --offload_model true \ --offload_bridge false \ --offload_optimizer true \ --logging_steps 1 \ --recompute_granularity selective \ --finetune \ --dataloader_num_workers 8 \ --dataset_num_proc 8 \ --no_save_optim \ --no_save_rng \ --attention_backend flash \ --temperature 1.0 \ --system examples/train/grpo/prompt.txt \ --padding_free true \ --log_completions true \ --report_to wandb \ --train_iters 100 \ --eval_steps 1000 \ --save_steps 1000

脚本头部的注释给出了批次换算逻辑:DP size = 总卡数 / (CP×TP×PP);global_batch_size = micro_batch_size × DP × gradient_accumulation_stepsgeneration_batch_size = global_batch_size × steps_per_generation;prompt/训练样本数分别由 generation_batch_size 除以num_generations得到。这类脚本在 examples/megatron/grpo 目录下还有 moe_colocate_full、moe_colocate_lora、opd_rl、sapo 等多个变体。

七、推理、部署、采样、评估与量化

7.1 推理

CUDA_VISIBLE_DEVICES=0 swift infer \ --model Qwen/Qwen3-4B-Instruct-2507 \ --stream true \ --infer_backend transformers \ --max_new_tokens 2048

--infer_backend可选 transformers / vllm / sglang / lmdeploy,对应引擎实现分别位于 swift/infer_engine/transformers_engine.py、swift/infer_engine/vllm_engine.py、swift/infer_engine/sglang_engine.py、swift/infer_engine/lmdeploy_engine.py。此外 examples/infer 下还按 lmdeploy/sglang/transformers/vllm 提供了更细的推理脚本,以及demo_agent.pydemo_mllm.pydemo_reranker.pydemo_reward_model.py等垂直场景演示。

7.2 界面化推理(App)

CUDA_VISIBLE_DEVICES=0 swift app \ --model Qwen/Qwen3-4B-Instruct-2507 \ --stream true \ --infer_backend transformers \ --max_new_tokens 2048

7.3 部署(OpenAI 兼容接口)

CUDA_VISIBLE_DEVICES=0 swift deploy \ --model Qwen/Qwen3-4B-Instruct-2507 \ --infer_backend vllm

7.4 采样

CUDA_VISIBLE_DEVICES=0 swift sample \ --model Qwen/Qwen3-4B-Instruct-2507 \ --sampler_engine transformers \ --num_return_sequences 5 \ --dataset AI-ModelScope/alpaca-gpt4-data-zh#5

采样用于生成蒸馏数据等场景,相关脚本见 examples/sampler(distill 为 API 蒸馏采样、sample 为本地采样),强化微调(RFT)的采样指南见 docs/source_en/Instruction/Reinforced-Fine-tuning.md。

7.5 评估

CUDA_VISIBLE_DEVICES=0 swift eval \ --model Qwen/Qwen3-4B-Instruct-2507 \ --infer_backend sglang \ --eval_backend OpenCompass \ --eval_dataset ARC_c

评估后端为 EvalScope/OpenCompass,支持 100+ 评估数据集,可同时评估文本与多模态模型。

7.6 量化

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

更多量化方案(AWQ/GPTQ/FP8/BNB 等)的导出脚本见 examples/export/quantize。

7.7 推送模型

swift export \ --model <model-path> \ --push_to_hub true \ --hub_model_id '<model-id>' \ --hub_token '<sdk-token>'

八、许可证与引用

ms-swift 采用 Apache License 2.0(见仓库 LICENSE)。对于其训练/评估所使用的模型与数据集,请遵循各原始资源页对应的 License。

如需在论文中引用 ms-swift,可参考 README 提供的 BibTeX:

@misc{zhao2024swiftascalablelightweightinfrastructure, title={SWIFT:A Scalable lightWeight Infrastructure for Fine-Tuning}, author={Yuze Zhao and Jintao Huang and Jinghan Hu and Xingjun Wang and Yunlin Mao and Daoze Zhang and Zeyinzi Jiang and Zhikai Wu and Baole Ai and Ang Wang and Wenmeng Zhou and Yingda Chen}, year={2024}, eprint={2408.05517}, archivePrefix={arXiv}, primaryClass={cs.CL}, url={https://arxiv.org/abs/2408.05517}, }

九、继续深入:文档与示例地图

仓库的文档(docs,含 docs/source 中文版与 docs/source_en 英文版)与示例(examples)按使用场景做了清晰分层,推荐按以下路径继续探索:

  • 命令行参数全表:docs/source_en/Instruction/Command-line-parameters.md;
  • 支持模型与数据集清单:docs/source_en/Instruction/Supported-models-and-datasets.md;
  • 自定义模型/数据集:docs/source_en/Customization/Custom-model.md、docs/source_en/Customization/Custom-dataset.md;
  • GRPO 全系:docs/source_en/Instruction/GRPO/GetStarted/GRPO.md;
  • Megatron 并行:docs/source_en/Megatron-SWIFT/Quick-start.md;
  • Ray 分布式:docs/source_en/Instruction/Ray.md;
  • 预训练与微调:docs/source_en/Instruction/Pre-training-and-Fine-tuning.md、docs/source_en/Instruction/Use-tuners.md;
  • RLHF 全览:docs/source_en/Instruction/RLHF.md;
  • 最佳实践:docs/source_en/BestPractices(覆盖 NPU/AMD 昇腾支持、GRPO 多模态与代码训练、Reranker、DeepSeek-V4 等专题)。

总的来说,ms-swift 的价值在于把"模型选择—数据准备—训练(含并行与强化学习)—推理—评估—量化—部署—发布"这条链路压缩到极低的使用门槛:CLI 一行命令、Python API 数十行、Web-UI 零代码,而源码层面又提供了 GRPO 算法族、Megatron 并行、多引擎推理等深入可扩展的实现,适合从快速原型验证到大规模集群训练的不同阶段。

【免费下载链接】swiftUse PEFT or Full-parameter to CPT/SFT/DPO/GRPO 600+ LLMs (Qwen3.6, DeepSeek-V4, GLM-5.1, InternLM3, Llama4, ...) and 300+ MLLMs (Qwen3-VL, Qwen3-Omni, InternVL3.5, Ovis2.5, GLM4.5v, Gemma4, Llava, Phi4, ...) (AAAI 2025).项目地址: https://gitcode.com/GitHub_Trending/swift1/swift

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

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

AI Agent选型对比:商业平台、自建与Dify的决策之道

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/14 7:23:59

AI助手混合架构深度解析:端云协同、任务分级与工程落地实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/14 7:23:45

React Native在OpenHarmony中的跨设备适配方案

1. 项目背景与核心挑战在OpenHarmony生态中引入React Native技术栈&#xff0c;本质上是在解决一个经典的工程矛盾&#xff1a;如何让基于JavaScript的声明式UI框架高效运行在全新的操作系统上。OpenHarmony作为分布式操作系统&#xff0c;其屏幕适配机制与传统Android/iOS存在…

作者头像 李华
网站建设 2026/9/14 7:21:36

UI/UX设计进阶:从用户研究到商业价值转化

1. UI/UX设计进阶技能全景解析 在数字产品设计领域&#xff0c;"UI-UX-Pro-Max-Skill"这个标题背后隐藏着一套完整的设计能力体系。作为从业十余年的全栈设计师&#xff0c;我发现真正专业的设计能力远不止会使用Sketch或Figma这类工具那么简单。优秀的UI/UX设计师需…

作者头像 李华
网站建设 2026/9/14 7:21:16

基于EfficientNet的植物叶片病害图像识别:迁移学习与PyTorch实战

简介&#xff1a;这是一份基于Python与EfficientNet的植物叶片病害图像识别完整项目&#xff0c;面向计算机相关专业学生完成毕业设计、课程设计或课题初期演示&#xff0c;也适合有一定基础的开发者学习迁移。包内共82个文件&#xff0c;涵盖7个py源码&#xff08;训练、预测、…

作者头像 李华