6月5日,深圳河套学院AI训练平台项目团队联合哈尔滨工业大学(深圳)、深圳市大数据研究院、华为有关团队,并协同深智城AI算力平台,依托昇腾910C国产AI算力集群,完成了1.6万亿参数DeepSeek-V4-Pro大模型的全参数后训练。公开报道中还提到,训练稳定运行超过1500步,算子效率提升14%。
这件事很重要。它说明昇腾910C已经能支撑万亿参数级模型训练,不再只是“能不能用”的讨论。证券时报援引21世纪经济报道的文章也提到,6月20日华为开发者大会上,华为云计算CEO张平安宣布新一代昇腾AI云服务全面上线,为大模型应用提供算力支持。
但开发者真正关心的,往往不是发布会上的集群规模,而是自己的项目能不能迁过去。尤其是已有CUDA代码、PyTorch依赖和NVIDIA部署经验的团队,迁到CANN之后,问题会落在很细的地方:某个算子不支持,某段显存分配策略失效,Profiler看不出瓶颈在哪。
下面这次迁移,选的是一个常见场景:基于vLLM架构的本地化LLM推理项目,从NVIDIA A800迁到华为昇腾910C。它不代表所有项目,但能说明很多团队会遇到的“最后一公里”。
第一处卡点:算子报错来得很早
在NVIDIA环境里,很多团队已经习惯了pip install vllm之后继续往下调。到了昇腾910C,第一步就要面对CANN,也就是Compute Architecture for Neural Networks工具链。
这次迁移中,主流Transformer结构相关的算子基本能找到对应支持,但一些小众算子、自定义Layer Normalization变体,会在编译推理引擎时抛出Operator not supported。这类错误不一定意味着数学逻辑不能算,更多时候是算子库没有覆盖到具体写法。
处理方式并不优雅。要么等CANN后续版本补支持,要么改源码,把不支持的算子拆成昇腾能识别的等效组合。问题在于,推理任务对延迟敏感,算子替换一旦不够贴近原生实现,吞吐和响应时间都会受影响。
这和训练框架适配还不太一样。训练时有些低效还能靠批量和时间摊掉,推理服务面对的是请求队列和用户等待时间。一个Attention相关算子慢下来,线上感知会很直接。
显存不是照搬参数就能管住
A800上已经跑顺的显存配置,迁到昇腾910C后不能默认照抄。
在测试中,项目尝试加载一个70B参数的量化模型,初期直接触发OOM。第一反应是驱动版本问题,于是升级到2026年的CANN驱动版本,但错误仍然存在。
继续排查后,问题指向内存池预分配策略。CUDA环境里,开发者常用--gpu-memory-utilization这类参数去控制显存占用;到了MindSpore或AscendCL相关接口,这部分能力被封装得更深,调节路径没有那么直观。
最后的处理办法比较工程化:加入自定义内存碎片整理脚本,同时调整推理时的Batch Size调度策略,才把完整流程跑通。
这一步也给出了一组值得谨慎看待的实测结果:同等精度下,昇腾910C峰值吞吐量约为A800的85%;但在长序列推理场景,也就是Context Length大于32k时,受Attention算子在NPU上的并行度限制,延迟增加约30%。
所以,迁移前要先看业务类型。如果主要是短文本问答、内部知识库检索增强,风险相对可控;如果产品重度依赖超长上下文、多轮长会话或代码仓库级分析,直接切换可能会影响用户体验。
真正拖时间的是调试
能跑起来只是第一步。跑得慢、偶发失败、显存波动,才是迁移里最耗人的部分。
CUDA体系里,Nsight Systems和Nsight Compute已经是很多工程师的日常工具。它们能把kernel执行、数据搬运、显存占用拆得很细。昇腾侧也有Ascend Profiler等工具,但在这次迁移中,文档颗粒度和社区可检索经验仍然不够。
性能瓶颈出现时,工程师经常要去翻底层C++日志,判断到底是数据搬运慢、计算单元阻塞,还是某个算子 fallback 后拖慢了整条链路。
一位参与迁移的工程师说得很直接:“在NVIDIA上,我知道问题在哪一行代码;在昇腾上,我有时不知道该改代码,还是等Driver修复。”
这句话并不是否定昇腾910C。它指出的是开发者体验里的具体缺口:工具链成熟度,不只看功能列表,还看报错能不能定位、文档能不能对上版本、社区里有没有人踩过同一个坑。
迁移策略要小步走
从公开进展看,昇腾910C已经有了更硬的样本。1.6万亿参数DeepSeek-V4-Pro全参数后训练跑通,说明它可以支撑高强度训练任务;控制网等报道还提到,华为昇腾910C AI芯片计划在2025年5月开启大规模供货。
但落到开发团队,最好不要一上来就把核心线上负载整体迁过去。更稳的做法是先拆项目:把业务逻辑和算力敏感部分解耦,优先用昇腾原生库处理关键算子,Python层保留更多业务编排;再选一个非核心、对延迟不敏感的推理任务做PoC。
如果PoC能在昇腾910C上稳定运行,再逐步扩大任务范围。尤其要重点观察三件事:算子覆盖是否需要改源码,长上下文推理延迟是否可接受,Profiler和日志能否支撑线上排障。
国产算力的进展已经不只停在概念层面。开发者要面对的现实也很清楚:集群能跑通,不等于项目能无痛迁移。CUDA到CANN这段路,最难的不是改一两个API,而是把过去默认成立的工程经验重新验证一遍。