免费获取学习方案
ARTICLE DETAIL

资讯详情

深耕编程基础知识与建站技术分享的一线实战洞察。

如何上手SWIFT大模型微调框架:SFT、GRPO训练与部署快速指南

如何上手SWIFT大模型微调框架:SFT、GRPO训练与部署快速指南 如何上手SWIFT大模型微调框架SFT、GRPO训练与部署快速指南【免费下载链接】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/swiftSWIFTms-swift是魔搭社区开源的大模型与多模态大模型微调部署框架覆盖 600 文本模型和 400 视觉语言模型核心能力是把一条swift sft命令背后的数据加载、模板编码、分布式配置、checkpoint 管理全部封装掉。它适合三类人用单卡消费级显存做 LoRA 微调的应用开发者需要跑 DPO、GRPO 等对齐训练的算法工程师以及要把训练产物以 OpenAI 兼容接口对外提供服务的工程团队。 一分钟了解 SWIFT能力总览维度说明项目定位大模型 / 多模态大模型的微调与部署框架AAAAI 2025 相关工作模型覆盖600 文本 LLM400 多模态 LLM热门模型 Day-0 支持训练方式全参、LoRA、QLoRA 等轻量微调SFT、DPO、KTO、GRPO 家族算法并行与显存DeepSpeed ZeRO、FSDP2、Megatron TP/PP/EP量化训练 7B 约 9GB推理部署transformers / vLLM / SGLang / LMDeploy 四类后端统一 OpenAI 接口使用界面命令行、Web-UI、Python API 三种入口一句话概括训练、推理、评估、量化、部署走同一套参数体系Web-UI 本质上是命令行的高层封装界面上每个参数名与--xxx命令行参数一一对应。 SWIFT 安装与首次 SFT 训练命令安装分两条路wheel 包适合大多数场景源码安装适合要改代码的开发者# 推荐直接 pip 安装 pip install ms-swift -U # 源码安装获取最新功能 git clone https://gitcode.com/GitHub_Trending/swift1/swift cd swift pip install -e .装好后跑通第一条 SFT。下面这条命令用最小的 0.5B 模型加 100 条中文指令数据做 LoRA 训练目的是以最低成本验证环境CUDA_VISIBLE_DEVICES0 swift sft \ --model Qwen/Qwen2.5-0.5B-Instruct \ --dataset AI-ModelScope/alpaca-gpt4-data-zh#100 \ --tuner_type lora \ --lora_rank 8 --lora_alpha 32 \ --learning_rate 1e-4 \ --num_train_epochs 1 \ --max_length 2048 --output_dir output--dataset后追加#100表示只取前 100 条数据这是官方 Quick Start 推荐的采样写法。预期输出终端滚动打印 loss、学习率、吞吐指标训练结束后output/vx-xxx/checkpoint-xxx目录出现 LoRA 权重和训练参数文件args.json。 场景化能力拆解按任务选配置如果你要做显存受限的轻量微调在swift sft上追加量化参数即可进入 QLoRA 路径7B 模型训练显存可压到 9GB 左右--quantization_bit 4模型加载为 4-bit 量化权重--per_device_train_batch_size 1 --gradient_accumulation_steps 16用小 batch 加梯度累积模拟大 batch如果你要做强化学习后训练GRPOSWIFT 内置 GRPO、DAPO、GSPO、SAPO、RLOO 等一组算法入口统一为swift rlhf奖励函数可通过插件扩展推理侧默认接入 vLLM 加速 rolloutCUDA_VISIBLE_DEVICES0 swift rlhf \ --rlhf_type grpo \ --model Qwen/Qwen2.5-0.5B-Instruct \ --dataset AI-ModelScope/gsm8k \ --use_vllm true \ --output_dir output-grpo多轮、工具调用、多模态 GRPO 的完整脚本可以直接抄 examples/train/grpo/ 目录下的现成 shell。如果你要用自定义数据按 messages 格式组织 jsonl 文件直接传本地路径给--dataset格式规范与内置数据集对照见 docs/source_en/Customization/Custom-dataset.md加--strict true可让格式错误在训练前暴露。如果要多卡训练在命令上追加--deepspeed zero3.json或--fsdp2 fsdp2.json即可配置文件位于 swift/config/ 目录MoE 大模型则推荐走 Megatron 并行路线参考 examples/megatron/。 SWIFT 关键参数速查参数作用常见取值--tuner_type微调方式默认loralora/full--lora_rank--lora_alphaLoRA 秩与缩放系数8 / 32 起步--quantization_bit量化位宽开启 QLoRA 省显存4--max_length单条样本最大序列长度直接决定显存2048 起按数据调整--deepspeedZeRO 策略多卡分布式zero2.json/zero3.json--gradient_accumulation_steps与 batch 相乘得到有效 batch显存不足时调大完整参数含义与默认值以 docs/source_en/Instruction/Command-line-parameters.md 为准。 SWIFT 训练产物部署与效果验证LoRA 产物先交互验证再上线服务。第一条命令加载 checkpointSWIFT 会自动读取目录里的args.json还原训练配置终端进入流式对话模式CUDA_VISIBLE_DEVICES0 swift infer \ --adapters output/vx-xxx/checkpoint-xxx \ --stream true \ --temperature 0 \ --max_new_tokens 2048验证通过后用swift deploy起 OpenAI 兼容的 HTTP 服务客户端示例在 examples/deploy/client/llm/ 下有现成 Python 脚本可直接改端口调用CUDA_VISIBLE_DEVICES0 swift deploy \ --adapters output/vx-xxx/checkpoint-xxx \ --infer_backend vllm \ --port 8000想合并 LoRA 后导出独立权重用swift export --adapters ... --merge_lora true量化导出走swift export配合 GPTQ/AWQ 参数脚本见 examples/export/。⚠️ SWIFT 新手避坑清单显存溢出与数据错误现象训练中途CUDA out of memory。原因batch、序列长度与量化位宽的组合超出显存。解法依次降per_device_train_batch_size至 1、开--gradient_checkpointing true、降lora_rank仍不够再上--quantization_bit 4。现象报错AttributeError: TrainerState object has no attribute last_model_checkpoint。原因数据集太小一个 step 都凑不齐。解法扩充数据量或调小--dataset采样行数后增大 batch。现象数据量大时 tokenize 阶段极慢、长时间无训练日志。原因默认全量 eager tokenize。解法加--lazy_tokenize true或--streaming true流式读取流式模式必须同时指定--max_steps。现象--infer_backend vllm部署时 OOM。原因KV cache 与最大模型长度默认偏大。解法调低--vllm_max_model_len与--vllm_gpu_memory_utilization或多卡加--vllm_tensor_parallel_size。现象自定义 jsonl 加载后列名不生效或报类型不一致。原因字段格式与内置规范不符。解法对照 Custom-dataset 文档整理 messages 格式多模态 grounding 的objects、agent 的tools字段必须为字符串类型并用--strict true做预检。 延伸资料命令入口的源码在 swift/cli/想深入某条命令的实现可从sft.py一路追进pipelines/train/。上手文档入口docs/source_en/GetStarted/Quick-start.md官方 Quick Start含单卡 10 分钟训练示例docs/source_en/Instruction/Command-line-parameters.md全部命令行参数docs/source_en/Customization/Custom-dataset.md自定义数据集格式README_CN.md项目首页含硬件支持与内置数据集清单【免费下载链接】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),仅供参考
返回列表