LoRA 的结构: LoRA 使用两个矩阵 A 和 B 来近似一个大的权重更新矩阵。

A 矩阵:称为 "lora_A" 或 down-projection B 矩阵:称为 "lora_B" 或 up-projection

矩阵尺寸: 假设原始层的权重矩阵为 W ∈ R^(d×k)

A ∈ R^(r×d) B ∈ R^(k×r) 其中 r 是 LoRA 的秩(rank),通常远小于 d 和 k

压缩原理: LoRA 的更新可以表示为 W + BA,其中 BA 是一个低秩矩阵。 通过减小 r(秩),我们可以显著减少参数数量,同时保留一定的适应能力。

压缩逻辑解释: 对于 lora_A(down-projection):

原始形状:(old_rank, dim) 新形状:(new_rank, dim) 压缩发生在第一个维度,即将 old_rank 减小到 new_rank

对于 lora_B(up-projection):

原始形状:(dim, old_rank) 新形状:(dim, new_rank) 压缩发生在第二个维度,同样将 old_rank 减小到 new_rank 初始化新张量: 对于 lora_A,新权重被随机初始化 对于 lora_B,新权重被初始化为零 如果新的秩小于旧的秩,会保留原始权重的一部分

这种压缩方法的效果:

  1. 参数减少:通过减小秩,大幅减少了参数数量,从而减小了模型大小。
  2. 信息保留:通过保留部分原始权重,尽量保持了模型的部分学习能力。
  3. 一致性:对模型中的所有 LoRA 层统一应用这种压缩,确保了整体结构的一致性。

image/png

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model is not currently available via any of the supported Inference Providers.
The model cannot be deployed to the HF Inference API: The model has no library tag.