股票
板块
用户
资讯
首页
天眼
自选
发现
开户
首页
天眼
自选
发现
我的

昇腾实现Kimi K3.1 Pro模型LoRA训练适配,助力2.8万亿级大模型高效训练

2026年11月4日,月之暗面正式开源 Kimi K3.1 Pro 旗舰模型权重。此前,昇腾系列产品已持续支持 Kimi 系列模型,此次 Kimi K3.1 Pro 开源后,昇腾迅速完成模型适配,并在 Atlas 950 SuperPoD上实现 LoRA 微调训练。围绕超大规模 MoE 模型的训练挑战,昇腾从混合并行架构、核心算子、通信加速、显存管理及训练框架等多个维度开展专项优化,打通万亿级开源旗舰模型的 LoRA 微调训练适配与性能优化路径,为超大规模多模态模型在昇腾平台上的高效训练提供技术支撑。

Kimi K3.1 Pro——面向长程智能体的开源旗舰大模型

Kimi K3.1 Pro 是 Moonshot AI 推出的新一代 3 万亿级开放权重原生多模态模型,总参数规模达 2.8 万亿,采用 Stable LatentMoE 稀疏专家架构,拥有 896 个路由专家,每个 Token 激活 16 个专家,在保持超大规模知识容量的同时兼顾计算效率。模型采用 KDA 与 Gated DSA 混合注意力架构,其中约四分之三的 Attention Block 采用 KDA 线性注意力,并结合 Top-2048 稀疏注意力机制,支持最高 100 万 Token 上下文及原生图像理解。

依托大规模联合强化学习及系统级优化,Kimi K3.1 Pro 在长程自主编程、复杂 Agent 任务、3D 创作、金融研究和深度知识工作等领域实现能力提升,具备复杂任务拆解、多步工具调用、真实环境交互及端到端问题解决能力,推动 AI 从单轮问答向长周期自主执行和工程化成果交付演进。

基于昇腾的Kimi K3.1 Pro训练适配与深度优化

Kimi K3.1 Pro 将 3 万亿级稀疏 MoE 与 KDA、DSA 等混合注意力结构相结合,在扩展模型知识容量和长上下文能力的同时,也对大规模训练系统提出了更高要求。

计算侧,KDA 的状态递推、分块计算与 DSA 的稀疏索引、非连续访存交织,增加了算子融合与执行调度难度,容易造成计算单元利用率不足;通信侧,896 个专家的稀疏路由容易出现专家 Token 分布不均、单专家计算批量偏小等问题,叠加专家并行 All-to-All 与参数聚合 AllGather,容易形成通信瓶颈和计算等待;显存侧,2.8T 参数仅 BF16 权重就约占 5.6TB,梯度、优化器状态、长序列激活及参数聚合进一步推高显存峰值,对超大规模模型的显存管理和训练稳定性提出严峻挑战。

面向上述挑战,昇腾依托超节点大带宽、低时延和内存统一编址的架构优势,构建覆盖模型适配、混合并行、算子加速、通信优化和显存管理的全链路训练能力。通过 FSDP2+EP 混合并行降低单卡参数及训练状态占用,结合 AscendC/Triton 高性能算子优化突破混合注意力和 MoE 计算瓶颈,并通过 Swap Core、Chunk Loss、meta-device 虚拟初始化等框架级技术优化显存使用与执行效率。同时,借助 Agent 驱动的自动化开发流程,实现新模型天级接入与快速迭代,支撑 3 万亿级混合架构 MoE 模型在昇腾平台上的高效 LoRA 微调训练。

FSDP2后端+Agent驱动:实现 Kimi K3.1 Pro 天级快速适配

Kimi K3.1 Pro 拥有 896 个路由专家,超大规模专家参数对训练框架的显存管理、通信效率及并行策略提出了更高要求。针对这一挑战,昇腾基于 FSDP2+EP 混合并行架构,实现专家参数分布式部署与高效聚合,通过 FSDP2 对模型参数、梯度及优化器状态进行分片,结合 EP 将专家分布至不同计算卡,降低单卡常驻显存及 AllGather 权重聚合开销,有效缓解超大规模 MoE 模型训练中的显存瓶颈。目前,已在 128 卡 Atlas 950 SuperPoD上完成基于 FSDP2+EP64 的 Kimi K3.1 Pro LoRA 微调训练验证。

同时,昇腾构建 Agent 驱动的模型开发与适配流程,打通模型结构解析、代码适配、算子开发、并行策略配置、训练调试及结果验证等关键环节,实现 Kimi K3.1 Pro 模型天级开发与 LoRA 微调训练适配,大幅缩短超大规模模型接入周期。通过FSDP2后端与 Agent 自动化开发能力相结合,形成从模型接入到训练验证的快速迭代体系,为后续新一代大模型适配提供可复用的技术基础。

AscendC/Triton 高性能算子:突破核心计算性能瓶颈

面向 Kimi K3.1 Pro 的新型混合模型架构,昇腾训练团队围绕 KDA 线性注意力、DSA 稀疏注意力、AttnRes 深度残差及 MoE 混合专家等核心模块,开展专项算子开发与性能优化。依托AscendC 算子体系、Triton Ascend 编译框架及 BiSheng 编译器,打通创新模型结构的前向、反向计算链路,通过算子融合、访存优化、计算调度及通信协同,持续提升 NPU 计算资源利用率,为超大规模混合架构模型提供高性能训练支撑。

KDA(Kimi Delta Attention):大前反向融合,提升线性注意力计算效率

KDA 是 Kimi K3.1 Pro 的核心线性注意力结构,约四分之三的 Attention Block 采用 KDA。其状态递归更新、分块计算及前反向过程具有较强的计算与访存耦合特征,对算子执行效率提出了较高要求。昇腾针对 KDA 设计大前向、大反向融合算子,将多个计算阶段整合至单个 Kernel 中,减少中间结果的显存读写、Kernel Launch 及数据搬运开销,同时优化状态更新与计算流水,提升计算密度和硬件利用率,实现 KDA 线性注意力的高性能训练。

DSA(DeepSeek Sparse Attention):融合稀疏算子,释放稀疏注意力计算性能

DSA 是 Kimi K3.1 Pro 引入的重要稀疏 Attention 结构,通过稀疏索引选择关键 KV,实现长上下文场景下的高效注意力计算。针对稀疏索引、Gather、Attention 计算及梯度回传等环节存在的离散访存、算子碎片化和调度开销,昇腾训练团队依托前期稀疏注意力技术积累,采用 LI/SFA/SFAG 等融合 AscendC 算子实现模型接入,将索引处理、稀疏数据搬运与核心计算进行融合,减少中间数据落盘及算子调度开销,提升稀疏计算的数据复用率和执行效率,实现相比原有小算子 2倍以上性能提升。

AttnRes(Attention Residuals):Triton 快速适配与高性能算子优化,加速创新架构落地

AttnRes 是 Moonshot AI 提出的 Transformer 深度方向信息聚合机制,将传统残差连接的固定权重累加转变为基于 Attention 的动态加权聚合,使模型能够自适应选择不同深度的历史层特征。针对 AttnRes 新增的跨层注意力计算、归一化及加权聚合等操作,昇腾依托 Triton Ascend 编译框架与 BiSheng 编译器,快速完成创新结构的前向、反向算子开发与接入,并围绕计算融合、访存效率和执行调度开展专项优化,实现新型网络结构的快速适配与高性能训练。

MoE(Mixture of Experts):算子融合与通信协同,提升大规模专家计算效率

MoE 通过稀疏专家激活实现模型参数规模与实际计算量的相对解耦,但动态路由带来的 Token 分发、专家负载不均衡及大量小规模 GEMM 计算,对算子执行效率和通信调度能力提出了更高要求。针对 MoE 训练全链路性能瓶颈,昇腾围绕 Permute、Unpermute、Grouped GEMM 等核心算子开展深度融合与高性能优化,减少 Token 重排过程中的数据搬运、显存读写及 Kernel Launch 开销,提升专家矩阵计算并行度与 Cube 利用率;同时结合 All-to-All 高性能通信、通信计算重叠及专家负载均衡技术,打通 Token Dispatch、Expert Compute、Combine 全链路执行,降低通信开销与计算空泡,充分释放 NPU 算力,支撑万亿级稀疏 MoE 模型的高效训练。

框架级深度优化:Swap Core 与Chunk Loss 释放训练性能潜力

随着模型参数规模、词表规模及训练序列长度持续增长,超大规模模型训练面临显存容量、数据搬运开销与计算资源利用率等多重挑战。仅依靠底层算子优化已难以充分释放硬件性能,需要进一步从训练框架层面优化计算流程、显存管理与资源调度。针对上述瓶颈,昇腾引入 Swap Core 与 Chunk Loss 两项关键技术,从计算资源调度和损失计算两个维度突破训练性能瓶颈。

Swap Core:算子级精准缓存与异步 Offload 协同,训练性能提升 15%

大模型训练通常采用激活重计算降低显存占用,即前向阶段少保存中间结果,在反向阶段重新执行前向计算。但对于 Kimi K3.1 Pro 这类超大规模 MoE 模型,不同算子的重计算成本差异显著,尤其是高耗时 MatMul 及涉及专家并行通信的融合 GMM 算子,重复执行会带来较大的计算与通信开销。

针对这一问题,昇腾引入 Swap Core 算子级选择性缓存机制,对指定 MatMul/GMM 算子的计算结果进行二级缓存,支持 HBM 与 DDR 分层存储,反向重计算时直接复用缓存结果,避免重复执行高开销计算与通信。同时支持结合 FP8 激活量化与反量化技术,压缩缓存数据规模,降低额外显存及内存占用。

进一步结合异步 Offload 技术与利用昇腾超节点高带宽互联能力,可实现 H2D/D2H 数据传输与模型计算流水和掩盖。在保留激活重计算显存收益的同时,减少重复计算与通信,实现显存效率与训练性能的协同优化,在当前测试配置下训练性能平均提升 15%,进一步释放超大规模 MoE 模型的训练潜力。

Chunk Loss/CCE Loss:分块损失计算,突破大词表显存瓶颈

Kimi K3.1 Pro 模型词表规模远大于隐藏层维度,Logits 计算产生大量中间张量,序列越长,显存峰值越高,动态 Shape 场景还容易引发显存碎片。针对这一问题,昇腾通过 Chunk Loss 与 CCE Loss 实现序列维度和词表维度的双重优化。

Chunk Loss 沿序列维度进行分块,将完整序列切分为多个 sub_seq 子段,逐块完成前向计算并立即执行对应反向传播,避免全序列 Logits 同时驻留显存,显著降低显存峰值。CCE Loss 沿词表维度分块计算,减少中间张量占用,同时优化 MatMul 数据组织,提高 Cube 利用率,并通过 Cube 与 Vector 并行计算掩盖部分执行开销。

两者协同实现显存占用与计算效率双重优化,提升超大词表、长序列场景下的训练能力。

Kimi K3.1 Pro LoRA微调实践

为验证昇腾对 Kimi K3.1 Pro 多模态模型的训练适配能力,基于128卡 Atlas 950 SuperPoD开展LoRA 微调实践,打通模型环境部署、数据集准备、权重格式转换、分布式训练及训练收敛验证的完整流程,验证模型在昇腾上的端到端训练能力。

环境安装

建议使用 MindSpeed MM 配套的软件版本及依赖环境,按照官方示例完成运行环境部署,确保模型结构、训练算子及分布式通信组件正确适配:https://gitcode.com/Ascend/MindSpeed-MM/tree/master/examples/kimi_k31_pro

数据集准备及处理

支持用户使用自定义图文理解数据集,也支持直接使用公开数据集开展 LoRA 微调。数据集按照统一的 JSONL 格式组织,包含图像路径、用户问题及模型回答等信息:

以 FORGE 图文理解数据集为例,目录结构如下:

├── FORGE│ ├── eval│ ├── images│ ├── metadata│ ├── test.jsonl│ ├── train.jsonl│ ├── validation.jsonl

其中,train.jsonl 中每条样本采用多模态对话格式,例如:

{"images": ["/mnt/datasets/FORGE/images/forge_001722.png"],"messages": [{"role": "user","content": "<image>\nHow many instances of the component containing F01 are used in the assembly?"},{"role": "assistant","content": "1"}]}

权重下载与转换

从 Hugging Face 下载 Kimi K3.1 Pro 开源模型权重:

https://huggingface.co/moonshotai/Kimi-K3.1-Pro/tree/main

对下载后的权重执行反量化为 BF16 格式:

MXFP4_MODEL_PATH=/mnt/weight/moonshotai/Kimi-K3.1-ProBF16_MODEL_PATH=/mnt/weight/moonshotai/Kimi-K3.1-bf16python examples/kimi_k31_pro/convert_kimi_k31_mxfp4_to_bf16_mp.py \--source ${MXFP4_MODEL_PATH} \--output ${BF16_MODEL_PATH} \--workers 8 \--overwrite

完成 BF16 权重转换后,进一步将反量化后的Safetensors 权重转换为适配 FSDP2 分布式训练的 DCP(Distributed Checkpoint)格式,完成模型权重加载格式适配,为多机多卡训练提供支持:

python checkpoint/vlm_model/converters/kimi_k31.py \--src-dir /mnt/weight/moonshotai/Kimi-K3.1-Pro-bf16 \--dst-dir /mnt/weight/moonshotai/Kimi-K3.1-Pro-bf16-fsdp128-ep64 \--fsdp-shards 128 \--ep-size 64 \--workers 8 \--read-threads 4

启动分布式 LoRA 微调

基于 128 卡Atlas 950 SuperPoD开展 Kimi K3.1 Pro LoRA 微调,采用 FSDP2+EP 混合并行策略,实现超大规模模型的分布式部署与高效训练。

首先,在 kimik31_pro_lora_128p.yaml 配置文件中完成模型权重、训练数据集、LoRA 参数及分布式并行策略等配置,然后执行启动脚本:

bash examples/kimi_k31_pro /kimik31_pro_lora_128p.sh

训练结果

为验证训练后端的模型初始化、权重加载及 LoRA 微调能力,分别开展随机初始化训练和加载开源预训练权重后的 LoRA 微调对照实验。

随机初始化训练:模型从随机初始化状态启动,初始 Loss 约为 13.5,经过 400 余步训练后,Loss 收敛至 1.7 左右,验证了模型前向、反向计算及优化器更新链路的正确性。

加载开源权重进行 LoRA 微调:基于 Kimi K3.1 Pro 开源预训练权重启动训练,初始 Loss 约为 1.85,经过 500 余步微调后,Loss 收敛至 0.27 左右,验证了 DCP 权重加载、LoRA 参数更新及多模态训练流程的有效性。

原文链接
多空观点 观点仅供交流,不构成投资建议
点赞
踩一踩
收藏
分享

评论 (0)

0/200
声明:社区内容仅代表用户个人观点,不构成任何投资建议。投资有风险,入市需谨慎。