LoRA创作者对其的解释,



1.需要解决的2个问题:
 

1.我们需要找到并调整所有参数?
2.我们微调的权重矩阵,更新在矩阵秩方面应该具有多大的表现力?




Generalizing   Fine-tuning






矩阵更新的秩来控制矩阵更新的表达能力
LoRA 不会引入任何推理延迟





2.模型切换


 


只涉及RAM和VRAM之间的数据传输
RAM通常比VRAM大得多
缓存数千个LoRA模块,不从磁盘读取。


3.并行训练多个LoRA模块





每个模块执行自己的任务,共享相同的基础模型并通过不同的LoRA 模块在单个批次中路由不同的输入来实现。

预训练模型逐渐专业化的管道,针对特定语言进进性微调,然后针对特定的域

4.全量微调和LoRA 微调

本质就是减少参数的维度





LoRA: Low-Rank Adaptation of Large Language Models
Rank对应于k, k越小需要训练的参数就越少。

2. Transformer的参数主要由很多矩阵来构成,
比如multi-head attention里的矩阵,还有FFN里的矩阵等; 当我们使用LoRA的时候,可以选择性地对某一些矩阵进行改变,这部分可以在config里面进行设置。

3. 矩阵的乘法:要保证维度的一致性,比如一个矩阵W是M乘N的,那这时候A必须是M乘K, B是K成N,这样才能保证乘出来的大小为M乘N。

4. 视频里的K我们也称之为rank(秩),像这种M=AB,low rank factorization方法经常也在推荐领域使用。

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐