返回课堂

小规模适配:更新什么,怎样保存,怎样计算

本篇接在 SFT 的参数更新问题之后:若已有任务数据,是否一定要更新所有参数?课堂默认主线保持对助手训练的聚焦,低秩更新、量化和误差校准在这里完整展开。

已有模型不一定要重新训练全部参数才能适应稳定任务。适配的起点应是任务与评价:希望改变输出格式、领域处理或某种反复出现的行为,手里是否有足够且有代表性的样本,怎样判断改动有效。少量新事实通常可以先作为上下文提供;把事实写进权重与在本次请求中提供事实,是成本和更新周期不同的选择。

LoRA的两条真实计算路径

本节单独采用列向量约定,与 N02–N08 的行向量记法互为转置,计算含义不变。输入x的形状是4096×1,原矩阵W的形状是4096×4096。全量训练这个矩阵需要更新16,777,216个参数。LoRA保留冻结的W,并增加两个可训练矩阵:A为8×4096,B为4096×8。

$$ W'=W+sBA,\qquad y=Wx+sB(Ax). $$

A先把输入映射为8维,B再映射回4096维;旁路输出乘固定缩放s后与主路相加。形状因此严格相容。两矩阵参数数目为

$$ 8\times4096+4096\times8=65,536, $$

等于原矩阵参数数目的1/256。这个比例只针对当前矩阵的增量,不是整个网络的训练参数占比。网络可能在多个目标层使用适配,也可能保留其他可训练参数,实际统计应读取真实配置。

低秩约束落在更新BA上,不能据此说完整W或整个模型本来只有秩8。冻结表示W的数值不更新,但它仍执行前向乘法;训练还需要经过底座的必要计算,把误差信号送到适配参数。因而可训练参数减少256倍不等于训练速度提升256倍,也不保证激活内存同步缩小。适配秩、目标模块和样本质量都会影响效果。

原始LoRA常用一边随机、一边为零的初始化,使初始增量为零,起点保持原模型行为。若部署允许,可以把增量合并回W以简化推理路径;但多个适配器切换、量化底座和不同精度安排会改变合并成本与误差,不能未经检查就把一种部署方法视为普遍无代价。

QLoRA:三种精度对象不能混合

QLoRA进一步将冻结底座以低位格式保存。它区分三件事:权重存储格式、矩阵计算精度、可训练参数与梯度的精度。底座按需要反量化后参与计算,LoRA增量在较高精度路径上训练;不能把整张图标成“4-bit训练”,暗示所有累加和梯度都只有四位。

原论文的NF4是为近似正态分布权重设计的四位数值格式,用有限表示值近似分组后的权重。量化仍需要尺度等常数;双重量化再对这些量化常数进行压缩,减少元数据成本。分页优化器利用内存管理缓解峰值压力,它不改变训练目标,也不使CPU/GPU之间的数据移动免费。

假设一个教学权重值0.37被近似保存为0.35,差−0.02便是量化误差。网络输出受误差与输入共同影响,因此不能只看权重误差大小就断言任务无损,也不能只看一个层输出相似就证明所有生成稳定。实际验证应在留出任务上检查质量、速度、显存与异常输入。

PEFT工具主要组织LoRA等适配模块、参数选择和训练接口;bitsandbytes等实现提供低位数值运算及相关优化器。它们的职责可以组合,但可用组合依赖版本、硬件、模型和目标层,安装成功本身不是训练正确的证据。

量化误差怎样与校准数据相连

一种简单量化把权重逐项映射到最近可表示值,但矩阵输出误差还与真实输入分布有关。对于校准输入X,可以考察

$$ \|WX-\widehat W X\|^2, $$

而不只看权重间的(|W-\widehat W|^2)。GPTQ类方法围绕这种层输出重构目标,用近似二阶信息处理逐步量化后对其他权重的补偿。它属于量化方法,不能与“只训练LoRA”当作同一动作。课堂不展开完整求解,Lab用小矩阵区分逐项误差与输出误差;校准数据不具代表性时,校准结果也可能不能迁移到真实请求。

部分权重或激活会出现幅度较大的离群值。统一范围若被少数极端值拉大,普通值之间的量化间隔就可能变粗;若直接截断极值,又可能损害重要信号。因此量化格式、分组、尺度和离群值处理需要结合校准分布考虑。NF4并不是把区间均匀分成16份的线性量化,不能用均匀量化小例的误差数值冒充NF4实测。

其他适配方式与边界

Adapter通常在网络中插入小模块,prompt或prefix tuning则训练特定输入或注意力前缀的连续表示;它们都减少部分训练成本,但改变计算的位置与部署接口不同。用自然语言写一个提示而不训练连续参数,不应因为名字相似就叫作同一种微调。

剪枝尝试移除参数或连接,彩票假说研究稀疏子网络与初始化等条件。它们讨论的是模型中哪些部分可以被保留或训练,与LoRA约束增量的角度不同。稀疏参数更少也不保证任意硬件更快,实际速度取决于结构与算子支持。小规模适配、量化和剪枝可以结合,但每增加一种约束,都应检查任务质量和执行收益。

若回到课堂的规模化训练问题,需另用稠密模型与全参数 Adam 的账本。那里8B模型的128 GB持久状态来自低精度权重、梯度、主权重和两个动量的统一教学假设,不是LoRA或QLoRA必需的固定占用。比较资源之前必须先问:到底更新哪些参数,保存哪些状态,采用什么精度?

来源与课堂定位

本篇 Markdown