TencentARC / LLaMA-Pro

[ACL 2024] Progressive LLaMA with Block Expansion.
https://tencentarc.github.io/LLaMA-Pro/
Apache License 2.0
449 stars 34 forks source link

对比lora优势是什么 #14

Open xiaozhu1106 opened 5 months ago

xiaozhu1106 commented 5 months ago

您好,有几点请教下; 1.预训练使用lora,也是只训练lora新增加的参数。那和lora对比优势是什么呢? 2.这种方式预训练时,避免遗忘,增加领域数据时,还需要增加适当的通用数据混合吗? 3.sft阶段,是使用的全参训练吧,那sft阶段还是避免不了遗忘呢

hills-code commented 5 months ago
  1. 根据我们的经验lora并不能很好的进行预训练,更适合在sft进行训练;我们的方法在预训练下训练收敛的比lora更好(参数量更多,学到的也更多),我会在第三点再分析一下预训练和sft
  2. 我们没有刻意用通用数据进行混合,但是我们关注到现有的领域数据集本身有加入一些通用语料,比方说我们用到的proof-pile-2,这个数据集里面就有一些通用语料,只用这些语料我们也做到了避免遗忘
  3. sft阶段我们也用了全部参数进行训练,我们也试过只对新增加的层训练,效果接近,用全参数训练是希望我们的方法能够兼容通用的训练pipeline;sft方面我认为可能对遗忘的影响没那么大,可以参考这篇文章:The Unlocking Spell on Base LLMs: Rethinking Alignment via In-Context Learning. 我们认为sft的时候可能只是激发预训练学习到的知识,所以其实影响不大。这也是为什么lora可以很好的做sft,但是不适合做预训练