模型压缩的代数视角

阶段7 · LLM 应用 | 难度: 🟡 进阶

📋 前置知识

把一个 70B 参数的模型塞进手机?这不是工程奇迹,而是代数几何的胜利:模型权重并非各向同性地占满高维空间,它们集中在低维代数簇上。本章我们用四把代数几何的"刻刀"——SVD 低秩、量化格点、稀疏簇、LoRA 约束——切开"压缩何以可能"这个问题。

1. 低秩分解 → 行列式簇投影

低秩逼近问题

给定矩阵 $W\in\mathbb{R}^{m\times n}$ 与目标秩 $r$,求 $$ \widehat W \;=\; \arg\min_{\mathrm{rank}\,M\leq r} \|W - M\|_F. $$ 答案由 SVD 给出:若 $W = U\Sigma V^\top$,则 $\widehat W = U_r\Sigma_r V_r^\top$ —— 取前 $r$ 个奇异值对应的子矩阵。

Eckart–Young 定理(代数几何视角)

行列式簇 $$ \mathcal{R}_r = \{ M\in\mathbb{R}^{m\times n} : \mathrm{rank}\,M\leq r\} $$ 是由所有 $(r+1)\times(r+1)$ 子式 $=0$ 切出的奇异代数簇。SVD 截断 = 在 Frobenius 度量下,把 $W$ 投影到 $\mathcal{R}_r$ 上的最近点。

奇点结构:$\mathcal{R}_r$ 的奇异轨迹 = $\mathcal{R}_{r-1}$。维数:$\dim\mathcal{R}_r = r(m+n-r)$。

SVD 低秩逼近 = 行列式簇投影

矩阵空间 $\textcolor{4a90d9}{\mathbb{R}^{m\times n}}$(满秩开集)
$\textcolor{e67e22}{\mathcal{R}_r}$(秩 $\textcolor{e67e22}{\leq r}$ 簇)
$\textcolor{e74c3c}{\mathcal{R}_{r-1}}$(奇异轨迹)
$\textcolor{4a90d9}{W}$
$\textcolor{27ae60}{\widehat W}$
SVD 截断 = 正交投影
$\textcolor{2c3e50}{W = U\Sigma V^\top \;\Rightarrow\; \widehat W = U_r\Sigma_r V_r^\top \in \mathcal{R}_r,\quad \|W-\widehat W\|_F^2 = \sum_{i>r}\sigma_i^2}$

2. 权重量化 → 格点 (Lattice) 理论

格点(Lattice)

$\mathbb{R}^d$ 中的格点是离散加法子群 $$ \Lambda = \mathbb{Z} b_1 \oplus \cdots \oplus \mathbb{Z} b_d, $$ 其中 $\{b_i\}$ 是基。最简单的例子是 $\mathbb{Z}^d$(标准整数格)。

权重量化(INT8、INT4、NF4 等)= 把每个参数 $w$ 映射到最近的格点: $$ Q(w) = \arg\min_{\lambda\in\Lambda}\|w - \lambda\|. $$ 这是格点理论中的最近点问题(Closest Vector Problem, CVP)。

量化误差与覆盖半径

令 $\rho(\Lambda)$ 为格点的覆盖半径,即任意点到格点的最大距离: $$ \rho(\Lambda) = \max_{x\in\mathbb{R}^d}\min_{\lambda\in\Lambda}\|x-\lambda\|. $$ 量化最坏误差 $\leq \rho(\Lambda)$。"好"格点(如 $E_8$、Leech 格)在同样 bit 数下达到更小的 $\rho$,但 GPU 友好性偏差。

权重量化:连续空间 → 格点

原始权重(连续)
$\textcolor{5d6d7e}{Q(\cdot)}$
最近格点
量化后(格点 $\textcolor{e67e22}{\Lambda}$)
$\textcolor{e74c3c}{\rho(\Lambda)}$
连续权重 → 离散格点;最坏误差 $\textcolor{2c3e50}{\leq}$ 覆盖半径 $\textcolor{2c3e50}{\rho(\Lambda)}$

3. 稀疏性 → 代数簇的维数与结构

权重稀疏化(pruning)= 强迫部分位置 $w_i = 0$。设支撑集为 $S\subset[d]$,则稀疏权重住在仿射子簇 $$ L_S = \{w\in\mathbb{R}^d : w_i = 0\;\forall i\notin S\}, \qquad \dim L_S = |S|. $$

结构化稀疏 = 行列式簇并

$k$-稀疏向量集合 $$ \Sigma_k = \{w\in\mathbb{R}^d : \|w\|_0\leq k\} = \bigcup_{|S|=k} L_S $$ 是 $\binom{d}{k}$ 个 $k$-维线性子空间的并——一个可约代数簇。压缩感知(Donoho 2006)就是利用 $\Sigma_k$ 的低维性恢复信号。

4. LoRA:在低秩簇上的约束优化

LoRA(Low-Rank Adaptation)

冻结预训练权重 $W_0\in\mathbb{R}^{m\times n}$,只训练增量 $$ \Delta W = B A, \qquad B\in\mathbb{R}^{m\times r},\; A\in\mathbb{R}^{r\times n},\; r\ll \min(m,n). $$ 最终权重 $W = W_0 + BA$。

LoRA 的代数几何解释

可行集 $\{W_0 + BA : B,A\}$ 是仿射簇 $$ W_0 + \mathcal{R}_r, $$ —— 行列式簇 $\mathcal{R}_r$ 平移到 $W_0$。LoRA 训练 = 在这个低维仿射簇上做约束优化,参数数从 $mn$ 降到 $r(m+n)$。

有效维数:当 $r=8, m=n=4096$ 时,参数减少 $\approx 256\times$;可行集是 $r(m+n-r)$ 维流形,远小于 $mn = 16\,\mathrm{M}$。

LoRA:在 $W_0+\mathcal{R}_r$ 上的微调

全权重空间 $\textcolor{4a90d9}{\mathbb{R}^{m\times n}}$
全量微调可达:$\textcolor{e74c3c}{O(mn)}$
$\textcolor{27ae60}{W_0+\mathcal{R}_r}$(LoRA)
$\textcolor{4a90d9}{W_0}$
$\textcolor{27ae60}{W = W_0 + BA}$
$\textcolor{8e44ad}{\Delta W=BA}$
$\textcolor{2c3e50}{\dim(W_0+\mathcal{R}_r) = r(m+n-r) \;\ll\; mn}$;参数量 $\textcolor{2c3e50}{rm + rn}$

5. 知识蒸馏的几何视角

蒸馏(Hinton 2015)= 让"学生"分布 $p_S$ 逼近"教师" $p_T$。在概率单纯形 $\Delta^{n-1}$ 上,这是一个 KL 投影: $$ p_S^* = \arg\min_{p\in\mathcal{F}} \mathrm{KL}(p_T\,\|\,p), $$ 其中 $\mathcal{F}$ = 学生模型可达的概率分布族——它是 $\Delta^{n-1}$ 中由学生参数化的低维子流形

蒸馏 = 信息流形上的"投影"

教师与学生构成 $\Delta^{n-1}$ 中的两条流形,蒸馏让学生在 KL 度量下尽量接近教师。这是信息几何(Amari 1985)与代数几何在 LLM 上的交汇——softmax 输出空间是 toric 簇 $\mathbb{P}^{n-1}_{\geq 0}$ 的一个开胞腔。

6. 压缩-精度 trade-off 的代数边界

压缩到底能做到多狠?代数几何给出一些原则性的边界:

低秩边界(Eckart–Young)

对秩 $r$ 逼近,$L^2$ 误差下界 $$ \|W-\widehat W\|_F^2 \;\geq\; \sum_{i>r}\sigma_i^2. $$ 奇异值衰减越快,可压缩性越强。LLM 的 attention 矩阵奇异值往往呈幂律衰减——天然适合低秩压缩。

量化下界(速率-失真)

以 $b$ bit 量化 $\mathbb{R}^d$ 中正态分布权重,期望失真满足 $$ \mathbb{E}\|w-Q(w)\|^2 \;\geq\; d\cdot c\cdot 2^{-2b/d}, $$ $c$ 由源熵决定。这是 Shannon 速率失真理论与格点几何的共同结论。

整体图景:模型参数实际居住在维数为 $k\ll mn$ 的代数簇上(Phase 14 所谓"内蕴维数")。压缩可行性 $\sim$ 该簇的 Krull 维数;压缩极限 $\sim$ 该簇上分布的 Kolmogorov 熵。

练习

  1. 设 $W\in\mathbb{R}^{1024\times 1024}$,奇异值 $\sigma_i = 1/i$。计算秩 $r=64$ 截断的相对 Frobenius 误差。
  2. 验证 $\dim\mathcal{R}_r = r(m+n-r)$:取 $m=n=4$、$r=2$ 直接列方程数与变量数。
  3. LoRA 中 $r=8, m=n=4096$。比较全参数量、$\mathcal{R}_8$ 簇维数、可学习参数 $r(m+n)$。
  4. 4-bit 量化($b=4, d=4096$)下 $\mathbb{R}^d$ 高斯权重的最低 MSE 估计?与 INT8 比较。
  5. 思考题:若把 LoRA 的 $\mathcal{R}_r$ 替换为对称低秩簇(要求 $\Delta W$ 对称半正定),可行集变成哪种代数簇?参数复杂度如何?