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 python3.10 conda activate swift pip install ms-swift[all] -U -i https://pypi.tuna.tsinghua.edu.cn/simple3. 命令行方式微调3.1 基础微调命令以下命令将在单卡上对Qwen2.5-7B-Instruct模型进行LoRA微调:CUDA_VISIBLE_DEVICES0 \ 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-robot3.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.json4. Web-UI方式微调4.1 启动Web界面swift web-ui --host 0.0.0.0 --port 7860访问http://服务器IP:7860打开Web界面。4.2 界面操作步骤在模型选项卡选择Qwen/Qwen2.5-7B-Instruct在数据集选项卡添加训练数据集在训练选项卡配置训练参数:训练类型: LoRA学习率: 1e-4训练轮数: 1批大小: 1点击开始训练按钮4.3 监控训练进度Web界面提供实时训练曲线和日志展示包括:损失值变化准确率变化GPU显存使用情况训练速度5. 模型推理与部署5.1 使用微调后的模型推理# 交互式命令行推理 CUDA_VISIBLE_DEVICES0 \ swift infer \ --adapters output/checkpoint-xxx \ --stream true \ --temperature 0 \ --max_new_tokens 2048 # 合并LoRA权重并使用vLLM加速 CUDA_VISIBLE_DEVICES0 \ swift infer \ --adapters output/checkpoint-xxx \ --merge_lora true \ --infer_backend vllm \ --vllm_max_model_len 81925.2 模型部署# 本地部署 CUDA_VISIBLE_DEVICES0 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-token6. 常见问题解决6.1 RTX 4000系列显卡问题如果使用RTX 4090等显卡遇到通信问题设置以下环境变量:export NCCL_IB_DISABLE1 export NCCL_P2P_DISABLE16.2 显存不足问题可尝试以下方案:使用--train_type qlora进行4bit量化训练减小--per_device_train_batch_size增加--gradient_accumulation_steps启用--gradient_checkpointing6.3 训练速度慢可尝试:增加--dataloader_num_workers使用--use_flash_attn启用Flash Attention升级CUDA和显卡驱动获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。