26年2月来自智谱和清华的论文“GLM-5: from Vibe Coding to Agentic Engineering”。

GLM-5是一个旨在将Vibe编码范式过渡到智体工程的新一代基础模型。GLM-5在其前代模型的智体、推理和编码(ARC)能力基础上,采用DeepSeek 稀疏注意(DSA)技术,在显著降低训练和推理成本的同时,保持长上下文的保真度。为了提升模型的对齐性和自主性,实现一种异步强化学习基础设施,通过将生成与训练解耦,大幅提高后训练的效率。此外,还提出异步智体强化学习算法,进一步提升强化学习的质量,使模型能够更有效地从复杂的长时程交互中学习。凭借这些创新,GLM-5在主要的开放基准测试中取得最先进的性能。


如图展示 GLM-5 的整体训练流程。基础模型训练始于一个包含 27 万亿个tokens的庞大语料库,并在早期阶段优先训练代码和推理能力。随后,采用一个独立的训练中期阶段,逐步将上下文长度从 4K 扩展到 200K,特别关注长上下文的智体数据,以确保模型在复杂工作流程中的稳定性。在后训练阶段,超越标准的 SFT。其实现一个顺序强化学习流程——首先是推理强化学习,然后是智体强化学习,最后是通用强化学习。至关重要的是,在整个过程中使用在线策略跨阶段蒸馏技术,以防止灾难性遗忘,确保模型在保持其敏锐推理能力的同时,成为一个强大的通用模型。总而言之,GLM-5 性能的飞跃主要得益于以下技术贡献:
请添加图片描述

首先,采用DSA(DeepSeek Sparse Attention)[9],这是一种架构创新,能够显著降低训练和推理成本。GLM-4.5 通过标准的 MoE 架构提升效率,而 DSA 则允许 GLM-5 根据tokens重要性动态分配注意资源,从而大幅降低计算开销,同时又不影响长上下文理解或推理深度。借助 DSA,将模型参数扩展到 744B,并将训练token预算扩展到 28.5T 个tokens。

其次,构建一个异步强化学习基础设施。基于 GLM-4.5 中初始化的“slime”(https://github.com/THUDM/slime)框架和解耦的展开引擎,如图所示,新基础设施进一步将生成与训练解耦,从而最大限度地利用 GPU 资源。该系统能够大规模探索智体轨迹,克服以往阻碍迭代速度的同步瓶颈,显著提升强化学习后训练流程的效率。
请添加图片描述

第三,提出异步智体强化学习算法,旨在提升自主决策的质量。在GLM-4.5(https://github.com/zai-org/GLM-4.5)中,利用迭代自蒸馏和结果监控来训练智体。对于GLM-5,开发异步算法,使模型能够持续地从多样化的、长周期的交互中学习。这些算法经过专门优化,能够提升模型在动态环境中的规划和自纠错能力,直接促成在实际编码场景中的优势。

最后,GLM-5的另一项技术贡献在于,它从一开始就完全适配中国GPU生态系统。已成功完成对七大国内主流芯片平台(包括华为昇腾、Moore Threads、海光、寒武纪、昆仑鑫、MetaX 和 Enflame)的深度优化,优化范围涵盖底层内核到上层推理框架。


与 GLM-4.5 类似,GLM-5 的基础模型也经历两个阶段:预训练阶段用于培养通用语言和编码能力,中期训练阶段用于培养智体和长上下文能力。扩展 GLM-5 所有训练阶段的训练token预算,基础模型的总token数达到 28.5 万亿。

架构

模型规模扩展。GLM-5 可扩展至 256 位专家,并将层数减少到 80 层,以最大限度地降低专家并行通信开销。这使得模型参数量达到 7440 亿(其中 400 亿为活跃参数),是 GLM-4.5 总参数量(3550 亿,其中 320 亿为活跃参数)的两倍。

多潜注意机制。通过使用精简的KV向量,多潜注意机制 (MLA) [24] 可以达到与分组查询注意机制 (GQA) 相同的效果,但能够显著节省 GPU 内存,并加快长上下文序列的处理速度。

然而,在使用 Muon 优化器(Liu,Su & Yao et al,arXiv 2502.16982)的实验中,具有 576 维潜KV缓存的 MLA 的性能无法与具有 8 个查询组的 GQA(记为 GQA-8,具有 2048 维KV缓存)相媲美。为了克服性能差距,提出一种改进的 GLM-4.5 中 Muon 优化器方法。在原方法中,对多头Q、K和V 投影矩阵 WUQ、WUK 和 WUV 应用矩阵正交化。而本文则将这些矩阵拆分为更小的矩阵,分别对应不同的注意头,并对这些独立的矩阵应用矩阵正交化。该方法称为 Muon Split,它允许不同注意头的投影权重在不同尺度上更新。如表所示,该方法有效地提升 MLA 的性能,使其与 GQA-8 的性能相当。在实践中,采用Muon Split,GLM-5的注意logits规模在预训练期间保持稳定,无需任何裁剪策略。
请添加图片描述

MLA的另一个缺点是其解码过程中的计算成本较高。在解码过程中,MLA执行576维的点积运算,高于GQA的128维计算。虽然DeepSeek-V3中的注意头数量是根据H800的屋顶线[60]选择的,但这并不适用于其他硬件。考虑到MLA在训练和预填充过程中采用多头注意(MHA)风格,将注意头的维度从192增加到256,并将注意头的数量减少1/3。这样既保持训练计算量和参数数量不变,又降低解码计算量。表中MLA-256的变型在Muon Split算法下的性能与MLA相当。
请添加图片描述

基于参数共享的多token预测。多token预测 (MTP) [13; 25] 可以提升基础模型的性能,并作为推测解码的草稿模型 [20]。然而,在训练过程中,预测接下来的 n 个tokens需要 n 个 MTP 层。因此,MTP 参数和KV缓存的内存使用量与推测步骤的数量呈线性关系。相比之下,DeepSeek-V3 使用单个 MTP 层进行训练,并在推理过程中预测接下来的 2 个tokens。训练和推理结果之间的差异会降低第二个token的接受率。因此,本文提出在训练过程中共享 3 个 MTP 层的参数。这样既能保持草稿模型的内存开销与 DeepSeek-V3 一致,又能提高接受率。下表 显示,在私有提示集上,对于相同数量的推测步骤 (4),GLM-5 的接受长度比 DeepSeek-V3.2 更长。

预训练数据

网络数据。基于 GLM-4.5 数据管道,优化针对海量网络数据集的选择标准。引入基于句子嵌入的 DCLM [21] 分类器,用于识别和聚合标准分类器无法获取的高质量数据。为了应对长尾知识的挑战,利用 World Knowledge 分类器(通过维基百科条目和 LLM 标注数据进行优化),从原本质量中等偏低的数据中提取有价值的信息。

代码。扩展代码预训练语料库,加入来自主流代码托管平台的最新快照以及更大规模的包含代码的网页集合,从而使模糊去重后的唯一token数量增加 28%。为了提高语料库的完整性并降低噪声,修复 Software Heritage 代码文件中的元数据对齐问题,并采用更精确的语言分类管道。遵循 GLM-4.5 的质量感知采样策略来处理源代码和与代码相关的网络文档。此外,针对更广泛的低资源编程语言(例如 Scala、Swift、Lua 等)训练专用分类器,从而提高这些语言的采样质量。

数学与科学。从网页、书籍和论文中收集高质量的数学与科学数据,以进一步提升推理能力。具体而言,改进了网页的内容提取流程以及书籍和论文的 PDF 解析机制,以提高数据质量。采用大语言模型对候选文档进行评分,并仅保留最具教育意义的内容。对于长上下文文档,开发一种分块聚合评分算法,以提高评分准确率。实施过滤流程,严格避免使用合成数据、AI 生成数据或基于模板的数据。

中期训练

基于 GLM-4.5 中引入的中期训练框架,在 GLM-5 中扩展训练数据量和最大上下文长度,以进一步增强模型的推理能力、长上下文处理能力和智体能力。

扩展上下文和训练规模。分三个阶段逐步扩展上下文窗口:32K(1T 个 token)、128K(500B 个 token)和 200K(500B 个 token)。与 GLM-4.5 中 128K 的最大长度相比,新增的 200K 阶段显著提升模型处理超长文档和复杂多文件代码库的能力。在后续阶段,将相应地对长文档和合成智体轨迹进行上采样。

软件工程数据。保留将仓库级代码文件、提交差异、GitHub 问题、拉取请求和相关源文件连接成统一训练序列的范式。在 GLM-5 中,放宽仓库级别的过滤标准,扩大符合条件的仓库池,从而获得约 1000 万个 问题(issue)-PR 对,同时加强了单个问题级别的质量过滤以降低噪声。此外,还为每个问题-PR 对检索更多相关文件,从而获得了更丰富的开发上下文,并更广泛地覆盖真实的软件工程场景。过滤后,数据集中的问题-PR 部分包含约 1600 亿个唯一tokens。

长上下文数据。长上下文训练集包含自然数据和合成数据。自然数据来自书籍、学术论文和通用预训练语料库中的文档,并采用多阶段过滤(PPL、去重、长度过滤)和对​​知识密集型领域的上采样进行筛选。在合成数据构建方面,受到 NextLong[11] 和 EntropyLong[18] 的启发,采用多种技术来构建长程依赖关系。采用交错打包的方式聚合高度相似的文本以生成序列,旨在缓解中间丢失现象,并提升模型在各种长上下文任务中的性能。在 20 万条文本的训练阶段,还加入一小部分类似 MRCR 的数据,并设计多个变型来扩展 OpenAI 的原始范式,以增强模型在多轮对话中的记忆效果。实验结果表明,数据多样性的增加能够逐步提升模型的长上下文性能;值得注意的是,在最初的 12.8 万条文本训练阶段基础上,后续的 20 万条文本的训练阶段进一步提升模型在 12.8 万条文本上下文范围内的性能。

训练基础设施

内存效率

灵活的 MTP 放置。在交错流水线并行 [31] 下,模型组件可以灵活地分配到各个阶段。MTP 模块包含嵌入、Transformer 和输出组件。与其他模块相比,它的内存使用量显著更高,导致阶段级内存不平衡。本文将 MTP 输出层与主输出层放置在最后一个阶段,以实现参数共享,同时将其嵌入和 Transformer 组件放置在前一个阶段。这降低了最后一个阶段的内存压力,并改善了流水线各级之间的平衡。

流水线 ZeRO2 梯度分片。每个流水线级维护多个阶段 [31],通常每个阶段都需要一个完整的梯度缓冲区用于累积和优化器更新。受 ZeRO2 [38] 的启发,将梯度分片到数据并行级,使得每个阶段仅存储完整梯度的 1/dp 部分。此外,每次只为两个阶段保留完整的累积缓冲区,并通过双缓冲来重用它们。当一个阶段缓冲区在连续的微批次中累积梯度时,前一个阶段缓冲区的梯度同步是并行执行的。这使得持久梯度内存减少到每个阶段的分片缓冲区,外加两个用于滚动累积的完整缓冲区,实际上没有额外的同步开销。

分布式Muon 优化器的零冗余通信。简单的 Muon 实现会在每个数据并行进程上收集所有模型参数,导致瞬态内存峰值和冗余通信。将收集限制在每个进程拥有的参数分片上,并将本地计算与分片通信重叠。这消除冗余通信,并显著降低了与优化器相关的峰值内存开销。

流水线激活卸载。在流水线预热期间,前向执行会先于反向传播,从而延长中间激活的生命周期。在前向执行后将激活卸载到主机内存,并在反向执行之前重新加载它们 [58]。卸载以层为单位进行,以进一步降低峰值内存使用量。结合细粒度重计算,这在很大程度上消除将激活值驻留在 GPU 内存中的必要性。卸载和重载的调度与计算重叠,同时避免与点对点通信和 MoE token路由(分发和组合)发生争用。这在几乎零开销的情况下显著降低了激活值的内存占用。

序列分块输出投影以减少峰值内存消耗。输出投影和交叉熵损失会因存储用于反向传播的激活值以及在损失计算期间将其提升到更高精度而产生瞬态内存开销。为了减少这种开销,将输入序列分割成更小的块,并在每个块上独立计算投影和损失,在继续计算之前完成前向和反向传播并释放激活值。因此,随着块数的增加,峰值内存使用量会降低。通过适当的块数,这种方法可以缓解输出层的内存压力,同时保持与非分块执行相当的性能。

并行效率

高效的延迟权重梯度计算。为了减少流水线气泡,延迟关键路径上的部分权重梯度计算[37]。通过优化存储和通信重叠,细粒度延迟可以提高吞吐量,同时将内存开销控制在合理范围内。

高效的长序列训练。更长的序列会加剧数据并行组和流水线并行组之间的负载不均衡。通过工作负载感知的序列重排序、注意计算的动态重新分配以及将数据并行排序灵活地划分为不同大小的上下文并行组来解决这个问题[12; 47]。QKV张量的分层全对全重叠节点内和节点间通信可以降低延迟。

INT4量化-觉察训练

为了在低精度下提供更高的准确率,在SFT阶段应用INT4量化感知训练(INT4 QAT)。此外,为了进一步降低训练时间开销,开发一种适用于训练和离线权重量化的量化核,该量化核确保训练和推理之间bit一致的行为。


GLM-5 的后训练阶段旨在将基础模型转化为具备强大推理、编码和智体能力的智能助手。如上图所示,流程遵循渐进式对齐策略:首先进行多任务监督微调 (SFT),引入复杂的交错思维模式;随后进行专门的强化学习 (RL) 阶段,用于推理和智体任务;最后进行通用强化学习阶段,以实现类人风格的对齐。通过利用在策略内跨阶段蒸馏作为最终的优化步骤,GLM-5 有效地缓解能力退化,同时充分利用每个训练阶段的性能提升。

监督微调

与 GLM-4.5 相比,GLM-5 在 SFT 阶段显著扩展智体和编码数据的规模。GLM-5 的 SFT 语料库涵盖三大类:
• 通用聊天:问答、写作、角色扮演、翻译、多轮对话和长上下文交互;
• 推理:数学、编程和科学推理;
• 编码与智体:前端和后端工程代码、工具调用、编码智体、搜索智体和通用智体。

此外,GLM-5 在 SFT 期间将最大上下文长度扩展至 202,752 个tokens。该模型除了更新聊天模板外,还支持三种不同的思维特征(如图所示),包括:
请添加图片描述

• 交错式思维:模型在每次响应和工具调用之前都会进行思考,从而提高指令遵循能力和生成质量。
• 保留式思维:在编码智体场景中,模型会自动保留多轮对话中的所有思维模块,重用现有推理,而不是从头开始重新推导。这减少了信息丢失和不一致性,非常适合长期、复杂的任务。
• episode-级思考:该模型支持对会话内每个episode的推理进行控制——对于轻量级请求禁用思考功能以降低延迟/成本,对于复杂任务启用思考功能以提高准确性和稳定性。

通过在行动之间进行思考并保持episode间的一致性,GLM-5 在复杂任务中实现了更稳定、更可控的行为。

对于通用聊天,优化响应风格,使其比 GLM-4.5 更符合逻辑且更简洁。对于角色扮演任务,收集并构建一个涵盖多种语言和角色配置的更广泛、更多样化的数据集。具体而言,定义几个评估维度——包括指令遵循、语言表达能力、创造性、逻辑连贯性和长对话一致性——并应用自动和人工筛选来整理和优化数据。

对于推理任务,进一步增强模型推理的深度。具体来说,对于逻辑推理,构建可验证的问题,并使用拒绝抽样法合成高质量数据。对于数学和科学问题,采用基于难度的过滤方法,仅保留对 GLM-4.7 模型具有挑战性的问题。

对于编码和智体任务,与 GLM-4.5 相比,GLM-5 构建大量的执行环境以获得高质量的轨迹,尤其注重真实场景和长周期任务。进一步利用专家强化学习和拒绝采样改进 SFT 数据集。轨迹中的错误片段被保留,但在损失函数中被屏蔽,从而使模型能够在不强化错误行为的情况下学习纠错行为。

推理强化学习

强化学习算法骨干。强化学习算法基于GRPO[40],并融合IcePop技术[61],以缓解训练-推理不匹配问题,即强化学习优化过程中推理分布与训练分布之间的差异。明确区分用于梯度更新的训练策略πtrain和用于轨迹采样的推理策略πinfer。与原始IcePop公式相比,移除KL正则化项以加速强化学习的改进。

DSA 强化学习洞察。对基于 DSA 架构的模型进行大规模强化学习训练。与 MLA 相比,DSA 引入一个额外的索引器,用于检索前 k 个最相关的KV对,并在检索的子集上稀疏地计算注意。检索的前 k 个结果对于强化学习的稳定性至关重要。这类似于 MoE 模型如何使用路由重放 [62] 来保留激活的前 k 个专家,以确保训练和推理的一致性。然而,在每个 token 位置存储索引器的前 k 个索引显然是不切实际的,因为索引器使用的 k = 2048 远大于 MoE 中通常使用的 k 值,存储所有这些索引将产生巨大的存储成本以及训练引擎和推理引擎之间显著的通信开销。

采用确定性的前 k 个结果算子可以有效地解决这个问题。与 SGLang 的 DSA Indexer 中使用的基于 CUDA 非确定性 top-k 实现相比,直接使用简单的 torch.topk 虽然速度稍慢,但却是确定性的。它能产生更一致的输出,并带来显著的强化学习 (RL) 收益。相比之下,其他非确定性 top-k 算子(例如 CUDA 或 TileLang 实现)在强化学习过程中仅经过几步后就会导致性能急剧下降,同时熵值也会急剧下降。因此,在本文强化学习阶段,将 torch.topk 作为训练引擎中 DSA Indexer 的默认 top-k 算子。此外,在强化学习期间默认冻结索引器参数,以加速训练并防止索引器中出现不稳定的学习。

混合域推理强化学习。在推理强化学习阶段,对四个领域进行混合强化学习训练:数学、科学、代码和工具集成推理 (TIR)。对于数学和科学领域,从两个开源数据集 [10; 30] 并与外部标注供应商共同开发题集。进一步应用难度过滤,将训练重点放在 GLM-4.7 极少能正确解决或总是失败的问题上,而这些问题仍然可以被更强大的教师模型(例如 GPT-5.2 xhigh 和 Gemini 3 Pro Preview)解决。对于代码,涵盖竞赛编程风格的任务和科学编程任务。前者主要来自 Codeforces 和代表性数据集,例如 TACO [23] 和 SYNTHETIC-2-RL [35],而后者则通过将问题分解为正确解决方案所需的最小代码实现,从内部题库构建而成。对于 TIR,重用数学和科学强化学习数据中更具挑战性的子集,此外还与标注供应商共同构建专门设计用于使用外部工具回答的 STEM 问题。在强化学习训练期间,分配特定领域和来源的评判模型或评估系统,以产生二元结果奖励。保持四个域之间的整体混合大致平衡,并在混合强化学习设置下,在每个域持续观察到稳定和显著的收益。

智体强化学习

为了提升 GLM-5 的智体性能,开发一个全异步且解耦的强化学习框架,并针对编码和搜索的智体任务优化 GLM-5。传统的同步强化学习在长时域智体部署过程中会面临严重的 GPU 空闲问题。通过中央多任务展开编排器 (Multi-Task Rollout Orchestrator) 将推理引擎和训练引擎解耦,实现跨多种智体工作负载的高吞吐量联合训练。

为了在异步离策略条件下保持训练稳定性,引入了两种关键机制。首先,引入 Token-in-Token-out (TITO) 网关,通过保留精确的动作级对应关系来消除重新token化不匹配的问题。其次,采用一种直接双边重要性采样 (Direct Double-sided Importance Sampling),该采样对部署的对数概率应用token-级裁剪机制 ([1−ε_l, 1+ε_h]),从而在不跟踪历史策略检查点的情况下有效地控制离策略偏差。还采用一种动态规划感知路由,以在长上下文推理期间最大化大规模 MoE 模型的KV缓存重用,从而加速模型运行。为了扩展智体环境,在三个领域扩展可验证的训练环境:超过 1 万个真实世界的软件工程 (SWE) 任务、终端任务和高难度多跳搜索任务。

通用强化学习

多维优化目标。将通用强化学习的优化目标分解为三个互补的维度:基础正确性、情商(EI)和任务特定质量。

基础正确性维度,是响应质量的基石。它针对各种影响模型输出可用性的错误类型,包括指令执行失败、逻辑不一致、事实错误、知识幻觉和语言不流畅。目标是最小化错误率,使响应达到可用的基线水平。这是所有后续优化的前提:包含事实错误或误解用户意图的回复,无论其表面看起来多么完美,都会误导用户。

情商(EI)维度,在核心正确性之外,进一步优化用户体验。它旨在生成富有同理心、洞察力强且风格接近自然人际沟通的回复,使用户与模型的互动更加自然流畅、引人入胜。

任务特定质量维度,针对各种特定任务进行精细化优化。在基础正确性所建立的可用性基础上,它旨在将每个任务类别中的回复从仅仅正确提升到真正的高质量。该维度涵盖广泛的任务,包括写作、文本处理、主观和客观问答、角色扮演和翻译。每个任务领域都需要不同的奖励信号,因此需要一个混合奖励系统。

混合奖励系统。为了监督上述多样化的目标,构建一个混合奖励系统,该系统整合三种互补的奖励信号:基于规则的奖励函数、结果奖励模型(ORM)和生成奖励模型(GRM)。每种奖励信号都有其独特的优势和劣势,而它们的结合是实现稳定、高效且可扩展的通用强化学习(RL)训练过程的关键。

基于规则的奖励提供精确且易于解释的信号,但仅限于可以用确定性规则表达的方面。ORM 提供低方差的信号和较高的训练效率,但更容易受到奖励操纵,即策略利用表面模式而非真正提升核心能力。GRM 利用语言模型生成标量或结构化的评估,对这种操纵更具鲁棒性,但往往表现出更高的方差。通过融合这三种信号类型,获得一个平衡精确性、效率和鲁棒性的奖励系统,从而弥补任何单一组件的不足。

人机协同训练。通用强化学习流程的一个显著特点是明确地融入高质量的人工撰写回复。并非仅仅依赖模型生成的回复,而是引入专家撰写的回复作为风格和质量的参考标准。这是基于这样的观察:纯粹由模型生成的优化往往会趋向于明显的“模型式”模式——通常冗长、公式化,或者缺乏熟练人类写作的细微差别。通过让模型接触人工撰写的范例,鼓励它采用更自然、更符合人类习惯的回复模式。

跨阶段策略蒸馏

在多阶段强化学习流程中,针对不同目标进行顺序优化会导致先前习得能力的累积退化。为了缓解这个问题,在最后阶段执行跨阶段策略蒸馏,采用策略蒸馏算法[14; 52; 51; 28]来快速恢复在早期SFT和强化学习阶段(推理强化学习和通用强化学习)中获得的技能。具体来说,前几个训练阶段的最终检查点作为教师模型,训练提示从相应的教师模型的强化学习训练集中采样,并按适当比例混合。

强化学习训练基础设施:slime 框架

继续使用 slime (https://github.com/THUDM/slime)作为 GLM-5 的统一后训练基础设施,从而实现大规模端到端强化学习 (RL)。GLM-5 没有引入新的系统组件,而是充分利用 slime 的各项功能,以实现以下目标:(1) 通过自由形式的部署定制和基于服务器的执行模型扩展任务覆盖范围;(2) 通过混合精度训练/部署以及 MTP 和预填充解码 (PD) 分解显著提高吞吐量——尤其适用于多轮强化学习工作负载;(3) 通过心跳(heartbeat)-驱动的部署容错和路由器级服务器生命周期管理提高鲁棒性。


本文描述从“vibe编码”(人工提示)到智体工程的转变。在vibe编码中,人类提示人工智能模型编写代码。而在智体工程中,人工智能体自行编写代码。它们进行规划、实现和迭代。为了支持这些长期任务,GLM-5 采用完全异步和解耦的强化学习框架,通过减少智体部署期间的空闲时间,显著提升 GPU 利用率。为了扩展智体环境,开发环境构建流水线。对于编码任务,创建超过 10,000 个可验证的训练场景,模拟真实世界的软件工程问题和最终任务。对于搜索智体,开发一个自动且可扩展的复杂多步骤推理数据合成流水线,用于构建智体训练数据。

面向智体任务的异步强化学习

为了进行面向智体任务的强化学习,设计一个完全异步且解耦的强化学习基础设施,该基础设施能够高效地处理长周期智体部署,并支持跨多种智体框架的灵活多任务强化学习训练。

采用分组策略优化算法进行强化学习训练。对于每个问题 x,从前一个策略 π_old 中采样 K 个智体轨迹 {y_1, …, y_K},并从目标函数的优化得到当前模型 π_θ。

智体的环境扩展

为了支持在各种智体任务中进行强化学习,构建可验证、可执行的环境,为以代码为中心和以内容生成为中心的工作流程提供基于实际情况的反馈。对于智体编码任务,开发两个环境构建流程,用于构建可验证的可执行环境:一个是基于真实软件工程问题构建的环境设置流程,另一个是用于终端智体环境的合成流程。除了编码之外,还引入了一个幻灯片生成环境,在该环境中,智体可以对结构化的 HTML 进行操作,并进行可执行的渲染和基于布局的验证。


由于硬件生态系统的异构性,将 GLM-5 模型适配到中国各种不同的芯片基础设施面临着巨大的挑战,这往往会使高性能部署变得复杂。尽管存在这些障碍,通过与包括华为昇腾、Moore Threads、海光、寒武纪、昆仑鑫、MetaX 和 Enflame 在内的七个中国主流芯片平台的紧密合作,成功实现 GLM-5 的全栈适配。以下以昇腾 Atlas 系列为例,展示适配方法,重点关注三个核心支柱:极致量化、高性能内核融合和先进的推理引擎调度。

混合精度 W4A8 量化。为了将 750 亿参数的 GLM-5 模型适配到单台 Atlas 800T A3 机器上,实现一种复杂的 W4A8 混合精度量化策略。利用 msModelSlim 7 工具,对不同的模型组件应用特定的精度:标准注意机制和 MLP 模块使用 W8A8 (INT8) 精度,而 MoE 专家则被压缩到 W4A8 (INT4) 精度,从而在不显著降低精度的情况下大幅减少内存占用。为了在低比特部署中保持稳定性,采用 QuaRot [2] 等高级算法进行异常值抑制,以及 Flex_AWQ_SSZ 等尺度化标定算法。

高性能融合内核。为了克服 Ascend NPU 上稀疏注意机制的计算瓶颈,开发一套定制的融合内核:Lightning Indexer、Sparse Flash Attention 和 MLAPO(多头潜注意预处理优化)。Lightning Indexer 将分数计算、ReLU 激活函数和 TopK 操作集成到一个内核中,使 NPU 能够将计算与内存访问重叠。对于 Sparse Flash Attention 内核,专门针对 GLM-5 的稀疏模式进行优化。该内核并行处理从KV缓存中选择 Top-K tokens以及稀疏注意计算。最后,MLAPO 将 13 个小型预处理算子融合为一个“超级算子”,利用 Vector 和 Cube 单元之间的并行处理来提升端到端效率。

专门的推理引擎优化。采用两种领先的推理引擎,即 vLLM-Ascend 和 SGLang,以最大限度地利用硬件:
• 异步调度:在 vLLM 中,实现一种机制,将“设备-到-主机”(D2H)采样副本与下一个解码步骤的准备工作重叠,从而有效地消除调度“气泡”。
• 上下文管理:RadixCache(前缀共享)和 Prefix Cache(将KV存储扩展到系统 RAM)等特性可以高效地重用KV条目(entries),这对于长上下文性能至关重要。
• 并行策略:采用一种混合方法,结合注意数据并行(DP)和MoE专家并行(EP),并利用FlashComm将AllReduce操作拆分,从而将通信延迟隐藏在计算背后。
• 多token预测(MTP):通过在每个推理步骤中生成多个tokens,显著提高NPU的计算密度,并缩短序列生成总时间。
通过这些硬件级的协同优化,GLM-5在单个中国节点上实现与双GPU国际集群相当的性能,同时在长序列场景下将部署成本降低50%。

Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐