Take-away Messages

  • In-context Learning
    • 涌现能力
    • 影响因素:示例顺序、示例分布
    • 非影响因素:类别准确性
  • Fine-tuning
    • 使用低秩技术进行快速微调

第一部分:In-Context Learning (ICL) 

ICL(上下文学习)本质上是 Prompt Engineering 的一种,在不改变模型本身权重的情况下,通过提示词与样例引导模型输出(分为 Zero-shot, One-shot, Few-shot)。

1. ICL Prompt 经典三要素

  1. Task Description (任务描述):告诉模型要做什么(可省略,但复杂任务建议写清以防歧义)。
  2. Examples (示例):给出的参考输入输出对(这是 ICL 精准度的核心)。
  3. 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) 的痛点

  • 概念:更新网络中的所有参数($\theta$)。
  • 优点:理论性能上限最高,没有历史包袱。
  • 缺点
    • 训练成本极其高昂(显存和算力需求大)。
    • 灾难性遗忘:微调某一个特别垂直的领域(如数学),会导致模型把原来预训练学到的通用能力(如英语、语文)全部忘光。

2. 高效参数微调 (PEFT) 主流方案

由于全参数微调代价太大,目前工业界主流采用 PEFT(Parameter-Efficient Fine-Tuning):

  1. Adapter:冻结主模型,在原有的 Transformer 层之间插入极小的网络层进行训练。
  2. Prefix-Tuning:冻结主模型,在 Prompt 之前加入少量可训练的连续虚拟向量空间前缀。
  3. LoRA (Low-Rank Adaptation) 【绝对重点】:当前应用最广的微调技术。

3. LoRA 算法原理解析

  • 核心思想 (Motivation):预训练模型的权重参数其实是“过参数化”的。微调时的参数变化量($\Delta W$)实际上存在于一个低秩 (Low-Rank) 空间中。
  • 算法逻辑
    • 冻结原有的庞大权重矩阵 $W_{m \times m}$
    • 引入两个低秩矩阵 $A_{m \times r}$$B_{r \times m}$ (其中秩 $r \ll m$)。
    • 训练时只更新 $A$$B$。因为 $Rank(AB) \le \min(Rank(A), Rank(B))$,所以其乘积必是一个低秩矩阵。
    • 推理时:$W' = W + AB$
  • 绝对优势(参数量暴降): 原模型更新需要 $m^2$ 个参数;使用 LoRA 后只需更新 $2rm$ 个参数。由于 $r$ 极小(如 8 或 16),参数量成百上千倍下降。
  • 底层计算优化(时间与空间的 Trade-off)
    • 在计算前向传播时 $(W + AB)x$,如果依照公式先算 $(AB)$ 再乘 $x$,计算复杂度极高(产生 $m^2$ 次乘法累加)。
    • 矩阵运算优化:利用结合律先算 $A(Bx)$。先算 $Bx$ 只需 $rm$ 次运算,再算 $A$ 乘以该向量也只需 $mr$ 次运算。将 $O(m^2)$ 的复杂度降维成了 $O(mr)$,在不牺牲空间的前提下极大地加速了时间(属于 ML Sys 底层优化思想)。

AI工具

工具分类工具名称核心功能与应用领域亮点/启发
云算力平台AutoDL提供 GPU 算力租赁服务,用于跑大模型微调与训练。性价比高,容器实例环境(如基础镜像、社区镜像)配置方便,适合学生及个人开发者炼丹。
模型开源社区Hugging Face (含国内镜像)全球最大的开源模型、数据集托管平台。下载模型(如 Qwen-2.5-7B)的必经之路。国内可通过 hf-mirror 镜像站解决下载网络受限问题。
可视化监控TensorBoard记录并可视化模型训练过程中的 Loss 曲线、学习率等各项指标。极大地降低了炼丹过程中的“黑盒”感,通过网页端实时监控模型是否过拟合或报错。
云端微调后台OpenAI Fine-tuning DashboardOpenAI 官方提供的轻量级微调面板(支持 GPT-4o mini 等)。无需部署本地服务器,只需上传特定格式的 JSONL 数据集即可实现专有大模型微调,简单高效。

更多推荐