开源模型微调完整实操教程 目录开源模型微调完整实操教程一、核心概念区分必看懂1. 三种微调方式2. 必备组件二、前期准备2.1 硬件要求本地文本大模型 QLoRAStable Diffusion 绘画 LoRA2.2 环境安装两种方式方式 1新手零代码推荐方式 2手动 Python 环境适合会编程三、通用完整微调全流程文字大模型步骤 1确定任务 挑选底座模型步骤 2制作 清洗训练数据集决定最终效果标准对话格式Alpaca 通用格式数据规则步骤 3QLoRA 关键超参新手直接抄步骤 4两种训练实操方案 ALLaMA Factory 零代码最省事方案 B极简可运行 Python 代码QLoRA 模板步骤 5测试与过拟合判断步骤 6推理使用两种方式四、AI 绘画 SD LoRA 微调极简流程补充五、无本地显卡云端微调方案六、重要避坑清单七、补充进阶微调后部署开源模型微调完整实操教程主流分文本大模型聊天 / 文案QLoRA 微调、SD 绘画 LoRA 微调两大类普通人优先轻量化微调不用高端显卡。全程分通用逻辑、环境、数据集、训练、测试、部署附带新手零代码和极简代码两套方案。一、核心概念区分必看懂1. 三种微调方式全量微调更新模型全部权重。显存要求极高7B 模型≥40G 显存个人基本不用优点改动最强缺点易遗忘原有知识、吃显存。LoRA冻结主模型只训练少量低秩矩阵最终产出几十 MB 小文件。显存友好不会破坏底座通用能力。QLoRA个人首选把底座模型 4/8bit 量化压缩显存再减半。8G 显卡就能微调 7B 大模型适配绝大多数个人电脑 / 云主机。普通用户统一选QLoRA文字、普通 LoRA绘画。2. 必备组件底座开源模型Qwen、Llama3、GLM、MiniCPM中文优先选阿里 Qwen工具链Hugging Face Transformers、PEFT、BitsAndBytes量化、Accelerate、Datasets硬件N 卡NVIDIAAMD 兼容性差无本地显卡用云端 AutoDL/Colab。二、前期准备2.1 硬件要求本地文本大模型 QLoRA最低RTX 4060 8G4bit 量化跑 7B舒适16G/24G 显存3090/4090可跑 13B内存≥32G固态硬盘预留 100G模型文件体积大Stable Diffusion 绘画 LoRA最低 8G 显存12G 以上流畅。2.2 环境安装两种方式方式 1新手零代码推荐文本微调LLaMA FactoryWindows 一键包、网页可视化不用写代码 绘画微调Kohya_ssSD LoRA 行业标准工具方式 2手动 Python 环境适合会编程系统推荐 UbuntuWindows 用 WSL2Python 3.10 最佳安装 NVIDIA 驱动、CUDA、cuDNN依赖一键安装命令bashpip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121 pip install transformers peft accelerate bitsandbytes datasets trl pandas sentencepiece三、通用完整微调全流程文字大模型步骤 1确定任务 挑选底座模型常见选型表格使用场景推荐底座中文聊天、人设定制、办公话术Qwen2-7B-Instruct、MiniCPM-2B/7B多语言、英文需求Llama 3 7B超长文档GLM4-9B下载渠道Hugging Face、ModelScope 魔搭国内下载更快。步骤 2制作 清洗训练数据集决定最终效果标准对话格式Alpaca 通用格式JSON 文件样例json[ { instruction: 今天天气怎么样, input: , output: 今日晴朗温度25度适合出门 }, { instruction: 帮我写请假条, input: 请假1天事假, output: 尊敬领导因私事需请假一天…… } ]数据规则量级LoRA 微调200~3000 条高质量数据足够不用几万条质量数量。清洗删除重复、乱码、错别字、无关内容回复风格统一。划分训练集 80%、验证集 20%。验证集用来判断是否过拟合。步骤 3QLoRA 关键超参新手直接抄plaintext# 量化配置 load_in_4bitTrue bnb_4bit_use_double_quantTrue bnb_4bit_quant_typenf4 # LoRA参数 lora_r8 # 秩越大拟合能力越强容易过拟合一般4/8/16 lora_alpha16 lora_target_modules[q_proj,v_proj] # qwen/llama通用目标层 # 训练参数 learning_rate2e-4 ~ 3e-4 epoch3~5 batch_size2/4显存越小数字越小 max_seq_length1024/2048避坑学习率太高模型崩太低学不动epoch 过多会过拟合只会背训练集。步骤 4两种训练实操方案 ALLaMA Factory 零代码最省事下载 LLaMA Factory 整合包启动网页 UI模型列表选择底座Qwen2-7B-Instruct微调方式选择QLoRA上传整理好的 JSON 数据集参数保持默认只改 epoch、batch size开启训练实时查看 loss损失值平稳下降代表正常训练结束自动保存 LoRA 文件夹体积几十 MB方案 B极简可运行 Python 代码QLoRA 模板基于 Hugging Face 生态精简核心代码python运行import torch from datasets import load_dataset from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig from peft import LoraConfig, get_peft_model from accelerate import Accelerator # 1. 4bit量化配置 bnb_config BitsAndBytesConfig( load_in_4bitTrue, bnb_4bit_quant_typenf4, bnb_4bit_compute_dtypetorch.bfloat16 ) # 2. 加载底座模型分词器 model_name Qwen/Qwen2-7B-Instruct tokenizer AutoTokenizer.from_pretrained(model_name) model AutoModelForCausalLM.from_pretrained( model_name, quantization_configbnb_config, device_mapauto ) # 3. LoRA配置 lora_config LoraConfig( r8, lora_alpha16, target_modules[q_proj,v_proj], lora_dropout0.05, biasnone, task_typeCAUSAL_LM ) model get_peft_model(model, lora_config) # 4. 加载数据集、格式化、分词 dataset load_dataset(json, data_filestrain_data.json) # 自行写函数把instruction/input/output拼接成模型prompt格式 # 分词、padding、截断 # 5. Trainer训练、保存LoRA权重 from transformers import TrainingArguments, Trainer training_args TrainingArguments( output_dir./lora_output, per_device_train_batch_size2, learning_rate2e-4, num_train_epochs4, logging_steps10, save_strategyepoch ) trainer Trainer(modelmodel, argstraining_args, tokenizertokenizer, train_datasetdataset[train]) trainer.train() model.save_pretrained(./qwen_lora_final)步骤 5测试与过拟合判断用训练集没有见过的新问题测试。常见问题只会复制训练集文字过拟合减少 epoch、降低学习率、扩充多样化数据。完全不改风格数据太少、lora_r 太小、训练步数不足。通用能力变弱不要全量微调坚持 QLoRA。步骤 6推理使用两种方式分开加载推荐底座模型 LoRA 小文件用 Ollama、Text Generation WebUI、Transformers 加载。不用合并方便随时切换不同 LoRA。权重合并需要单独完整模型用 peft 工具把 LoRA 融合进底座得到完整大模型体积回到原始大小。四、AI 绘画 SD LoRA 微调极简流程补充收集图片角色 / 画风图 20~100 张统一分辨率 512/768全部打标签caption。用 Kohya_ss选择 SD 底座开启 LoRA 训练。参数lr1e-4epoch 6~12。训练完成产出.safetensors LoRA 文件在 SD WebUI 加载绘图。五、无本地显卡云端微调方案AutoDL国内首选按量租 RTX40903~8 元 / 小时预装全部环境打开 Jupyter/LLaMA Factory 网页直接跑。Google Colab免费 T4 GPU限时使用适合小模型临时测试。阿里云 / 腾讯云 GPU适合长时间批量训练。操作云端开机→上传模型、数据集→运行训练→下载 LoRA 文件到本地。六、重要避坑清单不要全量微调 7B 及以上模型个人算力扛不住QLoRA 是最优解。数据格式必须严格统一格式混乱 训练无效。loss 震荡不降学习率不对、数据集脏、batch 太小。Windows 容易爆显存开启 4bit 量化降低 batch、缩短上下文长度。国内下载 Hugging Face 慢用 ModelScope、hf-mirror 镜像加速。不需要多次重复训练底座LoRA 可以反复叠加训练。七、补充进阶微调后部署本地调用Ollama 接入 LoRA一键本地对话。网页演示Gradio/Streamlit 快速做在线网页。API 服务FastAPI 封装接口可对接软件、小程序、机器人。RAG 微调组合微调改人设语气RAG 负责知识库查资料搭配效果最强。

本月热点