某头部股份制银行的 AI 机房里,左侧是昇腾 910D 集群,右侧是海光 DCU 阵列。两套设备放在同一个机房,不是为了做展示,而是这家银行在 2026 年上半年信创改造中留下的一种现实选择:训练和推理分开跑。
公开市场环境也给了这类选择一个背景。ZAKER 新闻援引 IDC《2025 年度中国云端 AI 加速器市场报告》称,2025 年中国 AI 加速卡总交付 400 万张,其中国产 165 万张,市占率 41%。华为昇腾交付 81.2 万张,占国产总量 49.2%。EET China 对国产算力平台的梳理中提到,昇腾的特点在于 CANN、MindSpore 等全栈能力和集群能力;海光的特点则是 CPU+DCU 双芯协同,以及 x86 体系下的通用计算兼容性。
放到银行场景里,这些差异会变得很具体。风控模型要频繁训练,交易拦截又要求在线推理尽量低延迟。单押一套硬件,运维简单,但供应、迁移和适配风险都会集中。混部麻烦,却能把不同硬件的长处拆开用。
训练归昇腾,推理交给海光
这家银行最后采用的是“昇腾 910D 专训 + 海光 DCU 专推”。
训练侧放在昇腾 910D 上,主要看中的是 CANN 软件栈和分布式集群能力。风控模型的迭代频率高,训练任务批量大,参数同步频繁,昇腾集群更适合承担这部分压力。
推理侧放在海光 DCU 上,理由更偏工程现实。银行里大量存量系统仍围绕 x86 体系建设,风控规则引擎、特征服务、交易拦截链路都不可能为了新硬件一次性重写。海光 DCU 在 x86 兼容和代码迁移上更顺,适合承接高并发、低延迟的在线推理。
这套分工听起来清楚,真正落地时,第一个麻烦是通信。
两套通信库之间,需要一个翻译层
昇腾侧使用 HCCL,海光侧使用自己的通信库。它们不能像同一套 NVIDIA 集群那样直接依赖 NCCL 打通。项目组为此做了一层中间件,内部称为 Translator-NC。
训练阶段,昇腾节点之间通过 RoCE v2 网络同步梯度。Translator-NC 负责监控链路质量;原稿记录中提到,当丢包率超过 0.1% 时,系统会触发路由切换。
推理阶段,海光 DCU 集群通过 InfiniBand 连接前端网关。Translator-NC 的另一项工作,是把风控系统发来的 HTTP/gRPC 请求转成 DCU 可以处理的张量输入。
更难的是模型更新。训练好的权重需要从昇腾集群同步到海光集群。两边的内存布局和对齐方式不同,直接拷贝会带来精度风险。项目组引入了一个中间格式 BF16-Universal,并在转换过程中加校验层,把浮点运算误差控制在 1e-6 以内。代价也很直接:转换耗时增加了 15%。
这个 15% 很难在汇报材料里显得漂亮,但在银行风控系统里,线上推理准确率比迁移速度更要紧。
算子适配才是最耗人的部分
通信打通之后,算子问题还在。
海光 DCU 对通用计算和迁移比较友好,但金融风控里有不少不那么标准的计算。原稿举了一个例子:图神经网络 GNN 中的非规则采样操作,在海光原生算子库里效率不够理想。
项目组没有等官方库更新,而是基于 LLVM 手写了一组定制算子。优化方向也很明确:银行风控数据稀疏,特征维度高,很多计算不是规则矩阵乘法能完全覆盖的。
昇腾端则利用 MindSpore 的动态图特性,把在线学习引入训练流程,用来适应突发欺诈模式变化。最终形成的是“定制算子 + 动态图”的组合。按照原稿记录,整体推理延迟从最初的 45ms 降到 12ms。
这类优化没有太多戏剧性,更多是逐个算子看耗时、改内存访问、调并行度。金融场景里,1ms 的变化可能就要反复压测很多轮。
显存碎片比预想中更麻烦
混部之后,显存管理也成了问题。
原方案中,昇腾 910D 单卡 64GB HBM,海光 DCU 单卡 32GB HBM。训练任务的内存申请模式相对规律:批量大,周期性释放。推理任务则相反:小包连续进来,瞬时波动明显。
两类负载放在同一套调度体系下,显存碎片很快出现。原稿提到,显存利用率一度长期徘徊在 60% 左右。
项目组后来用 Kubernetes 做显存隔离,在容器级别设置配额,再结合华为 Ascend Boost 和海光 Hygon Soft 提供的碎片整理接口,做“按需分配、定时回收”。每天凌晨 2 点到 4 点,系统会触发一次全量显存清理和重组,把碎片合并成更大的连续内存块。
这项调整后,高峰期显存利用率提升到 85%。按原稿说法,相当于在不增加硬件投入的情况下,多承载了 30% 的业务流量。
这套方案的价值在细节里
昇腾和海光混部,并没有让运维变轻。相反,驱动、网络、任务编排、监控指标都会变复杂。两套硬件、两套软件栈、两套性能问题,任何一个环节出错,都可能被误判成另一个环节的问题。
但这家银行仍然选择了这条路,原因并不难理解。公开资料里,经济观察网在《华为算力“开链”》中提到,国产算力正进入更开放的协同阶段;EET China 对海光的概括则强调 CPU+DCU 双芯协同和 x86 体系覆盖。对金融机构来说,真正要回答的问题不是“选哪一家”,而是“在现有系统里怎么稳定跑起来”。
这套案例最值得看的,也不是“昇腾 910D + 海光 DCU”这个组合本身,而是背后的工程顺序:先切清训练和推理负载,再补通信翻译层,然后处理权重格式、算子适配和显存碎片。
国产算力替代走到金融核心场景,已经很难靠单个硬件指标说服人。能不能上线,取决于这些细小但绕不开的工作:协议能不能转,误差能不能控,算子能不能改,显存能不能稳住。混部方案的成败,大多藏在这里。