近期,百川智能推出了全链路金融领域增强大模型 Baichuan4 Finance。
这款大模型凭借强劲的能力和良好的表现,在多个权威开/闭源测评榜单中得分遥遥领先。
因此,不少专业人士夸赞百川智能的 Baichuan4 Finance 是
目前最具有竞争力的金融增强模型之一。
这款模型在训练中使用了非常多的前沿技术,包括但不限于:
• 在阿里团队 domain scaling law 的基础上进一步探索领域数据配比;
• 引入了类似于 llama3 技术报告中提到的 loss 到 metrics 的 scaling law 技术方案;
• 通过强化学习,大幅度提高了基座模型的数学能力,并尝试解释了 RL 效果优越性的背后原因等。
其中最具有创新性的技术,是百川智能算法团队在行业首次提出的「领域自约束」训练范式。
01 为什么要提出领域自约束
这是因为,目前企业在训练行业领域大模型时,普遍会采取通用训练语料与领域数据相结合的 CPT 训练方式。
但 continue pretrain 的数据分布和原始 base model 的 pretrain 的数据分布差异较大。
领域数据占比过高会导致模型在通用知识的掌握程度上有明显下降,从而降低模型的通用能力。
因此,提出领域自约束的目的在于找到一种新的训练范式:既让模型充分学习领域知识,又尽量维持模型原本的通用能力。
02 到底啥是领域自约束
首先明确概念:领域自约束是一种提升模型垂域泛化能力,又不降低通用能力的训练范式。
领域自约束的技术实现可以总结为:在语言模型 loss 中引入 KL 散度,通过reference_model 的限制来避免模型对通用语料的遗忘。具体优化目标如下。
-
如果一条数据属于通用语料,计算当前模型与 reference model 的 KL 散度作为 loss,reference_model 是 continue pretrain 启动之前的模型,其参数固定不变。出于工程考虑,每个 token 仅从 vocab_size 个概率中随机不放回采样 200 个 probabiliites:
-
如果一条数据属于领域语料,它将获得一个额外的语言模型 loss,α 是一个超参数,建议取值为 0.5,领域数据占全部数据的比例则是 20%:
大家是不是觉得领域自约束的形式很眼熟?
类似的优化目标似乎也出现在知识蒸馏,DPO 的 reference_model,PPO 的重要性采样等算法中。
没错,百川智能算法团队的确是从这些经典算法中汲取到的灵感,并在工程实践中取得了较为理想的实验结果。
百川智能并不是第一个利用 KL 散度解决训练分布不一致的团队,但 Baichuan4-Finance 的卓越效果展现出了领域自约束这一工作的重大意义:以充分的实验证明了“利用 KL 散度限制模型遗忘通用能力的可行性”,任何一个领域模型的训练,均可使用百川智能提出的新训练范式。
在工程实践中,为了实现高效的领域自约束训练,百川智能算法团队重写了 megatron 框架,以 Torch Distributed RPC Framework 为基础实现多种角色模型的调度和大张量通信 ,并以3 : 1的比例为优化模型(optimize model)与参考模型(reference model)进行算力分配。
经过实验验证,每个 token 采样不少于 200 个 probabilities 即可在确保训练效果的前提下大幅降低模型通信。
03 领域自约束咋样,请看实验结果
百川智能算法团队首先在小模型上进行了消融实验,构建了三个对照模型分别是
模型 A | 没有做 continue pretrain |
模型 B | 利用语言模型 loss 做 continue pretrain |
模型 C | 利用领域自约束 loss 做 continue pretrain ,训练 token 量与模型 B 一致 |
消融实验的结果如下图所示:在相同 token 训练量下,使用领域自约束得到的模型 C,其不仅在金融指标(FinanceIQ)上明显高于模型 A 和 模型 B,在通用能力上也均全部大于对照组模型 B。
百川智能算法团队在 Baichuan4-Turbo-Base 上做领域自约束训练,得到的模型 Baichuan4-Finance-Base,其通用能力几乎没有下降,且个别指标有稍许上涨,这再次证明了领域自约束方法的优越性。具体结果见下图。
04 领域自约束应用场景
领域自约束作为一种全新的训练方法,它对解决实际工作中的痛点有较大意义,例如:
-
像 Baichuan4-Finance-Base 一样,强化领域能力的同时保留通用能力;
-
当 continue pretrain 时某个 source 的数据不太干净,百川智能算法团队既需要这个 source 的数据作为配比(防止能力遗忘),又不想让模型被脏数据影响效果,便可以使用领域自约束控制模型形在这个 source 上能力保持不变;
-
领域自约束的训练方法对“领域数据占比过大”的容错相对较高,可以用较少的资源实现较好的效果等。
总而言之,领域自约束方法的提出,让我们处理训练数据配比、训练数据质量、训练数据分布一致性等问题时,不需要再进行过于严谨的限制。
在新的训练范式下,只需要让模型对目标领域的数据进行学习,对其余数据进行约束,便能有较为理想的训练结果。
Baichuan4-Finance 只是领域自约束在金融行业的一个应用案例,它具有很强的泛化性,能适配任何一个垂直领域和行业。
领域自约束为百川智能商业化升级进一步夯实基础。我们有信心,能够持续面向各个行业,推出更多、更丰富的大模型解决方案,加速发展新质生产力,赋能千行百业数智化转型!