LLM微调理论知识
- 预训练 → 决定“知道什么”(知识)
- 微调(SFT) → 决定“怎么回答”(基本行为)
- RLHF → 决定“回答得好不好”(风格、偏好、礼貌、安全)
SFT、RLHF、RAG
预训练阶段是 LLM 训练的第一阶段,目标是让模型学习语言的基本规律和世界知识。这个阶段使用海量的文本数据(通常是数 TB 级别),通过自监督学习的方式训练模型。最常见的预训练任务是因果语言建模(Causal Language Modeling),也称为下一个词预测(Next Token Prediction)。
给定一个文本序列 ,模型需要预测下一个词 :
其中 是模型参数, 是模型预测的下一个词的概率分布,目标是最小化负对数似然,即最大化预测正确词的概率。例如,给定文本“The cat sat on the”,模型需要预测下一个词最可能是“mat”。通过在海量文本上进行这样的训练,模型逐渐学会语法规则(什么样的词序是合法的)、语义知识(词与词之间的关系)、世界知识(关于世界的事实性信息)以及基础的推理能力。
预训练阶段的特点是数据量巨大、计算成本高、学到的是通用的语言理解和生成能力、采用无监督学习。
后训练阶段则是要解决预训练模型的不足。预训练后的模型虽然具备了强大的语言能力,但它只是一个“预测下一个词”的模型,并不知道如何遵循人类的指令、生成有帮助无害诚实的回答、拒绝不当的请求,以及以对话的方式与人交互。后训练阶段就是要解决这些问题,让模型对齐人类的偏好和价值观。
后训练通常包含三个步骤。第一步是监督微调(SFT),目标是让模型学会遵循指令和对话格式。训练数据是(prompt, completion)对,训练目标与预训练类似,仍然是最大化正确输出的概率:
其中 是输入提示(prompt), 是期望的输出, 是训练样本数量。SFT 的特点是数据量较小、需要人工标注、快速见效、主要学习任务格式和基本能力。
第二步是奖励建模(RM)。SFT 后的模型虽然能遵循指令,但生成的回答质量参差不齐。我们需要一种方式来评估回答的质量,这就是奖励模型的作用。奖励模型的训练数据是偏好对比数据,包含同一个问题的两个回答,一个更好(chosen),一个更差(rejected)。奖励模型的训练目标是学习人类的偏好:
其中 是奖励模型,输入是(提示,回答)对,输出是质量分数; 是更好的回答(chosen), 是更差的回答(rejected), 是 sigmoid 函数,目标是让奖励模型给更好的回答更高的分数。
第三步是强化学习微调。有了奖励模型后,我们就可以用强化学习来优化语言模型,让它生成更高质量的回答。最经典的算法是 PPO(Proximal Policy Optimization),训练目标是:
其中 是当前策略,即语言模型, 是参考策略,这个场景下可以是 SFT 模型, 是奖励模型的评分, 是 KL 散度,目的是为了防止模型偏离太远, 是平衡系数。这个目标函数的含义是:最大化奖励,同时不要偏离原始模型太远。
传统的 RLHF(Reinforcement Learning from Human Feedback)需要大量人工标注偏好数据,成本高昂。为了降低成本,研究者提出了 RLAIF(Reinforcement Learning from AI Feedback),用强大的 AI 模型(如 GPT-4)来替代人类标注员。RLAIF 的工作流程是:用 SFT 模型生成多个候选回答,用强大的 AI 模型对回答进行评分和排序,用 AI 的评分训练奖励模型,用奖励模型进行强化学习。实验表明,RLAIF 的效果接近甚至超过 RLHF,同时成本大幅降低。
SFT
Supervised Fine-Tuning有监督微调,提到 “微调” 时通常是指有监督微调,通过提供人工标注的高质量指令 - 响应数据,进一步训练预训练基座模型,让模型精准适配特定领域 / 任务,对齐基础指令遵循能力。
微调算法分类
全参数微调(Full Fine-Tuning) 更新模型所有参数,性能上限最高,适配性强;算力成本极高;数据不足时极易过拟合。 部分参数微调(Partial Fine-Tuning) 仅更新模型特定层 / 模块参数(如 Transformer 的 attention 层),大幅降低算力与存储成本;过拟合风险低;迭代速度快 代表算法:LoRA(最主流)、Adapter、IA3
RLHF
Reinforcement Learning from Human Feedback,基于人类反馈的强化学习 核心目标:通过人类偏好信号,让模型生成更符合人类价值观、更有用、无害的内容;标准流程为 SFT 基座模型 → 收集人类偏好数据 → 训练奖励模型 RM → 强化学习优化策略模型
- PPO(Proximal Policy Optimization)
- 核心思想:渐进式调整模型策略,通过奖励信号(RM 输出分数)优化,同时用KL 散度约束防止模型输出偏离原 SFT 模型太远(避免灾难性遗忘)
- 特点:调整幅度小、稳定可控,是 RLHF 的核心算法
-
- 监督微调 (SFT):用高质量的“指令-回答”数据微调预训练模型,让它先学会基本指令跟随。 2. 训练奖励模型 (RM):收集偏好数据(如对同一问题,人工标注A回答比B好),然后训练一个独立的奖励模型,给输出打分。 3. PPO 强化学习:用奖励模型作为“裁判”,模型生成回答得高分则奖励,低分则惩罚,逐步调整参数。
- DPO(Direct Preference Optimization)
- 核心思想:跳过奖励模型与 PPO 的复杂流程,直接用人类对比偏好数据(A/B 选项优劣)优化生成模型。直接微调:用特殊损失函数,提高好回答概率,降低坏回答概率,像 SFT 一样简单。
- 特点:调整幅度大、训练流程简化、算力成本低;适合快速对齐人类偏好
注意:对比学习是无监督 / 自监督学习的一种,通过拉近正样本、推远负样本优化模型;RLHF 是强化学习框架,需先训练奖励模型(拟合人类偏好),再通过强化学习优化模型策略。
Align(对齐)
-
定义:Align 是指将模型的输出与人类的期望、价值观、道德标准等进行对齐,确保模型生成的内容不仅在技术上正确,还能在伦理和社会层面上符合人类的需求。
-
Align 通常结合 SFT 和 RLHF 来实现
RAG(Retrieval-Augmented Generation)检索增强生成
核心目标:将外部知识库的信息融入生成过程,解决大模型知识过时、幻觉、领域知识不足的问题
核心流程: 1. 数据预处理:文档拆分、向量化(通过 Embedding 模型生成向量) 2. 向量存储:将向量存入向量数据库(如 Pinecone、Milvus、Chroma) 3. 检索:用户提问向量化后,在向量库中检索最相关的 Top-K 文档片段 4. 生成:将提问 + 检索结果拼接为 Prompt,送入大模型生成答案
核心优点:无需微调大模型即可更新知识;降低幻觉;成本低 核心优化点:文档切分策略、Embedding 模型选择、向量数据库检索精度、Prompt 工程
超参搜索
手动设置超参效率低,以下为工业界主流超参优化方法,核心是在超参空间中高效找到最优组合
| 方法 | 核心原理 | 优点 | 缺点 |
|---|---|---|---|
| 网格搜索(Grid Search) | 遍历超参候选值的所有组合,交叉验证评估 | 简单直观、结果稳定 | 维度灾难,高维场景算力成本极高 |
| 随机搜索(Random Search) | 在超参空间随机采样,评估后保留最优 | 高维场景效率优于网格搜索 | 结果有随机性,需足够采样次数 |
| 贝叶斯优化 | 用概率模型(如高斯过程)建模超参-性能关系,优先评估潜在最优组合 | 自适应聚焦最优区域,适合高算力成本场景 | 实现复杂,对初始样本质量敏感 |
| 启发式搜索(遗传算法/粒子群) | 借鉴生物进化/群体智能,通过选择、交叉、变异迭代优化 | 适合非凸、复杂超参空间,鲁棒性强 | 计算成本高,收敛速度可能较慢 |
微调算法
Linear Probe线性探针
Linear Probe(线性探针) 是一种用于评估预训练模型(尤其是表示学习模型)学到的特征质量的方法。它的核心思想是:冻结冻结预训练模型的参数,仅在其输出的特征之上训练一个简单的线性分类器(或回归器),通过该线性模型的性能来衡量预训练特征的判别能力。
LoRA
LoRA 开山论文:LORA: LOW-RANK ADAPTATION OF LARGE LAN GUAGE MODELS,2021 年 Microsoft Research 提出,首次提出了通过低秩矩阵分解的方式来进行部分参数微调,极大推动了 AI 技术在多行业的广泛落地应用:
大模型的权重更新矩阵本质具有低秩特性(即高维更新可由低维矩阵近似)。矩阵的秩(Rank of a matrix)是指矩阵中线性无关的行或列的最大数量。简单来说它能反映矩阵所包含的有效信息量。通过将大矩阵分解为两个小矩阵的乘积,显著减少参数量。LoRA 训练结束后通常需要进行权重合并(升维)。 核心操作:在 Transformer 的 attention 层中插入 LoRA 模块;训练时冻结原模型参数,仅更新 LoRA 的 A、B 矩阵;训练后合并 LoRA 权重与原权重(升维)
QLoRA
LoRA 的量化版本,面向低资源场景,- 将基座模型量化为 4-bit/8-bit,同时结合 LoRA 低秩微调,在极小显存下实现高效微调
- 核心操作:
- 模型量化:用 NF4(NormalFloat4)量化方案压缩模型权重
- 冻结量化模型参数,插入 LoRA 模块并使用双量化、分页优化等技术减少显存占用
- 训练 LoRA 模块,训练后合并权重
微调常见实现框架
- Llama-Factory:由国内北航开源的低代码大模型训练框架,可以实现零代码微调
- transformers.Trainer:由 Hugging Face 提供的高层 API,适用于各种 NLP 任务的微调,提供标准化的训练流程和多种监控工具,适合需要更多定制化的场景,尤其在部署和生产环境中表现出色。
