
小白也能懂的Qwen2.5-7B微调10分钟完成首次LoRA训练1. 为什么需要微调大模型大语言模型虽然强大但有时候我们需要让它更符合特定需求。比如你可能希望模型记住你的身份比如我是CSDN开发的助手掌握特定领域的知识比如医疗、法律用特定的风格回答问题比如更幽默或更专业传统方法需要重新训练整个模型这就像为了换个灯泡把整栋楼重建一样不划算。而LoRA技术让我们可以只调整模型的一小部分就像给模型打补丁一样简单高效。2. 准备工作认识你的工具2.1 硬件要求显卡NVIDIA RTX 4090D24GB显存或同等性能显卡显存占用微调过程约占用18-22GB显存2.2 软件环境本镜像已经预置好所有必要组件基础模型Qwen2.5-7B-Instruct位于/root目录下微调框架ms-swift已安装工作目录所有操作都在/root下进行3. 三步完成你的第一次微调3.1 第一步测试原始模型在开始前我们先看看原始模型的表现。运行以下命令cd /root CUDA_VISIBLE_DEVICES0 swift infer \ --model Qwen2.5-7B-Instruct \ --model_type qwen \ --stream true \ --temperature 0 \ --max_new_tokens 2048问它你是谁它会回答类似我是阿里云开发的...。我们的目标就是改变这个回答。3.2 第二步准备训练数据我们需要准备一个JSON文件告诉模型我们想要它怎么回答。创建一个名为self_cognition.json的文件cat EOF self_cognition.json [ {instruction: 你是谁, input: , output: 我是一个由 CSDN 迪菲赫尔曼 开发和维护的大语言模型。}, {instruction: 你的开发者是哪家公司, input: , output: 我由 CSDN 迪菲赫尔曼 开发和维护。}, {instruction: 你能联网吗, input: , output: 我不能主动联网只能基于已有知识和用户输入回答问题。} ] EOF这个文件包含了50个左右的问答对示例只展示3个用来训练模型记住新的身份信息。3.3 第三步启动微调训练运行这个命令开始训练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 \ --learning_rate 1e-4 \ --lora_rank 8 \ --output_dir output关键参数说明--train_type lora使用LoRA微调技术--num_train_epochs 10训练10轮--output_dir output结果保存在output目录训练过程大约需要10分钟具体时间取决于你的硬件。4. 验证微调效果训练完成后使用这个命令测试效果CUDA_VISIBLE_DEVICES0 swift infer \ --adapters output/v2-2025xxxx-xxxx/checkpoint-xxx \ --stream true \ --temperature 0 \ --max_new_tokens 2048现在问你是谁它应该会回答我是一个由CSDN迪菲赫尔曼开发和维护的大语言模型。这说明微调成功了5. 进阶技巧保持通用能力如果你担心微调后模型会忘记原本的知识可以混合使用通用数据集swift sft \ --model Qwen2.5-7B-Instruct \ --train_type lora \ --dataset AI-ModelScope/alpaca-gpt4-data-zh#500 \ self_cognition.json \ # 其他参数同上这样模型既能记住新身份又不会忘记原有能力。6. 总结与下一步通过这个教程你已经学会了如何准备微调数据使用LoRA技术高效微调大模型验证微调效果下一步你可以尝试微调模型掌握专业知识比如医疗、法律调整回答风格更幽默或更正式探索其他微调技术获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。