想象你是一位出版社编辑,手上有位国宝级画师老周。他画水墨山水几十年,笔力深厚,一出手就值千金。可这次客户要的是一套赛博朋克风格的插画——霓虹灯、机械义体、雨夜霓虹街道。你找到老周,他皱着眉说:“得让我重新学三年。”你当然等不起:重新训练一位画师(全参微调)费用惊人、周期漫长,还可能把他之前的水墨功底给练废了(灾难性遗忘)。 这时,你想到一个更聪明的办法:给老周配一本薄薄的“速查手册”。手册不用教他怎么拿笔、怎么调墨——这些他早就懂了——只需要在关键地方提醒他:“霓虹灯用高饱和的品红”“玻璃反光画成网格线”“赛博城的天际线要做出分层景深”。老周画画时瞥一眼手册,笔下的城市立刻有了赛博味,翻到另一页,又变回水墨江南。这本手册,就是 LoRA(Low-Rank Adaptation,低秩适配)。它不修改画师的大脑,只在手边提供一份轻量指南,让同一个基座模型快速切换不同画风,且换手册的成本极低。 这篇文章,就是带你亲手制作这本“速查手册”:从低秩分解的数学原理,到训练流程、超参调优,直到端到端项目落地。
掌握 LoRA 微调,是 AI 绘画工程师的标配技能:它能用一张消费级显卡在十分钟内调出专属风格模型,让“模型个性化定制”从实验室走进生产环境。
可视化演示
展示LoRA冻结预训练权重W0注入低秩矩阵BA的前向传播、训练loss曲线下降与不同rank值参数量对比。
本节配有交互动效(进入视口后自动加载,约 3KB)。
LoRA低秩分解架构 W0冻结不更新节省显存 BA低秩矩阵可训练参数仅0.1% W=W0+BA, rank r<<d 前向传播合并W0与BA输出
核心概念
出版社给老周配速查手册这件事,暗合了 LoRA 的全部设计哲学。首先,老周三十年的笔墨功底绝不能动——那是他的“基座权重”,动了就是灾难性遗忘。其次,赛博朋克的要点被浓缩成一页纸的速查条目——“霓虹品红”“玻璃网格反光”“雨夜地面倒影”,这就是“增量参数”。最后,手册用完了就放回书架,老周又变回水墨大师——“可插拔、热切换”。
翻译成技术语言:LoRA(Low-Rank Adaptation)在训练时把预训练大模型的权重矩阵 W₀ 完全冻结,只额外训练一个很小的增量矩阵 ΔW。前向传播时,输出由“基座输出 + 增量输出”两部分组成。因为 ΔW 是个低秩矩阵,它的参数量远小于 W₀,So 训练成本骤降,而效果却能逼近全参微调。
技术展开来看,设输入为 x,原模型权重为 W₀,LoRA 的前向公式为:
其中 ΔW 被分解为矩阵 B 和 A 的乘积。训练时只有 B、A 参与梯度更新,W₀ 始终保持冻结。
这正是 LoRA 的精髓:基座能力被完整保留,增量只负责“指点江山”。老周还是那个老周,只是案头多了一本随手可换的手册——模型本体零改动,风格随手册(LoRA 权重文件)切换,这就是它在 AI 绘画工程中最迷人的可插拔特性。
- 识别输入特征x 代表输入,比如图像生成的文本嵌入向量或图像 token,它是画师桌上的画纸。
- 基座层输出W₀x 是冻结权重对输入的本能响应,相当于老周不翻手册时凭肌肉记忆画出的底稿。
- 增量层输出BAx 是低秩增量对输入施加的“风格偏置”,相当于手册上那行“霓虹灯用品红”的提醒。
- 二者叠加最终输出 h 等于基座底稿加上风格偏置,画师一边画、一边瞥一眼手册,成品既有功底又有风格。
低秩矩阵原理
老周的速查手册为什么薄?因为真正的专家笔记从不抄录整幅画,只记录规律:三行字概括构图公式,五种配色锁定调性。这就是“低秩”的直觉——大量复杂表象背后,只有少数关键规律在起作用。LoRA 的低秩假设正是如此:预训练模型权重在微调中的变化量 ΔW,其“有效规律数”远小于矩阵维度。
数学上,一个大矩阵的“规律数”就是它的秩(rank)。LoRA 假设 ΔW 的秩为 r,而 r 远小于矩阵的维度 d 和 k,于是可以将 ΔW 拆成两个“瘦长”矩阵的乘积:
原本要训练 d×k 个参数,现在只需训练 d×r + r×k 个参数。以 Stable Diffusion 的交叉注意力层为例,d = k = 2048,若取 r = 8,参数量直接缩水到原来的约 0.4%,就像把一部百科全书压缩成一页备忘录。
所以低秩分解不是玄学,而是对“有用信息密度”的精准捕捉。老周的赛博手册如果每页写满废话,翻起来反而慢;LoRA 的 r 就是手册的“页数上限”——页数不必多,每一页必须是干货。
- 设定增量矩阵ΔW 是微调前后权重的差,描述“画风变化”本身。
- 引入低秩分解把 ΔW 拆成 B 和 A 两个薄矩阵,B 负责从 d 维压到 r 维,A 负责从 r 维还原到 k 维。
- 约束矩阵规模B 是 d×r 的竖长条,A 是 r×k 的横长条,二者的共同维度 r 就是“规律数”,远小于 d 和 k。
- 量化压缩收益可训参数量从 dk 降为 dr + rk,r 越小压缩越狠,这是 LoRA 显存占用低的根本来源。
训练流程
速查手册是怎么写出来的?不是编辑凭空编的,而是先收集一批“赛博朋克风格的标杆画作”,交给老周临摹,再根据他画得不像的地方,反复修订手册条目。LoRA 训练流程完全同理:数据采集 → 打标清洗 → 冻结基座训练 → 验证验收。
数据环节,LoRA 微调通常只需 10~100 张风格统一的图片,比全参微调动辄上万张的数据量友好太多。图片需要清洗去噪,并配上对应的提示词标签——每张图相当于一篇“范文”,提示词是“范文主旨”。训练时,基座模型的去噪网络被冻结,只有 LoRA 的 B、A 矩阵在更新,损失函数衡量的是“模型预测的噪声”与“实际噪声”的差距:
这是扩散模型家族的经典训练目标:让模型在每一步去噪时猜得更准,LoRA 增量则负责把“通用去噪能力”引导到“赛博风去噪能力”上。
训练完成后,验证集上生成几张图,用肉眼检查风格是否到位、有没有崩坏。这就好比编写完手册后,先请老周试画三张样稿,客户点头了才算验收通过。数据决定手册的“上限”,训练只是逼近这个上限。
- 定义误差项ε 是真实添加的噪声,ε\_θ 是模型预测的噪声,差值表示“猜得准不准”。
- 取平方范数对差值求 L2 范数的平方,惩罚“大偏差”,鼓励“精准预测”。
- 遍历时间步对所有扩散时间步 t 取期望,确保模型在从纯噪声到成图的每个阶段都做得好。
关键算法调参
写手册最怕两件事:下笔太重,把老周原有的水墨功底全盖住;下笔太轻,赛博味出不来。LoRA 里对应两个关键调节旋钮:缩放因子 α(alpha)和秩 r(rank)。前者是“用多大力气”,后者是“手册页数”。
直觉经验是:α 通常取 r 的倍数,最终引入的增量按 α/r 缩放。也就是说,你把 r 从 4 调到 8,α 也要跟着翻倍,才能保持“下笔力度”不变。最终前向公式中的增量项写作:
学习率也是敏感旋钮。LoRA 常用学习率在 1e-4 到 1e-5 区间,Adam 优化器是标配。调参顺序有个口诀:先定 r,再调 α,最后磨学习率。
调参的本质是平衡“风格浓度”与“内容保真度”。α 太大,生成图会被赛博元素淹没,人物变成霓虹堆砌;α 太小,风格若有若无。好的 LoRA 参数组合,往往让生成图“一眼独特,细看依然真实”——这正是编辑反复试稿拿捏出来的分寸感。
- 原始低秩分解BA 是未经缩放的低秩增量,相当于手册的“原始手稿”。
- 引入缩放系数α/r 是力度旋钮,α 控制增量强度,r 做归一化,确保不同秩下风格浓度可比。
- 合成最终增量ΔW 等于缩放过的手稿,r 翻倍时 α 同步翻倍,则 ΔW 数值不变。
性能特性
现在回到出版社的成本核算:请老周重新学三年(全参微调),要付三年工资、租画室、买颜料,还要承担他可能把水墨功底忘光(灾难性遗忘)的风险。而配一本速查手册(LoRA),只需请人整理几天笔记,成本相差几个数量级。
量化对比:设某一层权重维度为 d×k,全参微调要训练 dk 个参数并维护对应优化器状态(Adam 需额外存一阶、二阶动量),而 LoRA 只训练 d×r + r×k 个参数。参数量节省比例:
当 d = k = 2048、r = 8 时,节省比例约为 99.6%。更关键的是,优化器状态、梯度显存都只与可训练参数挂钩,于是显存占用大幅降低、训练速度显著提升,消费级显卡也能跑。
小秩 LoRA 的效果并不等同于“低配”。研究与实践反复证明,r 取 8~32 之间的值,效果已能逼近甚至持平全参微调,因为微调本身是“在已有好画技上加风格”,需要的规律数量本来就少。手册薄,恰恰是因为它只记录增量知识,而不重复记录老周三十年的功底。
- 全参训练开销dk 是原矩阵参数量,作为比较基线。
- LoRA 训练开销dr + rk 是 B、A 两个矩阵的参数总量。
- 计算节省比例1 减去两者之比,得到被省掉的参数占比,衡量成本缩减幅度。
端到端实战
出版社接活越来越多了,今天要赛博朋克,明天要水墨江南,后天要童话绘本。老周的案头于是放了五六本手册,接什么活翻哪本——这就是 LoRA 在生产环境中的典型用法:多 LoRA 按需加载、热切换。更妙的是,两本手册还能混着看:“水墨赛博”就同时翻开水墨册和赛博册。
实际部署中,你可以把多个 LoRA 权重文件与基座模型一起打包进推理管线,按权重系数线性融合:
其中 λᵢ 控制第 i 本手册的“混入浓度”。实现上,各 LoRA 的 B、A 矩阵可提前合并进基座权重或推理时动态注入,做到零额外推理开销。配合 ControlNet 等结构控制工具,还能同时锁死构图(姿势、线稿),让风格与内容双轨可控。
端到端管线集成时,只需记住两条铁律:一是基座模型版本必须和训练时一致,换基座等于换画师,手册会失效;二是 LoRA 文件要记录训练时的 α、r 和基座版本号——就好比手册扉页要写清楚“适用于老周 × 2024 版画风基线”。做到这两点,从训练到上线发布,一个晚上就能完成。
- 多重手册叠加多个 LoRA 增量线性相加,对应多本手册的要点合并。
- 加权系数λᵢ 是混入权重,控制每本手册的影响力,等于“水墨 70% + 赛博 30%”。
- 叠加到基座最终有效权重等于基座权重加上所有增量之和,训练时无需改动推理端结构。
优化策略
手册越做越精,工艺也越发讲究。第一,手册纸可以印薄——对应混合精度训练(FP16/BF16),显存和速度双双受益;第二,手册可以裁掉插图只留要点——对应模型量化(INT8/INT4),让整本手册在移动端也能翻;第三,手册加防伪水印——对应正则化手段,防止手册“背串”了老周的原有风格。
混合精度训练是 LoRA 工程化的默认选项:用 FP16 做前向和梯度计算,用 FP32 做主权重更新。至于防过拟合,LoRA 层本身常配合 dropout,等价于在损失函数中加入正则项:
其中 λ 是正则强度。它惩罚 B、A 矩阵的数值过大,防止手册写成“武断的教条”,从而保留基座泛化能力。
工程优化还有一个常被忽略的点:数据增强。给训练图增加随机裁剪、轻微旋转,相当于给老周多看几个角度的示例,手册的抗干扰性会显著提升。优化策略的本质,是用更小的资源消耗换取更稳的风格输出,让“薄手册”不仅薄,而且耐用。
- 数据损失L\_data 是前文定义的扩散损失,衡量任务完成度。
- 正则惩罚对 B、A 矩阵做 Frobenius 范数惩罚,限制增量幅度。
- 加权合并两部分相加,λ 越大正则越强,增量越“克制”。
问题排错
老周的册子偶尔也会“出事”。最常见的是过拟合:手册翻了太多遍,老周画什么都带着赛博霓虹,连水墨山水都开始发光。这对应 LoRA 训练轮次过多或学习率过大,解法是“过拟合三件套”——降学习率、加 dropout、减轮次,必要时调高正则 λ。
另一类是崩坏样本:验证集里偶发几张图出现畸形手指、乱码文字。这通常是训练数据里有低质量图或标签不匹配,就像手册里混入了几张印刷错误的插画,老周照着一画就歪。排错流程是:删掉问题样本 → 重训 → 复查。至于灾难性遗忘,LoRA 只能缓解不能根除——因为基座虽然冻结,但过强的增量依然会在推理时“盖过”基座输出。推荐在可接受范围内保持较小的 α 与秩:
这条不等式是 LoRA 的“安全边界”:增量范数远小于基座范数,手册只是点缀,而不是重写画风。
排错的心法,是把每一次异常当作对手册本身的审查:崩坏查数据、过拟合查超参、风格漂移查 α/r。记住,LoRA 是“在保留中改变”的艺术,所有排错动作都应围绕一个核心问题——增量是否越过了那条安全边界。
- 基座能量||W₀||\_F 表示基座权重的总能量,即老周的功底总量。
- 增量能量||ΔW||\_F 表示 LoRA 引入的变化强度,即手册的干预程度。
- 安全边界增量能量远小于基座能量,确保风格干预始终是“建议”而非“覆盖”。
AI 应用场景
电商商品图风格统一
阶段:模型微调 + 推理部署
解决的问题:电商平台有上万商品图,不同摄影师拍的背景、色调、角度杂乱,导致商品详情页视觉品质参差。传统方案靠设计师逐张精修,成本高、周期长。利用 LoRA 在基座模型上微调出“统一棚拍风”增量,一次训练、全量套用。
具体案例:某服装电商准备 50 张统一白底棚拍的模特图,用 LoRA 训练出“电商白底模特”手册。随后,所有商品图输入管线,搭配 ControlNet 锁定姿势骨架,LoRA 自动统一光照和背景,生成图直接上架,单张图生产成本从 20 元降到几乎为零。
角色一致性 IP 内容生成
阶段:数据准备 + 微调训练 + 推理调用
解决的问题:短视频 IP 角色需要在几十条视频里保持长相一致,纯靠提示词生成,每张脸都不同。传统做法是绘制大量原画并人工核验,效率极低。LoRA 将角色的五官特征压缩进低秩增量,推理时“翻手册”即可保持人设统一。
具体案例:某 MCN 机构用 30 张同一虚拟主播的人设图训练角色 LoRA,之后生成任意场景(教室、厨房、舞台)时动态加载该手册,并叠加场景 LoRA 控制环境风格。角色脸型、发色、服装细节在 200 次生成中保持一致率 98%。
游戏美术风格的批量适配
阶段:端到端管线 + 多 LoRA 工程化
解决的问题:游戏公司需要为同一套地图出多套风格(写实、卡通、水墨),外包给不同画师工期以月计。LoRA 的多手册切换机制,让同一条生成管线按需换风格,周期从天级压缩到小时级。
具体案例:某游戏工作室训练了“卡通渲染”“水墨淡彩”两本 LoRA,配合基座 SDXL 搭建生成管线。策划提交线稿 → ControlNet 提取结构 → 指定 LoRA 风格 → 批量出概念图,评审时只需滑动 λ 融合系数就能实时预览“50% 卡通 + 50% 水墨”的混合风。
Python 演示
import torchimport torch.nn as nn class LoRALayer(nn.Module): def __init__(self, in_features, out_features, rank=4, alpha=8): super().__init__() self.linear = nn.Linear(in_features, out_features) self.linear.weight.requires_grad = False self.linear.bias.requires_grad = False self.rank = rank self.scale = alpha / rank self.A = nn.Parameter(torch.randn(in_features, rank) * 0.01) self.B = nn.Parameter(torch.zeros(rank, out_features)) def forward(self, x): base = self.linear(x) delta = x @ self.A @ self.B * self.scale return base + delta def count_params(module): total = sum(p.numel() for p in module.parameters()) trainable = sum(p.numel() for p in module.parameters() if p.requires_grad) return total, trainable model = nn.Sequential( LoRALayer(512, 512, rank=4), nn.ReLU(), LoRALayer(512, 512, rank=4),) total_params, trainable_params = count_params(model)print("模型总参数量:", total_params)print("可训练参数量:", trainable_params)print("节省比例: {:.4f}".format(1 - trainable_params / total_params)) x = torch.randn(2, 512)y = model(x)assert y.shape == (2, 512)print("前向传播输出形状:", y.shape)
self.linear.weight.requires_grad = False冻结基座权重,让老周的水墨功底不动。self.A = nn.Parameter(torch.randn(...) * 0.01)随机初始化低秩矩阵 A,小数值保证初始增量接近零。self.B = nn.Parameter(torch.zeros(...))初始化 B 为零矩阵,确保训练起点是“纯原模型”。delta = x @ self.A @ self.B * self.scale手工实现低秩增量前向传播:x 依次经过 A、B,再乘缩放因子。base + delta基座输出与增量输出相加,对应公式 h = W₀x + BAx。count_params(model)统计总参数量与可训练参数量,直观感受 LoRA 的参数压缩。squeeze实际运行时无需修改原模型结构,LoRA 层可作为独立模块嵌入任意位置。
常见误区
误区“LoRA 训练好之后就是一个独立的画风模型,推理时单独装它就能出图。”
正解LoRA 从不脱离基座模型存在。它只是附着在冻结权重上的增量ΔW = BA,推理时必须与基座一起加载,相当于手册必须搭配老周本人使用。脱离基座的 LoRA 毫无意义。测试时如果把 LoRA 单独当作模型加载,会直接报错或生成随机噪声。
为何常见:因为 LoRA 文件通常只有几十到几百 MB,看起来像独立产物,且很多工具封装了“自动加载基座”的流程,使用者误以为文件本身是完整模型。
误区“LoRA 的 r 是容量,容量越大能记住的风格细节越多,所以 r 设 128 比设 8 更好。”
正解实践表明 r 在 8~32 之间效果最稳,继续增大到 64/128 不仅显存和训练时间上升,还更容易过拟合。微调所需的“规律数”本来就少,r 过大相当于手册记了超纲内容,反而干扰基座能力。先 r=16 起步,验证集效果不足再小幅上调。
为何常见:直觉上“更大容量=更强能力”符合常识,但 LoRA 是在已有完备模型上做增量适配,容量需求遵循边际递减规律。
误区“LoRA 只训练极少参数,随便找个默认学习率跑就行,反正不会崩。”
正解LoRA 对学习率高度敏感。学习率过大,增量矩阵数值暴涨,突破安全边界 ||ΔW|| ≪ ||W₀||,生成图立刻过曝或崩坏;学习率过小,风格又出不来。推荐区间 1e-4 到 1e-5,并配合 cosine 衰减。训练笔记应记录每组学习率对应的验证集表现。
为何常见:LoRA 参数少让新手误以为“风险低”,但增量训练的本质是精确干预,越小越需要精细控制。
误区“反正基座权重冻住了,模型原有的能力绝对不会丢,LoRA 永远不会造成遗忘。”
正解权重冻结只保证训练阶段基座参数不被改写,但推理时增量加入可能遮蔽基座知识。若 α 过大、r 过高的 LoRA 在大量数据上迭代,生成的“水墨画”可能全变成霓虹赛博,基座能力被增量“压制”。因此要维持边界条件 ||ΔW||\_F ≪ ||W₀||\_F,并合理控制训练强度。
为何常见:“冻结”一词带来绝对安全感的误导,忽略了前向传播中增量与基座输出叠加的交互影响。
面试题
Q1. LoRA 微调的核心思想是什么?
- A.对基座模型所有参数重新训练
- B.冻结基座权重只训练低秩增量← 正确答案
- C.只调整模型的输入输出层
- D.用新模型替换掉原有基座
答案:B。LoRA 的核心是冻结预训练权重 W₀,仅训练低秩矩阵 B 和 A 合成的增量 ΔW。A 错在全参微调,C 错在调整范围,D 错在替换模型,B 准确描述了“基座冻结 + 增量训练”的本质。
Q2. 低秩分解中“秩 r”表示什么?
- A.模型的层数
- B.增量矩阵的有效规律数← 正确答案
- C.训练数据的批次大小
- D.学习率的衰减步数
答案:B。秩在数学上表示矩阵中线性无关的行或列数,在 LoRA 语境中对应“微调所需的独立规律数”。r 远小于矩阵维度时,ΔW = BA 成立,所以 B 描述的是规律数而非层数、批次或步数。
Q3. 训练 LoRA 时,基座模型权重处于什么状态?
- A.同步更新且梯度开放
- B.部分更新部分冻结
- C.冻结且梯度不传播← 正确答案
- D.随机初始化后更新
答案:C。LoRA 训练时基座权重 requires_grad 设为 False,梯度不经过 W₀ 传播,只更新 B、A 两个低秩矩阵。C 准确描述了“冻结 + 无梯度”状态,其余选项分别对应全参微调、部分微调和从头训练。
Q4. 若 d = k = 1024,r = 4,LoRA 相比全参微调的参数量节省比例约为多少?
- A.约 50%
- B.约 75%
- C.约 99%← 正确答案
- D.约 99.9%
答案:C。原矩阵参数量 dk = 1,048,576,LoRA 参数量 dr + rk = 4096 + 4096 = 8192,节省比例 = 1 - 8192/1048576 ≈ 99.2%,最接近 99%。这说明 LoRA 以极小的参数开销实现微调,显存和速度优势巨大。
Q5. LoRA 前向传播的增量项通常写作?
- A.ΔW = x·W₀
- B.ΔW = (α/r)·BA← 正确答案
- C.ΔW = W₀·x⁺
- D.ΔW = A·B·W₀
答案:B。LoRA 的增量矩阵写作 ΔW = (α/r)·BA,其中 α/r 是缩放因子,B、A 是低秩分解得到的两个矩阵。B 直接对应缩放后的增量定义,其余选项的矩阵乘法维度或角色完全错位。
Q6. 关于 LoRA 与传统全参微调的对比,下列说法正确的是?
- A.LoRA 训练时显存占用更小← 正确答案
- B.LoRA 可以避免全部遗忘问题
- C.LoRA 便于多版本快速切换← 正确答案
- D.LoRA 训练必须使用大量数据
答案:AC。A 正确,LoRA 只训练低秩矩阵,优化器状态和梯度显存显著降低。C 正确,多个 LoRA 文件可按需加载切换。B 错误,LoRA 只能缓解灾难性遗忘。D 错误,LoRA 微调通常只需几十上百张图,数据需求远小于全参微调。
Q7. 若将 LoRA 拟人化为“画师的速查手册”,“α 值过大”最接近哪种情况?
- A.手册印刷模糊看不清
- B.手册条目写得太用力← 正确答案
- C.手册被翻得起了毛边
- D.手册中混入错别字
答案:B。α 是缩放因子,控制增量强度。α 过大导致增量权重 ΔW = (α/r)·BA 数值暴涨,风格强烈到喧宾夺主,生成图可能过曝或畸形,类比“手册条目太用力”。其余选项对应数据质量差、轮次过多、标签不匹配等问题。
Q8. LoRA 训练出现严重过拟合时,合理的应对手段有哪些?
- A.降低学习率← 正确答案
- B.增加 dropout 正则← 正确答案
- C.扩大训练数据集← 正确答案
- D.无限增加训练轮次
答案:ABC。过拟合时降学习率(A)可减小增量波动,加 dropout(B)可抑制参数共适应,扩充数据(C)可提升泛化性,三者均为有效手段。D 错误,增加轮次会加剧过拟合,正确做法恰恰是减小轮次。
Q9. 多 LoRA 权重融合的线性公式是?
- A.W_eff = W₀ + λ₁ΔW₁ + λ₂ΔW₂← 正确答案
- B.W_eff = W₀ × λ₁ × ΔW₁
- C.W_eff = ΔW₁ + ΔW₂
- D.W_eff = W₀ + ΔW₁·ΔW₂
答案:A。多 LoRA 融合采用线性加权求和:基座权重加上各增量与其权重系数的乘积之和,λ 控制各 LoRA 的混入浓度。A 正是该公式。B、C 缺少基座或系数,D 的增量乘积不符合线性叠加原理,也缺乏工程意义。
Q10. 下列关于低秩假设的说法,正确的有哪些?
- A.微调带来的权重变化通常是低秩的← 正确答案
- B.秩 r 必须等于原矩阵维度才有效
- C.ΔW 可以分解为 B×A 两个瘦矩阵← 正确答案
- D.秩越大 LoRA 效果必然越好
答案:AC。A 正确,预训练模型的微调增量具有低秩特性,是 LoRA 的理论基础。C 正确,低秩分解将 ΔW 拆为 d×r 与 r×k 矩阵的乘积。B 错误,r 远小于维度才能压缩参数,等于维度就退化为全参微调。D 错误,r 过大反而导致过拟合,8~32 区间为实践最优。