当前,百亿至千亿参数大模型的强化学习(RL)训练面临算力消耗高、精度问题定位效率低的挑战。以DeepSeekV3.2-685B为例,在32台昇腾Atlas 800T A3上单步训练耗时可达数十分钟甚至小时级,导致定位微小bug常需数小时。现有工程方法如减层或调参虽能降低资源需求,但会使模型丧失推理能力,无法正常进行RL训练。本文提出的“以小验大”方案,旨在构建具备推理能力、结构同源且资源需求小的小模型,以加速RL框架精度问题的定位过程。

以小验大

本文所要论述的场景是在具备新结构的大模型出现后,验证昇腾适配该模型后的RL训练效果。为了方便论述,下文我们以DeepSeek-V3.2为需要适配的目标大模型,来阐述以小验大方案的过程,只需2台Atlas 800T A3即可运行小模型。此外,我们也基于本文提到的方案在DeepSeek-V4-Flash模型完成了适配,经下文提到的小尺寸模型构建方案我们可以裁剪出一个保留约50%左右推理精度的小模型,只需2机昇腾Atlas 800T A3即可进行RL训练,且相关代码已在verl-ascend-recipe仓库提交PR,后文附上链接。

小尺寸模型构建方案

DeepSeekV3.2的适配核心需要验证的新结构就是DSA,因此小尺寸模型同样也需要是一个DSA结构的模型。基于此,我们提出了两个方案:Upcycling混合架构增训和减专家。

Upcycling混合架构增训,提供高压缩率小尺寸模型

本方案的思路是拿一个成熟的开源模型,加入两层DSA结构的transformer层进行增训。具体架构示意图如下图1示。

Image

图1 方案一架构

由于DeepSeekV3.2的结构是MLA+DSA,那么为了尽量保证架构的一致性,我们希望选取的开源架构是MLA结构的。此外,这个开源的模型参数量不宜太大,以便于进行高效的验证。基于此原则,我们最终选取了DeepSeekV2-Lite-Chat,16BA2B且采用MLA架构的模型作为小模型的基座。增训的过程我们会使用轻量级的Pre-Training+SFT来进行增训。正如图2中所示,增训过程我们会冻结DeepSeekV2-Lite-Chat基座模型的相关参数,只训练DSA结构的transformer层,训练参数量大约1B左右。

训练后评测结果如下表所示,可以发现进行轻量增训后,小模型相比于DeepSeekV2-Lite-Chat已经恢复了80%以上的水平。这时,我们认为该模型具备基础的语言和数学能力,可以作为小模型来验证RL框架的问题。 至此我们给出了第一种带DSA结构的小尺寸模型构建方案。

image.png

减专家,快速提供小尺寸模型的黑科技

MoE模型有共享专家和路由专家。不同的专家具备不同的领域知识,prompt由router决定将token分发到对应领域的专家上。那么确定好一个验证的数据集,我们先在推理引擎上推理一次,过程中统计出每一层每一个token分发到的专家,然后根据全量数据集统计的所有专家中,统计出所有专家的激活频率后,并保留高频专家,裁剪低频专家,从而最大程度的保留模型能力。方案架构如图2所示,由于共享专家是一定会被激活的,所以共享专家会被保留。

Image

图2 方案二架构

我们把裁剪前后的模型在相同的数据集上进行推理评分,结果如下表所示。

image.png

以小验大用户现场实践

本次实践基于昇腾Atlas 800T A3实现DeepSeekV3.2的RL训练,验证硬件能力。以小验大在这个背景下,通过小模型加速问题定位效率,验证长跑reward上涨情况,起到了为满血版大模型打前站的作用。本次实践主要采用的是减专家的方案,在适配完verl后,首次长跑训练即发现了问题,训练曲线如下图3所示。如图中所示,可以发现reward一直在震荡但并没有上涨。grad_norm数值也过大,前几个step在100-500。可以比较明显发现有精度问题,需要进一步定位。

Image

图3 小模型训练长跑60+steps结果

事实上,精度问题可能有许多个小问题组成。此外,本次实践以小验大同样验证出了框架侧的部分功能性问题。由于篇幅限制,本文不一一列举。为了说明以小验大的实践价值,下表列出了实践过程中小尺寸模型拦截到的问题,而这些问题在原尺寸大模型上均同步出现。

image.png

经过本次实践,我们发现小模型遇到的问题,大模型一定能够遇到,证明了以小验大的价值。实践当中满血版DeepSeekV3.2通过32台Atlas 800T A3的RL单步训练耗时大约50分钟左右,小模型基于4台Atlas 800T A3的单步耗时大约12分钟,能够快速帮助大模型定位问题,并长跑验证。在解决了一系列的问题,最终长跑效果如下图4所示,可以发现reward明显上涨。并且,大模型在相同版本代码上长跑,RL训练也同样能够上涨。

Image

图4 修复问题后小模型长跑loss曲线图

开源链接

当前基于verl在DeepSeekV3.2及DeepSeek-V4-Flash模型适配过程中的以小验大代码的开源链接:

https://github.com/verl-project/verl-ascend-recipe/pull/5

Logo

鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。

更多推荐