这个问题其实触及了机器学习研究中一个很常见的现象:很多看似“简单”的想法,往往要等到整个领域的技术栈、问题意识和实验条件都成熟之后,才会被自然地想到并证明有效。 LoRA(Low-Rank Adaptation)就是一个典型例子。
下面从几个角度来解释,为什么它没有在更早的时候被发明出来。
LoRA 的核心思想是:冻结预训练模型权重,只训练一个低秩分解的增量矩阵。这个想法要成立,前提是:
在 2018 年 BERT 之前,NLP 的主流还是从零训练或在小规模数据上训练任务特定模型。那时“冻结大部分参数、只调一小部分”虽然也有人做(如 feature extraction、adapter),但大模型微调的成本问题还没有成为整个领域的核心痛点。没有足够强的痛点,就不会有人专门去设计一个针对“大模型微调”的高效方法。
低秩分解(如 SVD、矩阵分解)在机器学习里非常古老。但 LoRA 的关键洞察不是“低秩分解有用”,而是:预训练权重的更新量 ΔW 本身可能是低秩的,因此可以用两个小矩阵的乘积来参数化这个更新。
这个假设在 2021 年之前并没有被系统验证过。大家知道大模型参数冗余,但“微调时的权重变化具有低内在秩”是一个需要实验支撑的发现。没有大规模微调实验和对应的分析,这个假设就只是猜测。
LoRA 并不是突然冒出来的。在它之前,已经有一系列参数高效微调(PEFT)工作:
这些方法证明了“冻结大模型、只训练少量参数”是可行的,但也暴露了问题:Adapter 会增加推理延迟,Prefix/Prompt 会占用序列长度、效果有时不稳定。
LoRA 的贡献在于:它找到了一种既不增加推理延迟、又能保持效果、还易于合并回原权重的参数化方式。 这个设计空间是在前面这些方法的经验基础上才被探索出来的。
LoRA 的流行也依赖于:
如果是在 2015 年,即使有人提出类似想法,也没有足够大的模型和社区来验证它的价值。
学术研究不是同时探索所有可能性的。一个想法能不能被提出,很大程度上取决于当时社区在关心什么:
所以,LoRA 的“迟到”并不是因为它是多么高深的数学,而是因为它需要的问题背景、实验证据、工程工具和社区注意力同时到位。
LoRA 没有更早被发明,不是因为想法太复杂,而是因为:
很多重要的机器学习方法都是这样:它们看起来简单,但简单只有在正确的背景下才会变得显然。
评论专区
评论加载中...登录后即可发表评论