不用英伟达GPU的华为盘古Ultra来了:昇腾原生、135B稠密通用大模型
我们看到华为盘古发布的这篇新研究,证明了基于全国产的昇腾也可以实现领先的大规模语言模型的研究与开发。
技术报告标题:PanguUltra:PushingtheLimitsofDenseLargeLanguageModelsonAscendNPUs
技术报告地址:https://github.com/pangu-tech/pangu-ultra/blob/main/pangu-ultra-report.pdf
研究称华为盘古团队成功开发出基于昇腾算力训练的千亿级通用语言大模型PanguUltra。在效果上,PanguUltra在多个领域和评测上超越之前Llama405B和MistralLarge2等稠密模型,并可以与DeepSeek-R1等更大规模的稀疏模型一较高下。
PanguUltra是一个拥有94层架构、总参数量达135B的超大稠密模型。针对超深千亿级大模型的训练稳定性问题,研究团队提出了新的稳定性架构和初始化方法,成功实现了在13.2T高质量数据上的全流程无loss突刺长稳训练。同时,在系统实现层面,团队通过一系列系统优化策略,在8192张昇腾NPU构建的大规模集群上将算力利用率(MFU)提升至50%。
接下来,让我们从模型架构、模型训练等方面,详细了解下PanguUltra的技术细节。
模型架构
基础架构信息:PanguUltra包含1350亿参数、采用了94层的Transformer结构。其中FFN采用SwiGLU激活。注意力层采用GQA降低KV缓存占用。
PanguUltra针对大规模极深模型的训练稳定性问题提出了Depth-scaledsandwich-norm和TinyInit初始化两项技术。
Depth-scaledsandwich-norm:与混合专家模型(MoE)侧重在宽度上扩展不同,大规模稠密模型通常采用更深的层数。然而,深度增加会加剧训练稳定性的挑战。考虑到预训练的巨大成本,保证大模型的稳定训练至关重要。
Pre-LN在基于Transformer的大语言模型架构中被广泛应用,但采用Pre-LN的模型中,各子层输出尺度的波动容易导致训练不稳定。为解决此问题,Sandwich-Norm在残差连接前对每个子层输出额外施加layernorm。虽然Sandwich-Norm能保持单个子层输出的尺度稳定性,但跨越多层的残差连接仍会导致输出范数逐渐累积,进而引发训练不稳定。
为此,PanguUltra提出Depth-ScaledSandwich-Norm(DSSN)。该技术通过对每个子层输出的layernorm的gamma参数来调控各层输出尺度,通过把gamma参数初始化为与网络深度的平方根倒数成比例。下图展示了Depth-ScaledSandwich-Norm与Pre-LN架构的差异。实验结果表明所提出方法相比基准方法在稳定性和收敛性都具有较大优势(见模型结果与分析)。
Pre-LN与DSSN架构对比。相比Sandiwichnorm,DSSN对layernorm系数做了特殊的re-scale
TinyInit:模型初始化对训练稳定性和性能具有关键影响。基于Transformer的大语言模型普遍采用smallinit策略,即所有权重初始化为标准差为
的正态分布。另外有工作将残差层权重在初始化时缩放
倍。
Pangu提出了同时根据模型深度和宽度缩放的参数初始化策略TinyInit,所有权重初始化标准差
,能加速loss收敛并提升下游任务性能。TinyInit能使模型各部分的参数尺度更加一致,从而有利于优化和收敛(见模型结果与分析)。
PanguTokenizer:在PanguUltra的中,作者优化了分词器(Tokenizer)。传统方法在构建词汇表时,常因数据分布导致通用文本占比过高,而代码、数学等专业领域的词元代表性不足。为解决此问题,PanguUltra采用了“领域感知”的分词词表策略:
对通用中文、通用英文、代码、数学等多个关键领域的数据独立进行词频分析,生成领域专属词汇表。
随后,将这些词汇表合并与去重,形成了一个包含153376词元的分词词表。
这种方法提升了词汇表在不同领域间的均衡性,确保了模型在处理文本、代码、数学等多样化任务时,都能获得更精准、高效的理解基础,同时保持了良好的整体压缩效率。
各领域词在Pangu词表中的分布
模型训练
预训练策略与数据:PanguUltra的预训练过程的三个阶段:12Ttokens的通用能力训练、0.8Ttokens的推理能力增训以及0.4Ttokens的退火阶段。
PanguUltra预训练各个阶段的数据配比
PanguUltra模型的预训练语料覆盖了高质量、多样化的13.2Ttokens,如上表所示,整个预训练过程分为三个阶段:通用阶段(General)、推理阶段(Reasoning)和退火阶段(Annealing)。
通用阶段(12T)旨在帮助模型积累知识和语言表达能力,推理阶段(0.8T)旨在强化模型推理技能,而退火阶段(0.4T)则进一步教会模型如何运用已学到的知识和推理技能。
团队为训练语料打了质量与难度的标签分数,并在上述三个阶段中采用课程式的数据采样策略,即完成一个从易到难的学习过程:
通用阶段覆盖了大量的书籍、网页、百科、多语言以及各行各业的语料,实际训练中分成了两个子阶段,训练量分别为7.4T和4.6Ttokens;
推理阶段重点提高泛数学、理科以及代码数据的比重,强推理数据占比超过60%;
退火阶段将指令类数据占比提高到20%,旨在激发模型更好的应用知识和推理技能。团队设计了大量的指令类问答对,并且包含长、短思维链,这些推理路径经过精心优化,以确保内容清晰且逻辑连贯。
数据质量评估是提升模型训练效果的核心环节,PanguUltra结合规则筛选与AI评估优化数据质量。团队设计人工标注数据,微调盘古系列模型作为质量评估器,从数据干净度、流畅性、教育价值和信息密度四个维度,对超过10T语料进行打分,并且赋予高质量语料更高的采样概率。
团队基于Pangu26亿参数的代理模型进行了大量的消融实验,结果表明基于低质量数据训练的模型需要多1.6倍训练量才能达成基于高质量数据的同等效果,进一步印证了数据质量对于提升训练效率的关键价值。
长序列扩展:PanguUltra模型通过两阶段长度扩展训练将可支持的输入token数增加到128K,可以输入约10万英语单词或者17万中文汉字。针对长序列训练中RoPE基础频率这一重要参数,在训练前首先在目标扩展长度的特定验证集上对不同的参数进行评测来搜索出最优的参数,保证了长度扩展的效果。
后训练策略与数据:在模型后训练阶段,通过两阶段优化实现能力跃升:首先采用监督微调(SFT)建立基础指令跟随能力,随后引入基于结果的强化学习(RL)框架,显著提升模型的复杂推理、价值对齐和指令执行能力。为充分发挥昇腾算力优势,研究团队特别设计了具有延迟容忍特性的强化学习框架,配合融合确定性信号与模型评估的混合奖励系统,在数学推导、代码生成和通用问题解决三大领域构建精准反馈机制,确保大规模策略优化的效率与稳定性。
模型在AIME2024、MATH-500、GPQADiamond和LiveCodeBench等核心推理基准上取得了理想的性能,验证了后训练架构的有效性,这既得益于预训练阶段0.8T规模的专项推理数据积累,也源于强化学习阶段对模型潜力的深度激发。同时模型仍保持强大的通用语言理解能力(MMLU-pro和ArenaHard),彰显了技术路径的均衡性,结果见模型结果与分析部分。
系统优化
PanguUltra135B的训练环境是一个配备了8192个昇腾NPU的大规模计算集群。团队通过混合并行策略、细粒度负载均衡调优、高效融合算子、子序列切分以及数据缓存共享等技术手段,在8192卡规模的集群中实现了超过50%的MFU(ModelFLOPsUtilization)。
并行策略:为了扩展PanguUltra的训练规模并提升集群线性度,团队采用了混合并行策略。在8192卡规模的集群中,使用了128路数据并行(DataParallelism)、8路张量并行(TensorParallelism)和8路流水线并行(PipelineParallelism),同时结合了ZeRO和序列并行(SequenceParallelism),以降低模型参数、优化器状态和激活值的显存占用。由于batch-size的限制,大规模集群训练中每个数据并行(DP)组的批次较小,导致较高的流水线空泡率。为解决这一问题,团队引入了6路虚拟流水线(VirtualPipeline)调度算法,将训练空泡率从30.45%降低至6.8%。通过一系列精细的负载均衡优化,在BF16训练精度下实现了43%的MFU。
系统优化:为了进一步提升大规模集群的训练效率,团队从多个方面进行了系统优化,将8192卡训练的MFU从43%提升至52%。关键优化技术包括:
MC2(MergedComputeandCommunication)通算融合
通过将训练中的矩阵乘法(MatMul)计算与张量并行(TP)切分引入的通信操作细粒度拆分,并对计算和通信操作进行深度流水线编排,实现了通信与矩阵乘法的高效重叠,显著提升了资源利用率和训练效率。
NPUFusionAttention(NFA)
针对昇腾NPU优化的自注意力(Self-Attention)融合算子,支持AttentionMask压缩,避免了显式构造AttentionMask带来的计算和显存开销。在PanguUltra训练中,根据每个样本的结束标记(EOD)计算出实际序列长度(actual_seq_len),并将其传入NFA。NFA内部使用一个2048×2048的下三角矩阵作为素材库,根据actual_seq_len动态构造训练时的AttentionMask,从而在重置AttentionMask的场景下实现高效的自注意力计算。
其他融合算子
除了MC2和NFA,训练还采用了RMSNorm、SwiGLU、RoPE融合算子、梯度累加融合以及PPsend/recv融合等技术,进一步提升了系统性能。
子序列切分
上下文并行(ContextParallelism,CP)是长序列训练中常用的优化方法。为了实现CP切分下的负载均衡,Megatron-LM将序列切分为2×CP个子序列,每个设备负责计算上下两个chunk的数据(见图1.(b))。然而,这种切分方式在重置AttentionMask的场景下仍会导致负载不均(见图1.(c))。PanguUltra采用了改进的子序列切分并行方式,针对每个样本中的子序列采用负载均衡的切分策略,每个节点负责计算子序列中的两个chunks(见图1.(d))。
图1.子序列切分的序列并行方式
显存优化
允许同一计算设备上的不同vppstage之间共享attentionmask/actual_seq_len,RoPEsin/cos,positionembedding等数据。避免重复的计算和显存开销。
模型结果与分析
PanguUltra实现了昇腾近万卡大集群上约13T数据的长稳训练,DSSN和TinyInit保障训练全程没有出现任何loss突刺,如下图:
PanguUltra预训练Loss,全流程无loss突刺
PanguUltra的预训练基座模型测评结果如下。对比稠密架构的代表Qwen2.5-72B和Llama405B以及MoE架构的代表DeepSeekV3。PanguUltra在大多数benchmark上取得了最好的效果,和同为稠密架构的模型对比优势更加明显。
PanguUltraBase测评结果,粗体表明最好结果,下划线表明该模型在dense中最好
经过后训练之后,PanguUltra在主要的Reasoningbenchmark上的表现如下所示。
PanguUltra在ReasoningBenchmarks上的表现
PanguUltra在AIME24,MATH-500,GPQA,MMLU-Pro等指标上超越DeepSeekR1。关于盘古后训练使用的相关技术将在之后的报告中发布。
针对训练稳定性,团队发现DSSN和常见的Pre-Norm(Pre-LN)架构对比能够完全杜绝训练中的loss突刺现象。在gradientnorm上,使用DSSN的模型也更加平稳,突刺更少。经过测评,DSSN架构的模型效果也超出Pre-LN架构,说明避免训练突刺的重要性。
DSSN与Pre-LN的训练对比
DSSN架构和Pre-LN架构的测评效果对比
使用Sandwich-Norm架构时,RMSNorm的affine参数gamma初始化非常重要,该研究提出的DSSN方案与普通Sandwich-Norm架构对比训练loss也更加平稳,且收敛更快,如下图所示。
DSSN对比普通Sandwich-Norm
关于TinyInit,团队在135B的模型规模上训练了约100Btokens,和经典基线初始化方案相比取得了较为明显的优势。
TinyInit对比普通初始化的模型测评效果
踩一下[0]
顶一下[0]