Transformer 与 QLoRA 矩阵实验台

看见 Q/K/V、LoRA A/B、NF4 量化和梯度,而不是只背 API 名称。

QKV · LoRA · NF4

Transformer block + LoRA 分支

基础权重被冻结并量化保存;LoRA 分支在目标 Linear 旁边产生小的低秩增量,最后逐元素相加。

X [B,T,D]隐藏状态q, scale4bit 冻结基础权重dequant(W₀)base = XW₀ᵀA [r,D]降维 X AᵀB [D,r]升维 × α/r+Y输出上支路:量化基础模型,训练时不更新 q/scale下支路:只训练 LoRA 的 A、B 参数
冻结基础分支LoRA 低秩分支量化/反量化

参数量变化

拖动输入维度、输出维度和 rank,观察完整矩阵与 LoRA 的差距。

4096
4096
16
完整 W16.78 M
LoRA A+B131.07 K
占比0.78%
参数少不代表一定更强;rank 太小可能欠拟合,rank 太大又会增加显存和过拟合风险。

一层 Transformer 的数据流

张量形状含义
X[B,T,D]Token 隐藏状态
Q/K/V[B,h,T,d]查询、匹配、内容
QKᵀ[B,h,T,T]Token 之间的分数
A·V[B,h,T,d]加权取回内容
MLP[B,T,D]逐 Token 非线性变换
Y = X·dequant(W₀)ᵀ + (α/r)·(X·Aᵀ)·Bᵀ