<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Sft on Wilson Wu</title><link>https://wilsonwu.me/zh/tags/sft/</link><description>Recent content in Sft on Wilson Wu</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Tue, 28 Oct 2025 00:00:00 -0400</lastBuildDate><atom:link href="https://wilsonwu.me/zh/tags/sft/index.xml" rel="self" type="application/rss+xml"/><item><title>玩转大语言模型：大语言模型（LLM）微调主流方式和使用场景全面解析对比</title><link>https://wilsonwu.me/zh/blog/2025/llm-fine-tuning/</link><pubDate>Tue, 28 Oct 2025 00:00:00 -0400</pubDate><guid>https://wilsonwu.me/zh/blog/2025/llm-fine-tuning/</guid><description>&lt;p&gt;在构建 AI 应用的过程中，&lt;strong&gt;大语言模型（LLM）的微调&lt;/strong&gt;是企业和开发者实现“定制化能力”的核心手段。随着行业快速发展，微调技术已经从最早的传统全参数微调，演进到高效、低成本的多种方法，比如 LoRA、QLoRA、Adapters、指令微调（SFT）、奖励模型训练（RM）与 RLHF 等等。&lt;/p&gt;</description><content:encoded><![CDATA[<p>在构建 AI 应用的过程中，<strong>大语言模型（LLM）的微调</strong>是企业和开发者实现“定制化能力”的核心手段。随着行业快速发展，微调技术已经从最早的传统全参数微调，演进到高效、低成本的多种方法，比如 LoRA、QLoRA、Adapters、指令微调（SFT）、奖励模型训练（RM）与 RLHF 等等。</p>
<p>本文将系统介绍主流微调方法，并对比它们的优缺点，最后给出“什么场景适合什么方法”的决策指南，帮助您在项目中做出正确选择。</p>
<h2 id="为什么需要微调-llm">为什么需要微调 LLM？</h2>
<p><img alt="Fine-tuning" loading="lazy" src="/zh/blog/2025/llm-fine-tuning/0-fine-tuning.png"></p>
<p>预训练大模型虽然功能强大，但在具体业务中往往会出现：</p>
<ul>
<li>行业术语理解不够（如金融、法律、医疗）</li>
<li>回答不符合企业风格或业务逻辑</li>
<li>需要模型具备专门技能（如 SQL 生成、代码风格限定）</li>
<li>数据结构化能力不佳</li>
<li>多轮对话表现不符合行业预期</li>
</ul>
<p>因此 —— <strong>您需要微调</strong>。</p>
<h2 id="主流微调方法概览">主流微调方法概览</h2>
<h3 id="1-全参数微调full-fine-tuning">1. 全参数微调（Full Fine-tuning）</h3>
<p><img alt="Full Fine-tuning" loading="lazy" src="/zh/blog/2025/llm-fine-tuning/1-full-fine-tuning.png"></p>
<p><strong>原理：</strong>
更新模型中的所有参数（数十亿级），直接用业务数据对大模型做“重训练风格的修改”。</p>
<p><strong>优点：</strong></p>
<ul>
<li>效果最好，可深度定制</li>
<li>可改变模型内在知识结构</li>
</ul>
<p><strong>缺点：</strong></p>
<ul>
<li>昂贵（训练成本高）</li>
<li>需要大量显存</li>
<li>对数据量要求大</li>
</ul>
<p><strong>适用场景：</strong></p>
<ul>
<li>超大企业、科研机构</li>
<li>需要深度改造模型知识，例如专业领域（法律、医学）的专家模型</li>
</ul>
<h3 id="2-adapter--prefix-tuning">2. Adapter / Prefix Tuning</h3>
<p><img alt="Prefix Tuning" loading="lazy" src="/zh/blog/2025/llm-fine-tuning/2-prefix-tuning.png"></p>
<p><strong>原理：</strong>
冻结大部分模型，只在中间层插入小的“微调模块”（Adapter），只训练这些模块。</p>
<p><strong>优点：</strong></p>
<ul>
<li>轻量、可插拔</li>
<li>多任务共存方便（一个模型挂多个 Adapter）</li>
<li>效果通常不错</li>
</ul>
<p><strong>缺点：</strong></p>
<ul>
<li>极端任务下效果不如 LoRA / 全参数</li>
</ul>
<p><strong>适用场景：</strong></p>
<ul>
<li>企业想在一个模型上运行多个不同业务</li>
<li>需要模块化、可管理的微调方式</li>
</ul>
<h3 id="3-lora-微调low-rank-adaptation">3. LoRA 微调（Low-Rank Adaptation）</h3>
<p><img alt="LoRA" loading="lazy" src="/zh/blog/2025/llm-fine-tuning/3-lora.png"></p>
<p><strong>原理：</strong>
不训练大模型的全量矩阵，而是训练低秩矩阵（A、B），通过“低秩更新”改变模型行为。</p>
<p>这是目前最主流的微调技术。</p>
<p><strong>优点：</strong></p>
<ul>
<li>显存需求极低</li>
<li>效果接近全参数微调</li>
<li>开源生态成熟（如 HuggingFace PEFT）</li>
</ul>
<p><strong>缺点：</strong></p>
<ul>
<li>针对极难任务时略弱于全参数微调</li>
<li>对某些结构（如 KV cache）敏感</li>
</ul>
<p><strong>适用场景：</strong></p>
<ul>
<li>绝大多数企业项目</li>
<li>指令微调、垂直领域知识注入</li>
<li>全部希望“成本可控”的模型开发</li>
</ul>
<h3 id="4-qlora">4. QLoRA</h3>
<p><img alt="QLoRA" loading="lazy" src="/zh/blog/2025/llm-fine-tuning/4-qlora.png"></p>
<p><strong>原理：</strong>
LoRA 的升级版，<strong>把模型权重量化到 4bit</strong>，大幅降低显存占用，同时保持高微调效果。</p>
<p><strong>优点：</strong></p>
<ul>
<li>显存需求进一步下降</li>
<li>允许在单卡（甚至消费级 GPU）微调大型模型</li>
</ul>
<p><strong>缺点：</strong></p>
<ul>
<li>训练速度受量化影响</li>
<li>对某些任务有小幅精度损失</li>
</ul>
<p><strong>适用场景：</strong></p>
<ul>
<li>单卡/小规模设备的开发者团队</li>
<li>调研性质的快速实验</li>
<li>成本敏感型企业</li>
</ul>
<h3 id="5-sftsupervised-fine-tuning监督式指令微调">5. SFT（Supervised Fine-tuning，监督式指令微调）</h3>
<p><img alt="SFT" loading="lazy" src="/zh/blog/2025/llm-fine-tuning/5-sft.png"></p>
<p><strong>原理：</strong>
用成对的指令→输出的数据训练模型的行为。</p>
<p><strong>优点：</strong></p>
<ul>
<li>建模简单，效果直观</li>
<li>对风格/格式控制非常有效</li>
</ul>
<p><strong>缺点：</strong></p>
<ul>
<li>不能保证模型“对齐”到最优行为</li>
<li>会在不稳定任务中出现幻觉</li>
</ul>
<p><strong>适用场景：</strong></p>
<ul>
<li>构建任务型模型（如客服、知识问答）</li>
<li>文本生成任务（如摘要、改写）</li>
<li>企业业务流程规范化</li>
</ul>
<h3 id="6-rmreward-model-rlhf--ppo">6. RM（Reward Model）+ RLHF / PPO</h3>
<p><img alt="RM RLHF" loading="lazy" src="/zh/blog/2025/llm-fine-tuning/6-rm-rlhf.png"></p>
<p><strong>原理：</strong>
用奖励模型（Reward Model）评估 LLM 输出质量，然后用强化学习（如 PPO）调整模型行为。</p>
<p><strong>优点：</strong></p>
<ul>
<li>能塑造“符合价值观”“更自然”的对话</li>
<li>可解决 SFT 本身的局限</li>
</ul>
<p><strong>缺点：</strong></p>
<ul>
<li>架构复杂、成本高</li>
<li>数据标注要求很高</li>
</ul>
<p><strong>适用场景：</strong></p>
<ul>
<li>构建通用助手</li>
<li>构建开放式对话大模型</li>
<li>企业要训练“高安全性、高对齐”的模型</li>
</ul>
<h2 id="微调方法对比表">微调方法对比表</h2>
<table>
	<thead>
			<tr>
					<th>微调方式</th>
					<th>成本</th>
					<th>效果</th>
					<th>数据要求</th>
					<th>适用场景</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td><strong>全参数微调</strong></td>
					<td>⭐⭐⭐⭐⭐（高）</td>
					<td>⭐⭐⭐⭐⭐</td>
					<td>大</td>
					<td>专业领域深度定制</td>
			</tr>
			<tr>
					<td><strong>Adapter</strong></td>
					<td>⭐⭐</td>
					<td>⭐⭐⭐</td>
					<td>中等</td>
					<td>多业务挂载、模块化开发</td>
			</tr>
			<tr>
					<td><strong>LoRA</strong></td>
					<td>⭐⭐</td>
					<td>⭐⭐⭐⭐</td>
					<td>中等</td>
					<td>绝大多数应用</td>
			</tr>
			<tr>
					<td><strong>QLoRA</strong></td>
					<td>⭐</td>
					<td>⭐⭐⭐⭐</td>
					<td>中等</td>
					<td>单卡、小预算项目</td>
			</tr>
			<tr>
					<td><strong>SFT</strong></td>
					<td>⭐⭐</td>
					<td>⭐⭐⭐</td>
					<td>需要成对数据</td>
					<td>指令任务、格式化任务</td>
			</tr>
			<tr>
					<td><strong>RLHF / PPO</strong></td>
					<td>⭐⭐⭐⭐⭐</td>
					<td>⭐⭐⭐⭐⭐</td>
					<td>高</td>
					<td>通用助手、用户安全对齐</td>
			</tr>
	</tbody>
</table>
<h2 id="不同应用场景如何选择微调方式">不同应用场景如何选择微调方式？</h2>
<h3 id="场景-1打造客服机器人业务问答系统">场景 1：打造客服机器人、业务问答系统</h3>
<p><strong>建议：LoRA / QLoRA + SFT</strong>
理由：成本低、数据一般是结构化问答，效果好。</p>
<h3 id="场景-2法律医疗等专业知识注入">场景 2：法律、医疗等专业知识注入</h3>
<p><strong>建议：全参数微调 或 LoRA 微调 + 大规模领域语料</strong>
理由：需要深度学习专业知识。</p>
<h3 id="场景-3企业想统一不同部门的-ai-角色">场景 3：企业想统一不同部门的 AI 角色</h3>
<p><strong>建议：Adapter</strong>
理由：一个模型挂多个部门的“工作流”。</p>
<h3 id="场景-4构建-chatgpt-类通用对话助手">场景 4：构建 ChatGPT 类通用对话助手</h3>
<p><strong>建议：SFT → RM → RLHF（经典 pipeline）</strong>
理由：需要安全性、价值观对齐、对话自然度。</p>
<h3 id="场景-5预算有限但想训练自己的模型">场景 5：预算有限但想训练自己的模型</h3>
<p><strong>建议：QLoRA</strong>
理由：单卡即可训练，大幅降低门槛。</p>
<h3 id="场景-6生成类任务写作摘要改写">场景 6：生成类任务（写作、摘要、改写）</h3>
<p><strong>建议：LoRA + SFT</strong>
理由：格式、风格任务的最佳方案。</p>
<h2 id="总结">总结</h2>
<p>大语言模型微调方法众多，并不存在“最好的方法”，只有“最适合的方案”。
选择微调方式时，可以按以下三条原则：</p>
<ol>
<li><strong>看预算</strong> → 小预算选 QLoRA / LoRA</li>
<li><strong>看任务类型</strong> → 结构化任务用 SFT，通用对话用 RLHF</li>
<li><strong>看效果需求</strong> → 专业领域深度需求选全参数微调</li>
</ol>
]]></content:encoded></item></channel></rss>