AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


垂域LLM训练经验之谈
发布日期:2024-06-03 19:47:34 浏览次数: 2203


前言

本文将按以下几个部分进行叙述:

全参 SFTLora SFTLora 继续预训练Llama pro 预训练 + SFT

数据说明:

预训练数据:由SFT数据的Query 与 Answer 的拼接SFT数据:由GPT4根据垂域文档抽取问答对+人工挑选而来,大概20000条,其中包括公司的介绍自我认知数据:大概200条,从公开的自我认知数据整理而来通用数据:匠数科技大模型sft数据集[1]

显卡 4 * A100 (40G)

训练框架 LLaMA-Factory[2]

基座模型 Qwen1.5-7B[3]

一、全参 SFT

基座模型Qwen1.5-7B[4]

总的来说,全参SFT是学知识最容易的一个,只需要一个epoch即可学会垂域知识,能够完全按照你的训练数据输出,是快速验证效果最简单的一条路了。

以下是lr = 5e-5 , epoch = 1, 混合了12w通用数据的训练Loss


请添加图片描述

可以看出,所有数据训练完都还没有完全收敛,应该还需要再加点通用数据,loss才会更好看些。


此时的模型已经能够完全复述SFT的训练数据了,关于公司的问答、自我认知的效果都很不错,通用能力也还可以,但受限于资源问题,并未对全参SFT的模型在MLU等通用数据集上进行完整的测试。

值得一提的是,当混合的通用数据较少时,模型比较容易出现复读现象。看来在混合比例的基础之上,还要确保你混合数据的量足够多才行,不能光有混合比例没有足够的混合数据量。

二、LORA SFT

基座模型Qwen1.5-7B[5]

lr = 2e-4 , epoch=5时,训练的模型基本学会了公司的介绍,

请添加图片描述


对于Lora来说,记住知识的能力差很多,需要训练很多个epoch才能学会垂域知识,且从训练曲线来看纯纯就是过拟合才学会的知识。该版本未进行MLU等数据集的测试。

要想曲线好看点,可以对垂域数据进行过采样,曲线会好看非常多,如下:


请添加图片描述


这里我对2000条垂域数据进行了高达20倍的采样,采样完后总共4w条数据,且通用数据有12w条 lr = 5e-5, epoch=3。

这一版训练出来的模型通用能力并未损失多少,且有提升:

在这里插入图片描述

大概时因为我未进行预训练,且混合了大量通用数据,所以才未损失通用能力吧。


这里要再提一嘴,当你的垂域数据较多时,对Chat模型进行SFT,会损失非常多的通用能力

三、LORA继续预训练

基座模型Qwen1.5-7B[6]

使用垂域QA数据拼接成的数据直接进行Lora预训练,未混合通用数据,垂域数据是网络安全数据[7]

(因为我手上没有大量的预训练数据,所以找的这个数据集代替)


请添加图片描述

lr = 1e - 4, epoch =1的曲线


使用训练好的lora模型合并后进行了标准的测试,结果如下

在这里插入图片描述

通用能力并未损失的样子。注意,这里并没有使用通用数据集


为了对比和base模型在垂域的效果,我在渗透测试考试单项选择题上进行了对比测试,结果如下:

在这里插入图片描述


实际上base模型在这个数据集上的表现就已经很好了,我在垂域数据上继续预训练后,也就 one shot有一点点提升。实在是尴尬。

不过这里并没有出现所谓的LORA预训练必须要混合足够多的通用数据,不然会损失通用能力,只能怀疑说,这份垂域数据,不够垂,qwen 系列的大模型的预训练数据包含了这部分数据集。

随后,我又进行了训练数据的复读测试,看看lora 预训练的模型,能否输出训练数据。结果表明,lora只训练一个epoch,没法对预训练数据进行复读,训练3个epoch后,基本能够复读出训练数据了。

四、Llama pro 预训练 + SFT

使用llama pro方法在Qwen1.5-7B[8]基座模型上进行拓展,我这里扩展了4个hidden_layers,还是在网络安全数据[9]上进行预训练

lr = 5e-5, epoch = 3

请添加图片描述

使用合并后的模型能够准确复述出预训练数据,说明确实学到了知识。



在这里插入图片描述

综合来看,比lora模型的通用能力要好一点。


但是,在渗透测试考试单项选择题上进行测试,结果却更差了

在这里插入图片描述

但是对于学习知识而言,确实是能够复述预训练数据了。


总结

1、全参微调学东西最快 2、lora要学习垂域知识,得多训几个epoch才行,或者对数据集进行过采样 3、llama pro学东西也快,缺点就是会增加参数量 4、如果不是特别垂直的场景,优先RAG吧 5、训垂域模型,要我选,我选llama pro

References

[1] 匠数科技大模型sft数据集: https://modelscope.cn/datasets/deepctrl/deepctrl-sft-data/summary
[2] LLaMA-Factory: https://github.com/hiyouga/LLaMA-Factory
[3] Qwen1.5-7B: https://modelscope.cn/models/qwen/Qwen1.5-7B/summary
[4] 网络安全数据: https://modelscope.cn/datasets/conheaven/security-dataset/summary



53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询