返回 M01~M90 教材库
M41 · 预习教材教材已备 ≠ 学习已完成

M41:可选探索:Rank、Target Module 与低秩线性代数

今天只任选一个 rank 或 target module 对照,用来理解表达容量与注入位置;也可以完全不运行,回补低秩矩阵的基本概念。

2026-10-03rank、target-module、svd、optional、lora

内容类型:预习教材(不代表已完成)
日期:2026-10-03
阶段:P1 · AI Model Engineering 90
周次:W6 · SFT、LoRA/PEFT 与领域适配
节奏:周六可选探索 / 补课
状态:教材已备;学习未完成
标签:rank、target-module、svd、optional、lora

一句话定义

今天只任选一个 rank 或 target module 对照,用来理解表达容量与注入位置;也可以完全不运行,回补低秩矩阵的基本概念。

学习目标

  1. 理解 rank 是增量矩阵子空间维度,不是质量旋钮。
  2. 理解 target module 决定适配信号进入模型的路径。
  3. 在可选探索中保持单变量和明确停止点。

核心知识

任意矩阵的 rank 表示其独立行/列方向数量。LoRA 用 BA 近似任务所需 ΔW,因此 rank(BA)≤r。较大的 r 提供更多方向,也增加参数、计算与对小数据噪声的拟合空间。适合的 rank 由任务、层、数据和预算共同决定,没有跨任务固定最优值。

target module 是另一个维度:attention 投影影响 token 间信息混合,FFN 投影影响逐 token 特征变换;只适配 q/v 是一种经验配置,不是理论必然。模型实现的层名不同,配置匹配失败可能导致零个或意外数量的 trainable 参数。

SVD 可帮助建立直觉:矩阵可分解为按奇异值排序的方向,低秩近似保留最大的若干方向。但 LoRA 训练不是先得到完整 ΔW 再做 SVD,而是直接在低秩参数化中优化。

机制/推导

参数量为 r(d_in+d_out);若目标多个层,需对每个层求和。把 rank 从 4 提到 8,LoRA 参数约翻倍,但基础模型参数与大部分激活不变。若同时扩大 target module 集合,便同时改变容量和位置,无法单独归因。

最小练习或观察步骤

任选其一:

  1. rank 对照:固定所有条件,只比较两个 rank;预先选定一个任务指标与一个资源指标。
  2. module 对照:固定 rank,只比较一组与另一组 target modules;先打印实际命中的层名。
  3. 线性代数补课:对一个 3×3 小矩阵查 rank,并写出 rank-1 外积可以表达和不能表达的变化。
  4. 达到一次对照或 45 分钟即停止,不继续网格搜索。

常见误区

  • rank 越大就必然越接近 full fine-tuning 的效果。
  • 同时换 rank、层集合和训练步数,再给出单因素结论。
  • 配置文件写了 target module 就默认已成功注入。
  • 把 SVD 的截断近似过程等同于 LoRA 的训练过程。

金融 / Web3 / 文档场景连接

少量机构文档样本更容易让高容量 adapter 记住模板或实体。与其盲目增加 rank,不如先改善按案件/文档切分、标签一致性与难例覆盖。

自检问题

  1. rank(BA) 的上界是什么?
  2. 为什么改变 target modules 会改变因果解释?
  3. 如何确认 adapter 真正注入了预期层?

专业课程对齐

  • 必读 HF PEFT LoRArtarget_modulesrank_patternalpha_pattern,理解全局 rank 与逐层配置的 API 边界。
  • 精读 Stanford CS336 中 Transformer attention/MLP 投影与参数计算课题,确认 q/k/v/o 和 FFN 层的 shape 与功能不同。
  • 选读 PyTorch Tutorials 的 linear algebra、SVD 与 nn.Module 主题,用于检查秩、外积和模块命名。

深入学习提示

先按 CS336 画出投影层,再精读 PEFT 的匹配规则,SVD 只做数学直觉。使用 rank(BA)≤rr(d_in+d_out) 手算一层的容量和参数量,再打印实际命中的 module names 与 trainable parameters。单变量比较 rank 时不更换 target modules;比较 target modules 时保持 rank、数据与 token budget 不变。反例是配置名未匹配却以为 adapter 在训练,或 rank 从 4 到 8 同时扩大注入层数,使结果无法归因。

学后填写区

  • 今日选择(探索 / 补课 / 休息):
  • 唯一变量:
  • 停止条件:
  • 一条观察或疑问:
学完后,请把自己的理解、练习结果和仍不确定的问题写入文末“学后填写区”,再到唯一进度账本更新状态。预先阅读后续教材不会自动增加完成数。