F
Member
全参数微调需要为每个参数保存梯度与优化器状态,显存开销很大。LoRA(低秩适配)是应用最广的参数高效微调方法之一。
一、核心思想。 冻结预训练权重 W(形状 d×k),只训练一个低秩增量 ΔW = B·A,其中 B 为 d×r、A 为 r×k,r 远小于 d 和 k。可训练参数量从 d·k 降到 r·(d+k)。前向计算时输出为 Wx + (α/r)·BAx,其中 α 是缩放系数。通常 B 初始化为零,使训练起点与原模型一致。
二、优点。 训练显存和存储大幅降低;训练完成后可以把 BA 合并回 W,推理时不增加额外延迟;也可以为不同任务保存各自的小适配器,按需切换。
三、秩 r 的选择。 r 越大表达能力越强,但参数量与过拟合风险也上升。常见做法是从较小的 r 开始试,对比验证集效果;通常应用于注意力层的投影矩阵,也可扩展到前馈层。具体取值与任务和数据量相关,没有通用最优值。
四、QLoRA。 把冻结的基础模型量化到 4 位(如 NF4 格式)存放,只在高精度下训练 LoRA 适配器,进一步降低显存,使单卡微调较大模型成为可能。
五、局限。 对于需要大幅改变模型知识或行为的任务,低秩假设可能不够,效果可能不及全参数微调;数据质量也往往比超参数更重要。
六、落地建议。 建议先用一小批高质量、格式统一的数据做试验,固定验证集并记录每次实验的超参数,再逐步扩大数据规模;部署前还应检查输出格式、拒答行为和安全相关表现是否在微调后发生变化。
讨论问题:
1. 你们微调时,LoRA 加在哪些层、秩取多少?是怎么做对比实验的?
2. 多个 LoRA 适配器的合并或在线切换,在生产环境中是否可行?
3. 微调后如何评估模型有没有遗忘原有能力?
一、核心思想。 冻结预训练权重 W(形状 d×k),只训练一个低秩增量 ΔW = B·A,其中 B 为 d×r、A 为 r×k,r 远小于 d 和 k。可训练参数量从 d·k 降到 r·(d+k)。前向计算时输出为 Wx + (α/r)·BAx,其中 α 是缩放系数。通常 B 初始化为零,使训练起点与原模型一致。
二、优点。 训练显存和存储大幅降低;训练完成后可以把 BA 合并回 W,推理时不增加额外延迟;也可以为不同任务保存各自的小适配器,按需切换。
三、秩 r 的选择。 r 越大表达能力越强,但参数量与过拟合风险也上升。常见做法是从较小的 r 开始试,对比验证集效果;通常应用于注意力层的投影矩阵,也可扩展到前馈层。具体取值与任务和数据量相关,没有通用最优值。
四、QLoRA。 把冻结的基础模型量化到 4 位(如 NF4 格式)存放,只在高精度下训练 LoRA 适配器,进一步降低显存,使单卡微调较大模型成为可能。
五、局限。 对于需要大幅改变模型知识或行为的任务,低秩假设可能不够,效果可能不及全参数微调;数据质量也往往比超参数更重要。
六、落地建议。 建议先用一小批高质量、格式统一的数据做试验,固定验证集并记录每次实验的超参数,再逐步扩大数据规模;部署前还应检查输出格式、拒答行为和安全相关表现是否在微调后发生变化。
讨论问题:
1. 你们微调时,LoRA 加在哪些层、秩取多少?是怎么做对比实验的?
2. 多个 LoRA 适配器的合并或在线切换,在生产环境中是否可行?
3. 微调后如何评估模型有没有遗忘原有能力?

