训练中文垂类大模型:Lawyer LLaMA
开源的通用能力大模型越来越多,但真正有用和落地的是在某个领域专精的垂类模型。初看上去,似乎大模型仅需要少量prompt工作就可以很好地在垂类工作,可事实并非如此。不进行领域微调的通用模型可以很快地构建80分的应用,可是大部分的实用场景,需要95甚至98分的模型效果。这也是为什么在各个领域(如金融、车载、虚拟人)大家都在训练或微调自己大模型的原因。
微调这件事看上去不难,但却有很多未解问题:
- 如何基于英文大模型继续训练一个中文大模型?
- 垂类数据应该在预训练阶段引入,还是指令微调时引入?
- 通用指令数据与垂类任务数据的混合比例有什么讲究?
上面的每个问题都有很多种不同的方案,但限于时间和成本,逐一实验是不可行的,AB测试也会带来额外的成本。所以有趣的事情出现了,各个玩家对自己训练时的细节都讳莫如深,自己训练的时候也都遇到过各种各样奇怪的坑。更有意思的是,即使别人提供了一些细节参考,自己在训练时未必能够复现 :-( 。
代码库:# Lawyer LLaMA
Lawyer LLaMA
技术报告:# Lawyer LLaMA Technical
Report