大模型的探索与实践-课程笔记(六):微调与上下文学习-Finetuning, In-Context Learning
·
Take-away Messages
- In-context Learning
- 涌现能力
- 影响因素:示例顺序、示例分布
- 非影响因素:类别准确性
- Fine-tuning
- 使用低秩技术进行快速微调
第一部分:In-Context Learning (ICL)
ICL(上下文学习)本质上是 Prompt Engineering 的一种,在不改变模型本身权重的情况下,通过提示词与样例引导模型输出(分为 Zero-shot, One-shot, Few-shot)。
1. ICL Prompt 经典三要素
- Task Description (任务描述):告诉模型要做什么(可省略,但复杂任务建议写清以防歧义)。
- Examples (示例):给出的参考输入输出对(这是 ICL 精准度的核心)。
- Prompt (问题):当前需要模型真实解答的输入。
2. ICL 的四个反直觉核⼼结论
- 现象一:ICL 是大模型的“涌现能力 (Emergence)”
- 参数量在 1B 以下的小模型,几乎没有 ICL 能力(Few-shot 甚至不如 Zero-shot)。只有当模型 Scale Up 到一定量级(如 2.6B 以上),ICL 能力才会呈现断崖式激增。
- 避坑:做 ICL 测试,不要选小于 1B 的微型模型。
- 现象二:分类标签的准确性并不重要
- 实验表面:把 Example 中的真实标签($y$)全部替换为随机标签,模型的 ICL 性能几乎不下降!
- 核心原因:ICL 真正起作用的是输入格式和数据的分布结构 ($x$),而不是标签本身传递的对应关系。
- 现象三:对 Example 的“顺序”极度敏感
- 将同样的 4 个例子打乱顺序(如 1234 变成 3421),模型的输出结果与准确率会发生极其剧烈的波动(方差极大)。
- 现象四:对 Example 的“挑选”有讲究
- 给的例子不是越多越好,过多的瞎给例子反而会导致性能下降。
- 最优解:利用 KNN(K近邻算法)等方法,从测试集周围挑选与当前输入最相似的 4~8 个样本作为 Example,能显著提升准确率。
第二部分:模型微调 (Finetuning)
为什么有了 ICL 还需要微调? 当任务极度垂直且样例非常多时,把所有样例塞进 ICL 会导致 Token 成本极高且超出上下文窗口。此时必须通过训练永久改变模型参数。
1. 全参数微调 (Full Finetuning) 的痛点
- 概念:更新网络中的所有参数(
)。
- 优点:理论性能上限最高,没有历史包袱。
- 缺点:
- 训练成本极其高昂(显存和算力需求大)。
- 灾难性遗忘:微调某一个特别垂直的领域(如数学),会导致模型把原来预训练学到的通用能力(如英语、语文)全部忘光。
2. 高效参数微调 (PEFT) 主流方案
由于全参数微调代价太大,目前工业界主流采用 PEFT(Parameter-Efficient Fine-Tuning):
- Adapter:冻结主模型,在原有的 Transformer 层之间插入极小的网络层进行训练。
- Prefix-Tuning:冻结主模型,在 Prompt 之前加入少量可训练的连续虚拟向量空间前缀。
- LoRA (Low-Rank Adaptation) 【绝对重点】:当前应用最广的微调技术。
3. LoRA 算法原理解析

- 核心思想 (Motivation):预训练模型的权重参数其实是“过参数化”的。微调时的参数变化量(
)实际上存在于一个低秩 (Low-Rank) 空间中。
- 算法逻辑:
- 冻结原有的庞大权重矩阵
。
- 引入两个低秩矩阵
和
(其中秩
)。
- 训练时只更新
和
。因为
,所以其乘积必是一个低秩矩阵。
- 推理时:
。
- 冻结原有的庞大权重矩阵
- 绝对优势(参数量暴降): 原模型更新需要 $m^2$ 个参数;使用 LoRA 后只需更新 $2rm$ 个参数。由于
极小(如 8 或 16),参数量成百上千倍下降。
- 底层计算优化(时间与空间的 Trade-off):
- 在计算前向传播时
,如果依照公式先算
再乘
,计算复杂度极高(产生
次乘法累加)。
- 矩阵运算优化:利用结合律先算
。先算
只需
次运算,再算
乘以该向量也只需
次运算。将
的复杂度降维成了
,在不牺牲空间的前提下极大地加速了时间(属于 ML Sys 底层优化思想)。
- 在计算前向传播时
AI工具
| 工具分类 | 工具名称 | 核心功能与应用领域 | 亮点/启发 |
|---|---|---|---|
| 云算力平台 | AutoDL | 提供 GPU 算力租赁服务,用于跑大模型微调与训练。 | 性价比高,容器实例环境(如基础镜像、社区镜像)配置方便,适合学生及个人开发者炼丹。 |
| 模型开源社区 | Hugging Face (含国内镜像) | 全球最大的开源模型、数据集托管平台。 | 下载模型(如 Qwen-2.5-7B)的必经之路。国内可通过 hf-mirror 镜像站解决下载网络受限问题。 |
| 可视化监控 | TensorBoard | 记录并可视化模型训练过程中的 Loss 曲线、学习率等各项指标。 | 极大地降低了炼丹过程中的“黑盒”感,通过网页端实时监控模型是否过拟合或报错。 |
| 云端微调后台 | OpenAI Fine-tuning Dashboard | OpenAI 官方提供的轻量级微调面板(支持 GPT-4o mini 等)。 | 无需部署本地服务器,只需上传特定格式的 JSONL 数据集即可实现专有大模型微调,简单高效。 |
更多推荐

所有评论(0)