首页 / 资讯中心 / 文章详情

大模型微调(Fine-tuning)入门:原理、方法与适用场景

大模型微调(Fine-tuning)入门:原理、方法与适用场景 ★ FEATURED ARTICLE
一、先搞懂微调到底是在做什么大模型就像一个刚毕业的大学生——知识面很广但什么都不精。微调就是给这个大学生做岗前培训让它变成你公司的专用员工。通用大模型什么都懂一点 ↓ 微调 领域专用模型更懂你的业务、更符合你的风格对比一下方式怎么做相当于Prompt每次跟它说清楚要求每次写需求文档RAG给它一堆资料让它查着答给它一堆参考书微调重新训练把知识刻进脑子里送它去上培训班二、什么时候该微调什么时候不该这是最多人纠结的问题。你的需求选RAG选微调知识经常更新产品、政策变来变去✅❌ 每次更新都要重训需要答案有出处、可追溯✅❌ 微调是黑盒数据量少✅❌ 数据不够训不动需要特定的说话风格/语气❌✅要让模型学会新的任务/技能❌✅对延迟和成本敏感❌✅ 小模型微调后能打大模型需要模型严格遵循某种输出格式可以用Prompt硬控✅ 微调后更稳定简单判断标准你要的是知识 → RAG你要的是能力或风格 → 微调三、微调的主要方法3.1 全量微调Full Fine-tuning把模型所有参数都重新训练一遍。特点效果最好成本极高需要几十上百张GPU容易过拟合一般公司玩不起谁在用OpenAI、Meta这种大厂训基础模型的时候才用。3.2 LoRA / QLoRA主流选择这是现在最常用的微调方法。核心思想不改动原来的模型只训练旁边一小部分外挂参数。原始模型参数冻结不动 LoRA适配器只训练这一小部分优势训练成本极低——一张消费级显卡就能跑速度快——几个小时就能训完可以给同一个模型挂多个LoRA切换使用效果接近全量微调QLoRA更进一步把模型量化成4位显存占用再砍到1/4。现在7B的模型一张RTX 3090就能微调。3.3 SFT vs RLHF方法是什么数据形式SFT监督微调教模型怎么做输入→输出 的问答对RLHF人类反馈强化学习让模型学人类偏好多个回答人类排序哪个好入门阶段先学SFT就够了。RLHF复杂得多一般只有大团队才做。四、微调的完整流程第1步准备数据集 ↓ 第2步选择基础模型 ↓ 第3步配置微调参数 ↓ 第4步训练 ↓ 第5步评测 ↓ 第6步部署4.1 第一步准备数据集这是最重要的一步。微调的效果数据质量决定了80%。SFT数据集格式JSONL{messages: [ {role: user, content: 怎么报销差旅费}, {role: assistant, content: 差旅费报销流程1. 保留发票2. 在OA系统填报销单3. 部门主管审批4. 财务打款...} ]} {messages: [ {role: user, content: 出差住宿标准是多少}, {role: assistant, content: 一线城市住宿标准每晚500元二线城市400元...} ]}数据量参考最小可用100条高质量样本入门推荐500-1000条效果较好几千到几万条数据质量比数量重要10倍。100条精心写的样本效果吊打10000条垃圾数据。4.2 第二步选基础模型不要一上来就用最大的模型。小模型微调后性价比更高模型大小适合场景显存需求QLoRA1.5B - 3B简单任务、分类、抽取4-6GB7B - 8B大多数企业场景8-12GB13B - 14B高质量要求16-24GB开源推荐Qwen通义千问、ChatGLM、Llama系列。中文场景优先Qwen。4.3 第三步训练现在有很多开源工具可以一键微调不用自己写训练代码LLaMA-Factory最流行的微调GUI工具点点鼠标就能训Axolotl配置文件驱动适合自动化Transformers PEFT想自己控制细节用这个关键参数learning_rate学习率一般1e-4到2e-4num_epochs训练轮数一般3-5轮batch_size看显存大小能开多大开多大lora_rankLoRA的秩一般8-644.4 第四步评测训完不要急着部署先测效果。评测方法准备一个测试集100-200条没参与训练的样本用微调后的模型跑一遍人工或者用大模型评判对比微调前后的效果核心指标准确率回答对的比例格式符合率输出格式对不对风格一致性说话风格像不像你要的五、一个最小实战用LLaMA-Factory微调现在微调真的没那么难了。用LLaMA-Factory大概半小时就能跑通# 1. 安装 git clone https://github.com/hiyouga/LLaMA-Factory.git cd LLaMA-Factory pip install -e .[torch,metrics] # 2. 启动Web UI llamafactory-cli webui然后在网页上选基础模型比如Qwen2-7B上传你的JSONL数据集选LoRA微调设几个参数点开始训练训练完直接在网页上对话测试效果。整个过程不需要写一行训练代码。六、微调的常见坑坑1数据量太少过拟合只拿几十条数据微调模型可能背答案了——训练集上表现很好新问题一塌糊涂。解决至少几百条起步或者用正则化方法防止过拟合。坑2数据质量差数据里有矛盾、错误、不一致微调完模型也学了一身毛病。解决宁可少而精不要多而杂。每条数据都人工过一遍。坑3把RAG能解决的问题拿去微调知识类的问题RAG就够了没必要微调。微调更新一次成本太高。解决先问自己这是知识问题还是能力问题坑4微调后忘了评测感觉好像变聪明了其实很多场景反而变差了。解决必须有测试集量化对比微调前后的效果。七、总结微调不是什么高不可攀的技术。现在的工具链已经非常成熟一个工程师花一两天就能跑通一个最小demo。但记住三句话先想清楚要不要微调数据质量决定上限一定要评测
阅读完成 · 觉得有帮助?
咨询建站