想象你家的书架上有一本厚厚的家庭相册,里面贴着 1000 张照片。搬家时你会不会想:这些照片翻来覆去就是爸爸、妈妈、孩子和奶奶,背景里那些路人有必要全保留吗?聪明的主妇会做一件事:把大相册拆成两本小册子——第一本记录家人的 10 种标准表情(人物册),第二本记录每次拍照的场景与姿势(场景册)。想还原某张照片时,只需查“哪个人”和“什么场景”,就能拼个八九不离十。这个“把大相册拆成两本小册子”的智慧,正是深度学习模型压缩里大名鼎鼎的低秩分解(Low-Rank Decomposition)。神经网络的权重矩阵就像那本大相册,里面藏着大量冗余信息;低秩分解把它拆成两个小矩阵的乘积,用“小手册”替代“大相册”,让模型更轻、跑得更快,特别适合手机、摄像头这些资源紧张的边缘设备。这篇教程会带你从相册整理思路出发,一步步看懂低秩分解的原理、算法、流程与避坑指南。
掌握低秩分解,你就能在模型部署时“以小博大”:这是边缘 AI 工程师做推理优化、模型瘦身的必备基本功,直接决定产品能否跑进手机和嵌入式设备。
可视化演示
展示SVD截断近似(奇异值降序保留r个)、LoRA低秩适配(冻结W+BA更新可合并)、张量分解(Tucker核心张量/CP秩1求和)三种低秩分解技术,三模式切换理解压缩原理。
本节配有交互动效(进入视口后自动加载,约 3KB)。
'+C1+'
核心概念
你整理相册时发现的第一个规律是:照片虽多,主角很少。1000 张照片里 80% 的构图都是爷爷、奶奶和孙女的组合,剩下 20% 才是逢年过节的远房亲戚。这种“数据里其实只有少数核心因素在起作用”的现象,数学家称之为低秩(low-rank)。
放到神经网络里,全连接层的权重 W 是一个 m 行 n 列的矩阵,动辄几十万甚至上百万个参数。可是训练完成后你会发现,这个矩阵的“有效信息”常常集中在一个很小的子空间里——就像相册的主角只有几位。低秩分解的核心假设是:W 可以由两个小矩阵相乘来近似表达,这就是“拆相册”的数学版本。
回到相册。如果拆出来的两本小册子加起来的总页数远小于原相册,你就成功地把“大部头”变成了“口袋书”。同理,神经网络的权重也从 mn 个参数降到 (m+n)r 个,参数量骤减。这就是低秩分解的第一课:找对主角,扔掉冗余。
- W 原始权重矩阵$W_{m \times n}$ 是待压缩的矩阵,m 行 n 列,相当于那本 1000 张照片的大相册
- 近似等于$\approx$ 表示分解后的乘积不需要精确还原,允许少量信息损失
- 左因子矩阵$U_{m \times r}$ 是分解出的第一个小矩阵,m 行 r 列,相当于“人物特征册”
- 右因子矩阵$V_{r \times n}$ 是第二个小矩阵,r 行 n 列,相当于“场景影像册”
- 秩 r$r$ 是低秩分解的核心超参数,代表保留的核心方向数量,也就是“主角的人数”
- 矩阵乘法$\times$ 表示两个小矩阵按照矩阵乘法规则结合,生成与原矩阵形状相同的结果
数学原理
整理相册时,你会给每张照片打分:爸爸出镜 8 分,背景路人 1 分……这个“打分排序”的直觉,正是数学里 SVD(奇异值分解) 在做的事。SVD 能回答一个关键问题:这本相册里,到底谁是主角、谁是路人?
SVD 把任意矩阵 W 分解成三个矩阵的乘积:W = UΣVᵀ。其中 U 和 V 是正交矩阵(可以理解为两套“特征坐标轴”),Σ 是对角矩阵,对角线上的数叫奇异值,按从大到小排列。奇异值越大,说明该方向承载的信息越多——相当于家庭成员的“出镜率排行榜”。
奇异值就是家庭成员的“重要性分数”。前几名是主角,后面的小配角分数趋近于零。截断近似就是狠心删掉那些 1 分、0.5 分的小配角,只保留 8 分以上的主角——相册立刻就薄了一大半,这正是 SVD 用于低秩压缩的数学基础。
- 求和符号$\sum_{i=1}^{r}$ 表示从第 1 项加到第 r 项,r 是保留的层数
- 奇异值$\sigma_i$ 是第 i 大的奇异值,衡量这一层“特征”的重要性,相当于出镜率分数
- 左奇异向量$\boldsymbol{u}_i$ 是第 i 个左奇异向量,描述“人物特征”的方向
- 右奇异向量转置$\boldsymbol{v}_i^{T}$ 是第 i 个右奇异向量的转置,描述“场景特征”的方向
- 乘积项$\sigma_i \boldsymbol{u}_i \boldsymbol{v}_i^{T}$ 表示第 i 层“特征”对原始矩阵的贡献
关键算法
知道要把相册拆成两本小册子,具体怎么拆?你面前有三条路:把所有照片逐张分析(完整 SVD);随机抽 50 张照片估算主角(随机 SVD);或者先随便编一本人物册,再根据照片反推场景册,来回修改(交替最小化)。三者的“成本”和“精度”各不相同。
工程中求低秩分解最常用的也是这三种思路。完整 SVD 精度最高,但计算复杂度高达 O(mn²),对大矩阵太昂贵;随机 SVD 先用随机矩阵采样,捕捉矩阵的主要方向,再对小矩阵做精确 SVD,速度能快一个量级;交替最小化把非凸优化问题拆成两个交替更新的最小二乘子问题,适合超大矩阵的分布式求解。
这三种方法好比:请专业档案员逐页整理(贵但准)、请实习生抽样统计(快但糙)、自己动手来回调(灵活但费时)。按项目预算选一种即可。
- 最小化符号$\min_{U, V}$ 表示我们要寻找最优的 U 和 V,让整个目标函数值最小
- 重建误差项$\| W - UV \|_{F}^{2}$ 是原始矩阵与分解乘积之间的 Frobenius 范数平方,衡量“新相册”与“原相册”的差距
- 分解乘积$UV$ 是 U 和 V 相乘得到的近似矩阵,相当于用两本小册子拼出的照片
- 正则系数$\lambda$ 是超参数,控制正则强度,相当于“简洁度”的考核权重
- 正则项$\| U \|_{F}^{2} + \| V \|_{F}^{2}$ 约束 U 和 V 的数值大小,避免分解出的“人物册”过于夸张
压缩流程
真正的搬家不会上来就把相册撕了,而是先翻一遍、定方案、改造、再确认。低秩压缩的工程流程也分四步:分析 → 选秩 → 分解重组 → 微调。
第一步分析权重矩阵:用 SVD 查看奇异值分布,判断这个矩阵“低不低秩”?如果奇异值衰减很快,说明压缩潜力大;如果衰减平缓,说明每列信息都很重要,强行压缩会损失惨重。第二步选秩 r:根据能量保留标准决定保留多少个奇异值。第三步分解重组:用 U、V 两个小矩阵替换原来的权重矩阵,并重写前向计算逻辑。第四步微调:用少量训练数据、较低学习率把精度补回来。
这个流程就像相册改造:先翻看确认主角是谁(分析),决定留几位主角(选秩),把相册拆成两本并打印预览(分解重组),最后让家人对照旧照片提意见、微调补拍(微调恢复)。
- 压缩比符号$\rho$ 是压缩比,数值越大说明压缩效果越好
- 原始参数量$mn$ 是原始权重矩阵的总元素个数,相当于大相册的页数
- 分解后参数量$(m+n)r$ 是 U 和 V 两个小矩阵的参数总和,相当于两本小册子的总页数
- 秩的影响$r$ 在分母上,r 越大压缩比越小,保真度越高
- 除法含义$\frac{mn}{(m+n)r}$ 表示“省下来的比例”,压缩比 6 意味着模型体积缩小为原来的 1/6
性能权衡
两本小册子越薄,搬家越轻松,但照片越看不清。这就是低秩分解最核心的博弈:省多少 vs 丢多少。性能权衡贯穿压缩的每个决策,不能只盯着体积,还要看精度与速度。
压缩比 ρ 衡量省了多少参数,而参数减少通常也意味着计算量减少——全连接层的矩阵乘法 FLOPs 从 mn 降到 mr + rn,所以参数压缩比在数值上往往等于计算加速比。代价是精度损失:丢掉的信息恰好来自被截断的尾部奇异值,误差大小由这些被舍弃方向的能量决定。
你可以用“模糊度”来理解:留下 90% 的奇异值能量,照片边缘略糊但人物清晰;留下 50% 连主角都认不出。压缩比与精度的平衡没有标准答案,只能靠实验说话。
- 误差范数$\| W - \hat{W} \|_{F}$ 是原矩阵与重建矩阵的差矩阵的 Frobenius 范数,即所有元素差平方和的平方根
- 重建矩阵$\hat{W}$ 是截断后重建的近似矩阵,相当于“新打印的模糊相册”
- 求和范围$\sum_{i=r+1}^{\min(m,n)}$ 从第 r+1 项加到矩阵秩的终点,即所有被丢弃的奇异值
- 尾部奇异值$\sigma_i$ 是被截断的第 i 个奇异值,代表被放弃的“小配角”信息
- 平方根$\sqrt{\quad}$ 将能量和还原成“误差幅度”,便于直观理解
应用场景
低秩分解在真实世界最常出没的地方,是那些“大合影”——全连接层、卷积层、嵌入层。这三类结构在神经网络中占据了绝大部分参数量,也是压缩收益最明显的地方。
全连接层的权重是典型的二维大矩阵,直接套用 W≈UV 即可;卷积层的权重是四维张量,需要先 reshape 成二维矩阵再分解;嵌入层(Embedding)是“词表大小 × 维度”的巨型矩阵,在推荐系统和语言模型中常常占据 90% 以上的参数量,低秩分解能显著缩小模型体积。分解之后,模型可以塞进手机、摄像头、智能音箱等边缘设备。
边缘设备就是裤兜里的“迷你相册”。手机跑大模型太吃力,低秩分解把“全家福大合影”压缩成“主角小卡片”,让 AI 在人人一台的终端上真正跑起来。
- 四维卷积核$W_{(c_o, c_i, k, k)}$ 表示卷积权重,$c_o$ 个输出通道、$c_i$ 个输入通道、核尺寸 $k \times k$
- 重排操作$\longrightarrow$ 表示 reshape,把四维张量展平成二维矩阵
- 展平后矩阵$W'_{(c_o, c_i k^2)}$ 是重排后的二维形状,行数是输出通道,列数是“输入通道 × 核尺寸平方”
- 左因子$U_{(c_o, r)}$ 是卷积层分解后的左因子矩阵
- 右因子$V_{(r, c_i k^2)}$ 是右因子矩阵,两矩阵相乘近似原卷积权重
优化策略
光会拆相册还不够,高手还会加一些“巧劲”:决定留几个主角看不出镜率能量,拆完再让家人重新拍几张(微调),把相册换成更便宜的纸(量化),再裁掉花边(剪枝)。
秩的选择是低秩分解最关键的优化点。工程上常用“能量保留准则”:保留的奇异值平方和占总能量的比例达到 90% 或 95%。微调是分解后的必修课,学习率通常设成原来的 1/10,只跑少量 epoch,让模型适应新的参数结构。低秩与量化、剪枝是正交的优化维度,可以叠加使用——先低秩降维,再量化压位宽,最后剪枝去冗余。
优化策略就是“组合拳”:低秩当作基础招,微调是恢复功力,量化和剪枝是锦上添花。在边缘设备上,这些招式常常一起上阵。
- 分子能量$\sum_{i=1}^{r} \sigma_i^2$ 是保留的前 r 个奇异值的平方和,即保留的信息量
- 分母总能量$\sum_{i=1}^{\min(m,n)} \sigma_i^2$ 是所有奇异值的平方和,即矩阵携带的全部信息量
- 比例阈值$\ge 0.9$ 表示保留比例达到 90%,工程上常用 90% 或 95%
- 奇异性$\sigma_i^2$ 是奇异值的平方,对应“该方向承载的能量”
- 选择含义满足此条件的最小 r 就是推荐秩,相当于“凑齐 90% 出镜率需要留几位主角”
工程实践
老手整理相册从不会犯两类错误:一是把每个路人都当主角(秩选得太大),二是把爷爷的珍贵合影也压成邮票大小(不分敏感度乱压)。工程实践的要诀,在于摸清每个矩阵的“脾气”。
常见的坑有三个:秩选得过大,压缩收益甚微;选得过小,误差飙升;逐层压缩时误差会逐层累积——前一层的微小偏差会在后续层被放大。此外,不同层对压缩的敏感度差异巨大:浅层特征提取错误会污染全局,而某些冗余的深层可以大胆压缩。敏感层少压、冗余层多压,是工程调优的核心原则。
工程实践的心法:先分析后动手、分级对待(重要层少压、冗余层多压)、压完必须验证。就像搬家前先给相册分类,重要的原图扫描存档,次要的才敢大胆压缩。
- 最小化目标$\min_{\operatorname{rank}(\hat{W}) \le r}$ 表示在“所有秩不超过 r 的矩阵”中寻找最优近似
- 秩约束$\operatorname{rank}(\hat{W}) \le r$ 限制重建矩阵的秩,确保它来自低秩分解
- 最优误差$\| W - \hat{W} \|_{F}$ 是理论能达到的最小重建误差
- 等号连接$=$ 表示截断 SVD 恰好达到了这个下界
- 尾部余量$\sqrt{\sum_{i=r+1}^{\min(m,n)} \sigma_i^2}$ 再次强调误差完全由被舍弃的奇异值决定
AI 应用场景
手机端大语言模型 FFN 层压缩
阶段:模型部署优化
解决的问题:大语言模型动辄数十亿参数,无法直接装入手机。传统做法是直接量化,但精度损失明显;用低秩分解压缩 FFN(前馈网络)层,参数量可降数倍,且与量化叠加损失更小。
具体案例:某 7B 模型的 FFN 层权重为 8192×8192 的大矩阵,奇异值分析发现前 512 个奇异值已贡献 92% 能量。用秩 r=512 分解后,该层参数量从 6700 万降到约 840 万,压缩 8 倍;再配合 4bit 量化,最终模型体积从 14GB 减至 3.2GB,成功部署到旗舰手机,推理速度提升约 3 倍。
推荐系统 Embedding 层压缩
阶段:模型压缩
解决的问题:推荐系统里“用户 ID → 向量”的 Embedding 矩阵巨大,1 亿用户 × 128 维就是 128 亿参数,占模型体积 90% 以上。这些低秩的共现矩阵天然适合用低秩分解压缩。
具体案例:某短视频推荐场景中,用户 Embedding 矩阵 1 亿×128 被分解为 1 亿×16 与 16×128 两个小矩阵的乘积,内存占用从 51GB 降到 6.4GB。压缩后离线 CTR(点击率)预估损失仅 0.1%,线上 A/B 实验无显著差异。
端侧视觉模型卷积核分解
阶段:边缘部署
解决的问题:智能摄像头的人脸检测模型需要在嵌入式芯片上实时运行,模型体积和延迟都受限。卷积核 reshape 后做低秩分解,可以在几乎不影响精度的前提下大幅瘦身。
具体案例:某端侧人脸检测模型的 1×1 卷积层权重 reshape 为二维矩阵后做秩分析,将主要卷积层的秩压缩 50%,再配合结构化剪枝,模型从 8MB 降到 3.5MB,在 RK3588 边缘盒子上推理帧率从 28 FPS 提升到 55 FPS,检测精度 mAP 仅下降 0.4%。
Python 演示
import numpy as np def load_weight_matrix(): """模拟一个全连接层的权重矩阵: 1000 x 500""" np.random.seed(42) U0, _ = np.linalg.qr(np.random.randn(1000, 30)) V0, _ = np.linalg.qr(np.random.randn(500, 30)) S0 = np.linspace(5.0, 0.1, 30) W = U0 @ (S0[:, None] * V0[:, :30].T) W += np.random.randn(1000, 500) * 0.05 return W def low_rank_decompose(W, rank): """用 SVD 做低秩分解, 返回 U, S, Vt""" U, S, Vt = np.linalg.svd(W, full_matrices=False) return U[:, :rank], S[:rank], Vt[:rank, :] def reconstruct(U, S, Vt): """由分解因子重建权重矩阵""" return U @ (S[:, None] * Vt) def compression_ratio(W, rank): """计算低秩分解的参数压缩比""" m, n = W.shape return m * n / ((m + n) * rank + rank) def evaluate(W, rank): """按指定秩压缩, 返回重建误差与压缩比""" U, S, Vt = low_rank_decompose(W, rank) W_hat = reconstruct(U, S, Vt) error = np.linalg.norm(W - W_hat) / np.linalg.norm(W) return error, compression_ratio(W, rank) def main(): W = load_weight_matrix() print(f"原始矩阵形状: {W.shape}, 参数量: {W.size}") for rank in [10, 30, 60, 100]: err, ratio = evaluate(W, rank) print(f"秩 r={rank:3d} | 压缩比={ratio:6.1f}x | 相对误差={err:.4f}") if __name__ == "__main__": main()
W = U0 @ (S0[:, None] * V0[:, :30].T)构造一个“真实秩为 30”的矩阵,模拟神经网络中那种信息高度冗余的权重np.linalg.svd(W, full_matrices=False)调用 numpy 的 SVD,一次性拿到所有奇异值和左右奇异向量U[:, :rank], S[:rank], Vt[:rank, :]截断操作:只保留前 rank 个奇异值和对应的奇异向量,这就是“删掉小配角”U @ (S[:, None] * Vt)重建矩阵:奇异值先逐行缩放 Vt,再与 U 做矩阵乘法,还原近似权重compression_ratio计算 mn / ((m+n)r + r),这是压缩后的参数总量除以原参数总量得到的压缩倍数np.linalg.norm(W - W_hat) / np.linalg.norm(W)相对误差:用 Frobenius 范数度量重建矩阵与原矩阵的差距,便于不同规模矩阵间比较for rank in [10, 30, 60, 100]依次尝试四档秩,让你清楚看到压缩比上升、误差也随之上升的规律
常见误区
误区低秩分解的目标就是压缩,那把秩设成 1 不是最省吗?反正分解完还能微调,误差大点无所谓吧?
正解秩太小会把“主角”都删掉,重建矩阵严重失真。就像相册只留一个人的表情,所有照片都变成“大头照”,谁也认不出原样。秩要按奇异值能量保留准则来选择(通常 ≥90%),而不是盲目追小。微调可以修复一部分误差,但无法变出已经被丢弃的信息。
为何常见:刚接触压缩时容易只盯着“参数量减少”这一个指标,忽略了“信息量”才是压缩的底线。
误区既然低秩分解这么好,那我把模型里所有权重矩阵都拆一遍,模型不就变得特别小了吗?
正解并非所有矩阵都低秩。有些层的奇异值衰减平缓,说明每个方向都有信息,强行分解会损失惨重。就像一本记录了几千个不同路人的街拍集,没有“主角”,硬拆成两本小册子必然失真。工程上先用 SVD 看奇异值分布,衰减快的层优先压缩,衰减平的层保持原样。
为何常见:把“低秩假设”当成了所有矩阵的天然属性,忽略了它本身是一个需要验证的假设。
误区SVD 是数学上最优的分解,分解出来的 U 和 V 已经完美还原了权重,直接部署就行。
正解Eckart–Young 定理保证的是 Frobenius 范数意义下“矩阵近似最优”,但神经网络是层层叠加的系统,每一层的微小近似误差都会向后续层传播放大。分解后必须用少量数据、低学习率微调,让下游层适应新权重。就像相册重印后,家人得重新确认“哦原来这张照片现在长这样”。
为何常见:混淆了“矩阵最优近似”和“任务精度无损”两个概念,理论最优不等于部署无损。
误区模型压缩不就是把没用的权重删掉吗?低秩分解和剪枝应该是一回事。
正解两者的机制完全不同。剪枝是“直接置零”:把不重要的神经元或连接删掉,矩阵形状通常会变稀疏;低秩分解是“结构重构”:把一个大矩阵替换成两个小矩阵的乘积,矩阵形状变了但参数密集。剪枝改的是稀疏结构,低秩分解改的是参数表达方式,两者正交,可以叠加。
为何常见:初学者把“减少参数”统称为压缩,忽略了不同压缩技术在数学原理上的根本差异。
误区压缩比 8 倍,那推理速度一定也快 8 倍吧?部署上去准没错。
正解参数压缩比是理论上限,实际延迟还受访存、算力、框架实现影响。小矩阵乘法在 GPU 上未必比大矩阵更快,因为 GPU 擅长并行大矩阵;低秩分解在 CPU 端和小 batch 场景加速明显,在大 batch GPU 上收益可能打折。正确的做法是直接测端到端延迟,而不是用压缩比估算。
为何常见:把“参数量减少”与“计算时间缩短”画了等号,忽略了硬件执行效率这个中间变量。
面试题
Q1. 低秩分解用两个小矩阵的乘积近似一个大矩阵,这样做最直接的收益是什么?
- A.减少参数量和计算量← 正确答案
- B.提高模型推理精度
- C.增加训练数据的数量
- D.让模型更容易过拟合
答案:A。低秩分解把 W(m×n) 拆成 U(m×r) 和 V(r×n) 的乘积,参数量从 mn 降到 (m+n)r,计算量同步下降,这是它的核心价值。精度提升、数据变多、过拟合都不是它的直接作用。
Q2. 在 W≈UV 的近似中,秩 r 表示什么?
- A.两个矩阵的乘积误差
- B.保留的核心方向数量← 正确答案
- C.原始矩阵的行数总和
- D.原始矩阵的列数总和
答案:B。秩 r 是分解后保留的核心方向数量,对应相册比喻里“主角的人数”。它既不是误差也不是矩阵的行列数,而是我们人工选择的关键超参数。
Q3. SVD 中 Σ 矩阵对角线上的元素被称为什么?
- A.矩阵的特征向量
- B.从大到小排列的奇异值← 正确答案
- C.神经网络的梯度值
- D.矩阵的行列式值
答案:B。SVD 中 W=UΣVᵀ,Σ 对角线上的元素叫奇异值,按从大到小排列,衡量每个方向的重要性。特征向量是另一套分解(特征值分解)中的概念,梯度是训练中的概念,行列式是标量,都不对。
Q4. 压缩比 ρ=mn/[(m+n)r] 表示什么?
- A.分解后参数量与原始之比
- B.原始参数量与分解后之比← 正确答案
- C.模型训练速度提升倍数
- D.模型精度损失的比例
答案:B。分子 mn 是原始参数量,分母 (m+n)r 是分解后 U 和 V 的参数总量,两者相除表示“原始是压缩后的多少倍”。压缩比不能直接等同于加速倍数,更不是精度损失。
Q5. 下列哪些层适合用低秩分解压缩?
- A.全连接层和嵌入层← 正确答案
- B.卷积层和注意力矩阵← 正确答案
- C.激活函数和归一化层
- D.损失函数和优化器层
答案:AB。全连接层、嵌入层、卷积层(reshape 后)和注意力矩阵都是“参数密集型矩阵”,适合低秩分解。激活函数、归一化层不包含权重矩阵;损失函数和优化器是训练组件,不属于模型权重。
Q6. 随机 SVD 相比完整 SVD 的主要优势是?
- A.分解结果更加精确
- B.计算复杂度大幅降低← 正确答案
- C.不需要选择秩的大小
- D.适用于所有稀疏矩阵
答案:B。随机 SVD 先用随机投影把大矩阵“压缩”成小矩阵,再对小矩阵做精确 SVD,计算量大幅下降,特别适合超大矩阵。它牺牲了少量精度换取速度;秩依然需要选择,且并非只适用于稀疏矩阵。
Q7. 一次完整的低秩压缩流程包含哪些步骤?
- A.奇异值分析选秩← 正确答案
- B.分解并重组权重← 正确答案
- C.微调恢复模型精度← 正确答案
- D.直接丢弃所有偏置项
答案:ABC。标准流程是分析奇异值分布、选取合适的秩、分解并重组权重、最后微调恢复精度。丢弃偏置项不是低秩分解的必要步骤,偏置通常与低秩压缩无关,不应盲目删除。
Q8. 分解完成后通常还要微调,最关键的原因是什么?
- A.让模型适应近似误差← 正确答案
- B.让模型变得更轻量化
- C.加快训练数据的加载
- D.增大模型的参数量
答案:A。低秩分解引入了近似误差,逐层误差会累积放大,微调能让下游层学会适应新权重,把任务精度补回来。轻量化已经由分解完成,微调不会改变参数规模,更不是为了加速数据加载或增加参数。
Q9. 能量保留准则要求保留 90% 能量时,应如何选择秩 r?
- A.使前 r 个奇异值平方和占总能量达 0.9← 正确答案
- B.使所有奇异值完全相等
- C.使 r 等于矩阵的行数
- D.使 r 等于矩阵的列数
答案:A。能量保留准则用前 r 个奇异值平方和除以所有奇异值平方和,比值达到 90% 时取最小的 r 为推荐秩。这不是让奇异值相等,也不等于矩阵的行数或列数。这是工程上选秩的标准做法。
Q10. 下列哪些技术可以和低秩分解组合使用?
- A.权重量化← 正确答案
- B.结构化剪枝← 正确答案
- C.知识蒸馏← 正确答案
- D.数据增强
答案:ABC。量化压缩位宽、剪枝删除冗余结构、蒸馏让小模型学大模型,三者与低秩分解正交,可以组合叠加进一步瘦身。数据增强是训练技巧,与模型结构压缩没有直接组合关系。