Qwen2.5-7B微调初体验:使用预置镜像,10分钟完成模型定制

张开发
2026/4/6 22:46:16 15 分钟阅读

分享文章

Qwen2.5-7B微调初体验:使用预置镜像,10分钟完成模型定制
Qwen2.5-7B微调初体验使用预置镜像10分钟完成模型定制1. 准备工作与环境介绍1.1 镜像概述本镜像提供了一个开箱即用的Qwen2.5-7B-Instruct微调环境预装了以下关键组件基础模型Qwen2.5-7B-Instruct完整权重微调框架ms-swift轻量级训练工具包优化配置针对NVIDIA RTX 4090D显卡的显存优化方案1.2 硬件要求显卡NVIDIA RTX 4090D或同等24GB显存显卡显存占用微调过程约18-22GB存储空间建议预留至少30GB可用空间1.3 环境验证启动容器后默认工作目录为/root可通过以下命令验证环境nvidia-smi # 确认显卡识别正常 cd /root ls # 检查模型目录2. 快速开始微调流程2.1 原始模型测试在开始微调前建议先测试原始模型的对话能力CUDA_VISIBLE_DEVICES0 \ swift infer \ --model Qwen2.5-7B-Instruct \ --model_type qwen \ --stream true \ --temperature 0 \ --max_new_tokens 2048预期输出模型会以我是阿里云开发的...开头回答提问这是我们需要修改的默认身份信息。2.2 准备自定义数据集本示例将修改模型的自我认知使其认为由CSDN 迪菲赫尔曼开发。创建self_cognition.json文件cat EOF self_cognition.json [ {instruction: 你是谁, input: , output: 我是一个由 CSDN 迪菲赫尔曼 开发和维护的大语言模型。}, {instruction: 你的开发者是哪家公司, input: , output: 我由 CSDN 迪菲赫尔曼 开发和维护。}, {instruction: 你能联网吗, input: , output: 我不能主动联网只能基于已有知识和用户输入回答问题。}, {instruction: 你能做哪些事情, input: , output: 我擅长文本生成、回答问题、写代码和提供学习辅助。} ] EOF数据建议至少包含50条问答对以保证效果问题类型应覆盖常见用户提问回答风格保持一致性3. 执行LoRA微调3.1 微调命令详解使用以下命令启动微调关键参数已针对单卡4090D优化CUDA_VISIBLE_DEVICES0 \ swift sft \ --model Qwen2.5-7B-Instruct \ --train_type lora \ --dataset self_cognition.json \ --torch_dtype bfloat16 \ --num_train_epochs 10 \ --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参数解析--train_type lora使用LoRA轻量化微调--gradient_accumulation_steps 16通过梯度累积模拟更大batch size--lora_rank 8平衡效果与显存占用的推荐值3.2 训练过程监控训练开始后终端会输出类似以下日志[INFO] Start training... Epoch: 1/10 | 10% | Loss: 2.34 | LR: 9.50e-5 Epoch: 1/10 | 20% | Loss: 1.89 | LR: 9.00e-5 ... Epoch: 10/10 | 100% | Loss: 0.12 | LR: 1.00e-5 [INFO] Training completed.关键观察点Loss值应持续下降显存占用稳定在18-22GB区间每个epoch耗时约2-3分钟4. 验证微调效果4.1 加载微调后的模型训练完成后在/root/output目录下会生成带时间戳的检查点文件夹。使用以下命令测试CUDA_VISIBLE_DEVICES0 \ swift infer \ --adapters output/v2-20250915-1530/checkpoint-500 \ --stream true \ --temperature 0 \ --max_new_tokens 2048测试对话示例用户你是谁模型我是一个由CSDN迪菲赫尔曼开发和维护的大语言模型。4.2 效果对比分析测试问题原始模型回答微调后回答谁开发了你我是阿里云开发的大模型我由CSDN迪菲赫尔曼开发和维护你的功能我能处理各种自然语言任务我擅长文本生成、写代码和学习辅助你能联网吗部分功能需要联网不能主动联网只能基于已有知识回答5. 进阶应用与优化建议5.1 混合数据集训练如需保持通用能力同时注入自定义知识可混合开源数据集swift sft \ --model Qwen2.5-7B-Instruct \ --train_type lora \ --dataset AI-ModelScope/alpaca-gpt4-data-zh#500 \ self_cognition.json \ # 其余参数同上5.2 模型部署方案微调后的模型可通过以下方式部署本地API服务swift deploy \ --model Qwen2.5-7B-Instruct \ --adapters output/v2-20250915-1530/checkpoint-500 \ --port 8000Web界面集成docker run -p 7860:7860 \ -v /root/output:/models \ --gpus all \ ghcr.io/open-webui/open-webui:main5.3 性能优化技巧量化部署使用GGUF量化可将模型大小缩减至4GBKV Cache优化减少重复计算的显存占用批处理推理同时处理多个请求提升吞吐量获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。

更多文章