跳到主要内容

国产化替代迁移清单:从 CUDA 迁到昇腾/寒武纪/海光要做什么

· 阅读需 4 分钟
Industry Research Team

国产化替代最常见的失败模式不是"卡买不到",而是"代码跑不动、精度对不齐、性能差五倍"。迁移本质是一个软件工程问题,用清单化的方式管理,成功率会高得多。

一、三条生态路线先分清​

昇腾(CANN 加 torch_npu):生态最完整的国产路线。PyTorch 官方支持度较好,主流模型(LLaMA、Qwen、DeepSeek 系列)的适配案例最多,社区踩坑记录丰富。硬件侧 Atlas 800T A2(8 卡 910B)训练机约 75 万至 200 万元区间,910C 8 卡服务器渠道价约 110 万至 120 万元,推理侧 Atlas 300I Duo 单卡约 2 万至 4 万元。

寒武纪(Neuware):训练卡 MLU 系列、推理卡加边缘盒子的组合,推理场景渗透率提升明显,国产推理卡渠道价已进入 3 万至 5 万元区间。

海光(DTK,ROCm 系):DTK 从 ROCm 分支演化,对 CUDA 代码的兼容性是三条路线中相对友好的,GPGPU 架构使通用算子迁移成本较低,适合已有大量自定义 CUDA 算子的团队。

二、六阶段迁移清单​

阶段工作内容典型工作量常见坑
1. 资产盘点扫描代码中的自定义 CUDA 算子、专有库依赖(NCCL、TensorRT、FlashAttention)1 至 2 周低估第三方闭源库依赖
2. 环境搭建驱动、固件、CANN 或对应 SDK、框架版本对齐1 至 2 周版本矩阵组合错误,驱动与 SDK 不匹配
3. 框架适配安装 torch_npu 或对应插件,跑通开源模型 baseline2 至 4 周依赖库里隐藏的 CUDA 专属调用
4. 自定义算子迁移用等价 API 重写或请求原厂支持2 至 8 周,取决于算子数量算子性能回退数倍,需原厂深度调优
5. 精度对齐FP16 或 BF16 下逐层对比 loss 与输出1 至 3 周舍入差异累积导致 loss 曲线发散
6. 性能调优与压测通信库替换、算子融合、混合精度策略2 至 6 周集群线性加速比不达标,多因网络配置

整体而言,一个"标准开源模型加常规训练脚本"的项目迁移到昇腾,顺利情况下约 6 至 10 周;有大量自定义算子和闭源依赖的项目,周期可能拉长到半年,且强依赖原厂驻场支持——签约时务必把驻场支持写进合同。

三、最容易翻车的五个环节​

1. NCCL 依赖。 分布式训练脚本里的 NCCL 调用要替换为昇腾 HCCL 或对应通信库,超参与拓扑配置需要重新调试,多机通信效率是国产集群性能差距的最大来源。

2. 量化推理工具链。 从 TensorRT 到昇腾 MindIE 或各家的量化工具,量化校准数据集和精度评估都要重做,生产环境的精度回归测试不可省略。

3. 生态外围工具。 DeepSpeed、vLLM、Transformer Engine 等常用库在国产平台上的版本支持滞后,很多团队卡在"模型能跑,加速库不兼容"这一步。

4. 运维体系。 现有监控(DCGM 类工具)、故障诊断、驱动升级流程全部要重建,这部分工作量经常被漏算。

5. 人才储备。 国产平台的调优经验集中在原厂和头部客户,招聘有昇腾或寒武纪实战经验的工程师成本高,提前安排团队参加原厂认证培训更实际。

四、结尾建议​

给准备迁移的团队三条建议:第一,先迁推理、后迁训练——推理负载对生态的依赖更浅,Atlas 300I Duo 这类推理卡性价比高,能用最小代价验证国产路线的可行性;第二,选硬件前先选生态,优先挑你的核心模型已有官方适配案例的平台,能省一半工作量;第三,保留双栈能力,迁移期让 CUDA 与国产平台并行运行至少一个季度,用同一份测试集做持续对比,确认精度与性能达标后再下线旧集群。国产化替代是一场马拉松,清单化管理、分阶段验收,才能避免"买回来跑不起来"的困境。