@techNmak: 每个人都在微调LLMs。几乎没人知道模型内部到底在更新什么。这里有5个技术…

X AI KOLs Timeline 新闻

摘要

这篇文章解释了五种针对大型语言模型的参数高效微调技术,如LoRA和VeRA,详细说明了每种方法如何以最小的更新来适应模型权重。

每个人都在微调LLMs。 几乎没人知道模型内部到底在更新什么。 这里有5个技术,它们改变了你对模型适配的看法,以及每个技术对权重实际做了什么: 1./ LoRA - 学习更新,而不是权重 预训练权重W被冻结。完全不受影响。 不是直接更新W,而是训练两个小矩阵 => A ∈ ℝʳˣᵈ 和 B ∈ ℝᵈˣʳ,其中 r ≪ d 权重更新为:ΔW = BA 有效权重:W' = W + BA 整个适配发生在一个微小的低秩空间中。W从不改变。 2./ LoRA-FA - 如果我们冻结更多会怎样? 结构与LoRA相同。一个改变。 A与W一起被冻结。只有B被训练。有效权重:W' = W + BA(A固定) 可训练矩阵是LoRA的一半。相同的核心思想。更少的参数。 3./ VeRA - 如果矩阵根本不需要学习会怎样? 这里变得有趣了。 A和B都被冻结,并且随机初始化。训练的只是两个微小的缩放向量 => b ∈ ℝʳ 和 d ∈ ℝʳ VeRA不是学习低秩矩阵本身,而是保持它们冻结,并学习缩放向量来调制它们的贡献。 初始化 => b = 0, d = 1 你不是在学习矩阵。你是在学习如何缩放它们。 这是列表中参数效率最高的技术之一。 4./ Delta-LoRA - 如果W本身从低秩更新中学习会怎样? 这个根本不同。 与标准LoRA不同,基础权重W没有被完全冻结。它通过每一步的低秩增量传播被更新 => W^(t+1) = W^t + c(B_(t+1)A_(t+1) − B_t A_t) 其中c是一个缩放因子。 A和B是可训练的。W在演变,但完全由低秩变化引导。 5./ LoRA+ - 相同的结构。更智能的学习率。 与LoRA相同,冻结W,训练A和B。 一个改变 => B被分配比A更大的学习率。η_B > η_A A ← A − η_A · ∂J/∂A B ← B − η_B · ∂J/∂B 一个小的优化改变可以使LoRA训练更有效。 贯穿所有五个的核心思想: 你并不总是需要完全微调来适配模型。 LoRA更新两个矩阵。 LoRA-FA更新一个。 LoRA+以不同速度更新两个。 Delta-LoRA让W演变 - 由低秩增量引导。VeRA更新两个向量。 相同的目标。对同一个问题的五个不同答案: => 我们实际需要学习的最小值是什么? 这就是参数高效微调背后的核心思想。 现在你知道了模型内部实际发生了什么。
查看原文
查看缓存全文

缓存时间: 2026/08/27 05:33

每个人都在微调大语言模型。 但几乎没人真正理解模型内部到底更新了什么。

以下是5种改变你对模型适配认知的技术,以及它们对权重实际做了什么:

1./ LoRA - 学习更新量,而非权重本身 预训练权重W被冻结,完全不动。 不直接更新W,而是训练两个小矩阵 => A ∈ Rrxd 和 B ∈ Rdxr,其中r ≪ d 权重更新量:ΔW = BA 有效权重:W’ = W + BA

所有适配都在极小的低秩空间中完成,W从未改变。

2./ LoRA-FA - 如果冻结更多呢? 结构与LoRA相同,仅一处改动。 A与W一同被冻结,仅训练B。 有效权重:W’ = W + BA(A固定) 可训练矩阵数量是LoRA的一半,核心思想相同,参数更少。

3./ VeRA - 如果矩阵根本不需要学习? 这就有趣了。 A和B都被冻结且随机初始化。真正被训练的只是两个微型缩放向量 => b ∈ Rr 和 d ∈ Rr VeRA不学习低秩矩阵本身,而是冻结它们,通过学习小的缩放向量来调节其贡献。 初始化时=> b = 0,d = 1

你并非在学习矩阵,而是在学习如何缩放它们。 这是本列表中参数效率最高的技术之一。

4./ Delta-LoRA - 如果让W自己从低秩更新中学习? 这个从根本上不同。 与标准LoRA不同,基础权重W并非完全冻结,而是通过低秩delta传播在每一步更新 => W^(t+1) = W^t + c(B_(t+1)A_(t+1) − B_t A_t) 其中c是缩放因子。 A和B可训练,W在演变,但完全由低秩变化引导。

5./ LoRA+ - 相同结构,更智能的学习率。 与LoRA完全相同,冻结W,训练A和B。 一处改动=> 赋予B比A更大的学习率。η_B > η_A A ← A − η_A · ∂J/∂A B ← B − η_B · ∂J/∂B 这一微小优化能让LoRA训练更有效。

贯穿五者的共同理念: 你并非总需要完整微调来适配模型。 LoRA更新两个矩阵。 LoRA-FA更新一个。 LoRA+以不同速度更新两个。 Delta-LoRA让W在低秩delta引导下演变。 VeRA更新两个向量。

相同目标,对同一问题给出五种不同答案: => 我们实际需要学习的最小值是什么? 这就是参数高效微调的核心思想。 现在你知道模型内部到底发生了什么。

相似文章

降低LLM延迟

Reddit r/AI_Agents

用于降低大语言模型延迟、提高推理速度的技术和方法。