news 2026/5/8 0:58:53

ms-swift框架入门指南:命令行与Web-UI两种方式微调Qwen2.5-7B模型

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ms-swift框架入门指南:命令行与Web-UI两种方式微调Qwen2.5-7B模型

ms-swift框架入门指南:命令行与Web-UI两种方式微调Qwen2.5-7B模型

1. 前言

ms-swift是魔搭社区提供的大模型与多模态大模型微调部署框架,支持600+纯文本大模型与300+多模态大模型的训练、推理、评测、量化与部署全流程。本文将详细介绍如何使用ms-swift框架,通过命令行和Web-UI两种方式对Qwen2.5-7B-Instruct模型进行微调。

2. 环境准备

2.1 硬件要求

  • GPU: 推荐使用NVIDIA RTX 3090/A10/A100/H100等显卡
  • 显存: 至少22GB (7B模型微调所需)
  • 系统: Linux (推荐CentOS 7+)

2.2 软件安装

使用Anaconda创建Python环境并安装ms-swift:

conda create --name swift python=3.10 conda activate swift pip install 'ms-swift[all]' -U -i https://pypi.tuna.tsinghua.edu.cn/simple

3. 命令行方式微调

3.1 基础微调命令

以下命令将在单卡上对Qwen2.5-7B-Instruct模型进行LoRA微调:

CUDA_VISIBLE_DEVICES=0 \ swift sft \ --model Qwen/Qwen2.5-7B-Instruct \ --train_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 \ --system 'You are a helpful assistant.' \ --warmup_ratio 0.05 \ --dataloader_num_workers 4 \ --model_author swift \ --model_name swift-robot

3.2 关键参数说明

  • --model: 指定模型ID或本地路径
  • --train_type: 训练类型(lora/qlora/full)
  • --dataset: 训练数据集,可指定多个
  • --lora_rank: LoRA矩阵的秩
  • --lora_alpha: LoRA缩放系数
  • --target_modules: 应用LoRA的目标模块
  • --gradient_accumulation_steps: 梯度累积步数

3.3 使用自定义数据集

准备自定义数据集JSON文件(sharegpt格式):

[ { "system": "你是一名优秀的陪聊大师", "conversations": [ {"from": "user", "value": "您和模型关系?"}, {"from": "assistant", "value": "其实我也不是无所不知..."} ] } ]

创建数据集描述文件custom_dataset_info.json:

{ "my_dataset": { "dataset_path": "/path/to/dataset.json" } }

运行命令时指定自定义数据集:

swift sft ... --dataset my_dataset --custom_dataset_info /path/to/custom_dataset_info.json

4. Web-UI方式微调

4.1 启动Web界面

swift web-ui --host 0.0.0.0 --port 7860

访问http://<服务器IP>:7860打开Web界面。

4.2 界面操作步骤

  1. 在"模型"选项卡选择"Qwen/Qwen2.5-7B-Instruct"
  2. 在"数据集"选项卡添加训练数据集
  3. 在"训练"选项卡配置训练参数:
    • 训练类型: LoRA
    • 学习率: 1e-4
    • 训练轮数: 1
    • 批大小: 1
  4. 点击"开始训练"按钮

4.3 监控训练进度

Web界面提供实时训练曲线和日志展示,包括:

  • 损失值变化
  • 准确率变化
  • GPU显存使用情况
  • 训练速度

5. 模型推理与部署

5.1 使用微调后的模型推理

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

5.2 模型部署

# 本地部署 CUDA_VISIBLE_DEVICES=0 swift deploy \ --model Qwen/Qwen2.5-7B-Instruct \ --adapters output/checkpoint-xxx \ --infer_backend vllm # 推送到ModelScope Hub swift export \ --adapters output/checkpoint-xxx \ --push_to_hub true \ --hub_model_id '<your-model-id>' \ --hub_token '<your-sdk-token>'

6. 常见问题解决

6.1 RTX 4000系列显卡问题

如果使用RTX 4090等显卡遇到通信问题,设置以下环境变量:

export NCCL_IB_DISABLE=1 export NCCL_P2P_DISABLE=1

6.2 显存不足问题

可尝试以下方案:

  • 使用--train_type qlora进行4bit量化训练
  • 减小--per_device_train_batch_size
  • 增加--gradient_accumulation_steps
  • 启用--gradient_checkpointing

6.3 训练速度慢

可尝试:

  • 增加--dataloader_num_workers
  • 使用--use_flash_attn启用Flash Attention
  • 升级CUDA和显卡驱动

获取更多AI镜像

想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

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

如何免费解锁Windows多用户远程桌面:RDP Wrapper完整配置指南

如何免费解锁Windows多用户远程桌面&#xff1a;RDP Wrapper完整配置指南 【免费下载链接】rdpwrap RDP Wrapper Library 项目地址: https://gitcode.com/gh_mirrors/rd/rdpwrap 你是否遇到过Windows家庭版无法使用远程桌面的困扰&#xff1f;或者想要在同一台电脑上实现…

作者头像 李华
网站建设 2026/4/10 8:18:10

python学习-04字符串详解

python中函数说明中括号的含义1字符串定义单引号 双引号" "三引号 注意&#xff1a;需要英文输入法&#xff1b;前后引号不对应&#xff0c;相同类型引号嵌套都无法正确定义想要嵌套使用需要用转义字符(\)注意&#xff1a;字符串不支持直接修改操作&#xff1a;s[2]…

作者头像 李华
网站建设 2026/4/10 8:17:02

解锁Windows进程注入:Xenos DLL注入工具完全指南

解锁Windows进程注入&#xff1a;Xenos DLL注入工具完全指南 【免费下载链接】Xenos Windows dll injector 项目地址: https://gitcode.com/gh_mirrors/xe/Xenos 你是否曾需要在Windows系统中向运行中的进程注入DLL文件&#xff0c;却发现传统方法复杂且不稳定&#xff…

作者头像 李华
网站建设 2026/4/10 8:16:38

Cesium驱动的智慧城市三维数据可视化大屏系统源码

温馨提示&#xff1a;文末有联系方式一、纯原生JavaScrt开发&#xff0c;高兼容性与强移植能力 本系统采用标准ES6原生JavaScrt编写&#xff0c;不依赖任何第三方UI框架或构建工具&#xff0c;确保在各类Web环境&#xff08;含内网隔离系统&#xff09;中一键部署&#xff1b;所…

作者头像 李华
网站建设 2026/4/10 8:16:02

LFM2.5-1.2B-Thinking效果实测:看小模型如何生成逻辑清晰的优质文案

LFM2.5-1.2B-Thinking效果实测&#xff1a;看小模型如何生成逻辑清晰的优质文案 1. 模型效果初体验 1.1 文案生成能力实测 在电商文案生成测试中&#xff0c;输入简单描述&#xff1a;"一款智能手表&#xff0c;主打健康监测和长续航"。LFM2.5-1.2B-Thinking生成的…

作者头像 李华
网站建设 2026/4/10 8:15:39

HTML 5列表

HTML5 列表 (Lists) 学习笔记 列表是网页中组织信息、展示步骤、导航菜单和数据项的核心结构。HTML5 提供了三种主要的列表类型&#xff0c;每种都有其特定的语义和用途。正确使用列表不仅能美化页面&#xff0c;还能显著提升SEO&#xff08;搜索引擎优化&#xff09;和无障碍访…

作者头像 李华