<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>模型微调 on Leanku 的博客</title><link>https://www.leanku.com/tags/%E6%A8%A1%E5%9E%8B%E5%BE%AE%E8%B0%83/</link><description>Recent content in 模型微调 on Leanku 的博客</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Fri, 24 Oct 2025 00:01:01 +0800</lastBuildDate><atom:link href="https://www.leanku.com/tags/%E6%A8%A1%E5%9E%8B%E5%BE%AE%E8%B0%83/index.xml" rel="self" type="application/rss+xml"/><item><title>模型微调</title><link>https://www.leanku.com/post/ai/%E6%A8%A1%E5%9E%8B%E5%BE%AE%E8%B0%83/</link><pubDate>Fri, 24 Oct 2025 00:01:01 +0800</pubDate><guid>https://www.leanku.com/post/ai/%E6%A8%A1%E5%9E%8B%E5%BE%AE%E8%B0%83/</guid><description>&lt;h1 id="模型微调"&gt;模型微调&lt;/h1&gt;&#10;&lt;h2 id="一模型微调到底是什么"&gt;一、模型微调到底是什么&lt;/h2&gt;&#10;&lt;p&gt;简单来说，&lt;strong&gt;模型微调就是让一个已经博学多才的“通才”，通过针对性的“岗前培训”，变成精通某个领域的“专家”&lt;/strong&gt;。&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;预训练模型（通才大厨）：就像一位精通全球菜系的米其林大厨，他掌握了所有的基础知识和烹饪技巧，但未必了解你餐厅的特色。&lt;/li&gt;&#10;&lt;li&gt;微调（岗前培训）：你想开一家川菜馆，于是让这位大厨用三个月时间，专门学习川菜的食材、调料和烹饪手法。&lt;/li&gt;&#10;&lt;li&gt;微调后的模型（川菜大师）：最终，他不仅保留了原有的厨艺基础，更能做出一手地道的麻婆豆腐，成为了川菜领域的专家 。&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;这个过程直接调整模型的“大脑”（参数），让学到的技能内化为模型自身的能力。相比于RAG（它更像是让大厨在做菜时随时翻阅菜谱），微调后的模型在推理时速度更快，且能深度掌握某种特定的风格或知识 。&lt;/p&gt;&#10;&lt;h2 id="二-核心技术lora四两拨千斤的微调利器"&gt;二、 核心技术：LoRA——四两拨千斤的微调利器&lt;/h2&gt;&#10;&lt;p&gt;你可能会担心，重新训练一个包含几十亿甚至上千亿参数的大模型，得需要多强大的计算资源？这正是LoRA（低秩自适应） 技术大显身手的地方。&lt;/p&gt;&#10;&lt;p&gt;它的核心思想非常巧妙，我们可以继续用“川菜大厨”的比喻来理解&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;全量微调&lt;/strong&gt;：相当于让大厨忘掉过去的一些习惯，全身心地重新学习川菜的每一个步骤。效果最好，但成本极高，需要强大的算力支持。&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;LoRA微调&lt;/strong&gt;：我们不动大厨已经固化的核心“厨艺”（预训练权重），而是给他一个轻量级的“川菜秘方贴纸”（低秩矩阵）。这张贴纸只记录了川菜的关键调整点，比如“多加花椒”、“牛油比例提升”。大厨在做川菜时，只需要在关键步骤上参考这张贴纸即可 。&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;这样做的好处是巨大的：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;strong&gt;显存占用低&lt;/strong&gt;：可训练的参数通常只有&lt;strong&gt;不到1%&lt;/strong&gt;，让在消费级显卡（如RTX 4090）上微调大模型成为可能。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;strong&gt;训练速度快&lt;/strong&gt;：大幅缩短了训练时间。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;strong&gt;模型性能高&lt;/strong&gt;：在绝大多数任务上，效果可以媲美全量微调。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;QLoRA&lt;/strong&gt; 则是LoRA的进阶版，它先把基础模型“压缩”（量化）到4位精度，再应用LoRA，进一步降低了硬件门槛。&lt;/p&gt;&#10;&lt;h2 id="三-具体如何实现"&gt;三、 具体如何实现&lt;/h2&gt;&#10;&lt;p&gt;理解了原理，我们来看看如何上手。&lt;/p&gt;&#10;&lt;p&gt;你完全不需要从零开始写复杂的训练代码。这里有两条清晰的路径：&lt;/p&gt;&#10;&lt;h3 id="路径一使用云端服务最简单快速上手"&gt;路径一：使用云端服务（最简单、快速上手）&lt;/h3&gt;&#10;&lt;p&gt;这是最省心的方式，你只需要准备好数据，在云平台上点点鼠标，就能完成微调。例如华为云的ModelArts Studio，流程大致如下 ：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;strong&gt;准备数据&lt;/strong&gt;：整理好你的训练集（如客户问答对、特定风格的文本等）。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;strong&gt;选择模型&lt;/strong&gt;：在平台界面选择你想要微调的基础模型，例如盘古大模型。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;strong&gt;配置任务&lt;/strong&gt;：选择“微调”训练类型，并可以灵活选择“全量微调”或“LoRA微调” 。然后设置一些基本参数，如：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;strong&gt;学习率&lt;/strong&gt;：决定模型参数更新的幅度，通常设为很小的值如 &lt;code&gt;2e-5&lt;/code&gt; 。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;strong&gt;训练轮数&lt;/strong&gt;：整个数据集被训练的遍数，通常设为 &lt;code&gt;3&lt;/code&gt; 以避免过拟合。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;strong&gt;数据批量大小&lt;/strong&gt;：每次处理的数据量，根据你的资源情况设定。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;strong&gt;启动训练&lt;/strong&gt;：提交任务，等待训练完成。过程中可以观察&lt;strong&gt;损失值（Loss）&lt;/strong&gt; 曲线，它应该呈下降趋势，代表模型在有效学习。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;strong&gt;部署使用&lt;/strong&gt;：训练完成后，平台会自动生成一个微调后的模型版本，你可以像调用普通API一样，通过PHP代码来使用这个专属模型。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="路径二使用本地开源工具更灵活适合动手实践"&gt;路径二：使用本地开源工具（更灵活、适合动手实践）&lt;/h3&gt;&#10;&lt;p&gt;如果你想在自己的电脑上体验整个过程，Ollama + Python是一个非常棒的组合，它让微调变得异常简单 。步骤如下：&lt;/p&gt;&#10;&lt;h4 id="1-安装ollama"&gt;1. 安装Ollama&lt;/h4&gt;&#10;&lt;p&gt;参考另一篇 &lt;a href="Ollama%E6%90%AD%E5%BB%BA%E6%9C%AC%E5%9C%B0.md"&gt;Ollama搭建本地&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;我们选择一个轻量级模型，普通电脑也能流畅运行&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;ollama pull llama2&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="2-准备微调数据"&gt;2. 准备微调数据&lt;/h4&gt;&#10;&lt;p&gt;微调的核心是数据。我们将创建一个非常简单的数据集，让模型学习用莎士比亚的风格回答问题。&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;2.1&lt;/strong&gt; 创建项目目录&#10;在合适的位置新建一个文件夹：&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;mkdir ollama-finetune-demo&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; ollama-finetune-demo&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;2.2&lt;/strong&gt; 创建Python虚拟环境&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 创建虚拟环境&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;python -m venv .venv&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 激活虚拟环境&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Windows:&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;6&lt;/span&gt;&lt;span class="cl"&gt;.venv&lt;span class="se"&gt;\S&lt;/span&gt;cripts&lt;span class="se"&gt;\a&lt;/span&gt;ctivate&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# macOS/Linux:&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;source&lt;/span&gt; .venv/bin/activate&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;2.3&lt;/strong&gt; 安装必要的Python库&lt;/p&gt;</description></item></channel></rss>