国产AI芯片三国杀:华为昇腾、平头哥与寒武纪谁主沉浮? 这几年我经常跟朋友聊国产AI芯片聊到最后大家总会甩出一句反正就是华为吃肉、平头哥喝汤、寒武纪排队。这话糙理不糙基本把国内AI加速芯片的竞争格局说透了。420万颗芯片的年出货量看着像一块不小的蛋糕可真正分蛋糕的几家日子完全不是一个过法。这篇文章我不打算只复述新闻而是想把“饥饿游戏”这四个字拆开来看420万颗芯片到底是谁在买单华为凭什么能吃到大头平头哥的技术底子不差为什么总差一口气寒武纪作为独立玩家又卡在什么位置上。我一直觉得芯片好不好不能只看发布会PPT要看工具链、看部署体验、看客户复购的理由。所以文章里我还会穿插一些真实部署国产AI芯片时会遇到的细节和坑希望能给做AI基础设施、做算法工程或者单纯想搞明白“国产芯片现在到底行不行”的朋友一点实在的参考。1. 420万颗芯片一场每年重开的资格赛1.1 这个量级的盘子是怎么算出来的420万颗这个数字不是某个机构官宣的精确统计更像是把好几份市场报告的估算揉在一起得出来的一个量级。口径一般包含云端训练/推理加速卡、边缘AI推理芯片、智算中心集采的AI模组甚至一部分车规和IoT场景里的NPU。不同机构对“AI芯片”的定义不一样统计出来的数字可能差出两三倍但有一点是共识国产AI芯片的出货量正在快速放大而且大头集中在少数几家手里。真正值得注意的不是总量而是结构。全球AI加速芯片市场一年是数千万片的规模英伟达一家就占了绝大部分而且主要卖的是数据中心级别的GPU。国内这420万颗的盘子里高性能训练卡占比不高大量出货的是推理卡、边缘卡、低功耗NPU这类产品。也就是说国产厂商目前的主要战场不是“造出最强训练卡”而是在推理和边缘场景里先把量跑起来。1.2 为什么说是“饥饿游戏”而不是“百花齐放”AI芯片市场和消费电子不一样它不是一个开放的自由市场更像一个由大客户主导的资格赛。智算中心、运营商、金融机构、互联网大厂每年会有固定的资本开支和集采计划谁能进入这些客户的供应商名单谁就能拿到稳定订单。问题在于这些大额订单是有限的你多拿一片别人就少一片零和博弈的味道非常重。这种格局下三家公司的处境差别就体现出来了。华为是全能选手芯片、框架、整机、集成方案全套自研在To G和To B的大项目里优势巨大平头哥背靠阿里技术不弱但产品更多是围绕阿里云内部需求转动对外声量有限寒武纪是标准的独立芯片公司没有自有云、没有整机品牌、没有集团大客户的内部订单只能一家一家去啃客户。同样是分蛋糕有人是端着盘子上的有人是拿着碗接的还有人是排队等着下一锅的。2. 华为吃肉昇腾靠的不是单卡跑分而是全栈闭环2.1 达芬奇架构和CANN才是昇腾真正的护城河很多人聊昇腾喜欢先比算力。910B的单卡算力确实够看但说实话单卡性能在这个时代已经不是决定性因素了。英伟达的卡够强了吧大家还是得靠CUDA生态吃饭。昇腾真正厉害的地方在于它把英伟达那套“硬件软件栈”的打法学了过来并且做成了自己的闭环。昇腾芯片用的是达芬奇架构核心是一个个Cube计算单元这个设计思路和英伟达的Tensor Core是同一个方向都是为了高效处理矩阵运算。但光有硬件没用还得有人会用。CANN异构计算架构就是昇腾的“CUDA”它提供了算子库、图编译引擎、运行时和开发接口AI工程师写的自定义算子、模型推理程序最终都要落到CANN上执行。坦率地说CANN的成熟度和CUDA还有差距文档、调试工具、社区问答的丰富程度都比不上CUDA生态。但华为的思路很清晰你不需要一开始就全面迁移只要能跑通PyTorch模型就行。早期大家吐槽昇腾“只有MindSpore才能发挥性能”后来华为搞出了torch_npu让PyTorch模型可以直接跑到昇腾NPU上这一步很务实直接拉低了迁移门槛。2.2 真实上手把PyTorch模型跑在昇腾NPU上要几步顺着上面说的torch_npu我实际走了一遍流程大致是这样:先在一台装有昇腾加速卡的服务器上装好驱动和CANN Toolkit然后配置环境变量source /usr/local/Ascend/ascend-toolkit/set_env.sh # 检查NPU状态类似nvidia-smi npu-smi info环境没问题之后创建一个Python环境安装对应版本的PyTorch和torch_npuconda create -n ascend python3.9 -y pip install torch2.1.0 pip install torch_npu2.1.0.post5代码层面几乎没有学习成本把device从cuda改成npu就行import torch import torch_npu device torch.device(npu:0) x torch.randn(4, 4).to(device) y torch.randn(4, 4).to(device) print((x y).sum().item())当然这只是最简单的验证。真正跑一个GPT类模型推理还需要做算子适配检查、显存优化、并发调度这些工作。如果是老模型想转成离线格式华为提供了ATC工具可以把ONNX模型转成昇腾的om格式用推理引擎加载atc --modelmodel.onnx --framework5 --outputmodel_om --soc_versionAscend310P3这个过程对做过CUDA部署的工程师来说上手成本比想象中低。官方文档虽然有些地方写得绕但照着例子走一遍基本能通。2.3 华为吃肉的代价大项目优势背后的隐性成本华为能在“饥饿游戏”里吃肉靠的不只是技术。昇腾的完整方案在智算中心、运营商AI平台这类大项目里很吃香因为甲方要的不只是一块卡而是整套交付能力——服务器、网络、框架、运维工具、售后服务。华为全栈都能接这是其他两家很难比的。但这套模式也有代价。全栈自研意味着很多环节需要适配客户如果已经有一套基于CUDA开发的系统迁移到昇腾并不是换个驱动那么简单中间可能涉及算子重写、性能调优、多卡通信优化需要厂商深度支持。华为虽然养了庞大的FAE团队但人力终究有限能服务好大客户就很难兼顾中小客户的碎片化需求。这也是为什么很多中小团队聊起昇腾第一反应是“好是好但用不起”——这里的“用不起”不只是价格更多是适配成本和响应速度。3. 平头哥喝汤阿里系的AI芯片为什么总差一口气3.1 含光800一款被低估又被“困住”的推理芯片平头哥最出圈的产品是2019年发布的含光800当时官方给的数据确实惊艳推理性能达到78563 IPS能效比是传统GPU方案的数倍。但这颗芯片最尴尬的地方在于它的成功场景基本集中在阿里自己的业务里——淘宝搜索、广告推荐、图像识别都是阿里内部流量巨大的推理场景。含光800在阿里的推荐系统里跑得确实好因为它就是围绕这些业务的模型结构定制的。但对外卖卡情况就完全不一样了。外部客户用的模型五花八门网络结构千奇百怪NPU这种专用芯片最怕的就是“通用性不够”。含光800对外更多是以云上实例的形式提供也就是你不需要买卡直接在阿里云上开一个含光实例就能用。这种模式对客户来说门槛低但对平头哥来说芯片变成了阿里云的一个组件而不是独立的产品线。3.2 倚天710和玄铁RISC-V平头哥的另一条腿很多人只盯着AI加速卡看忽略了平头哥还有两条腿。倚天710是ARM架构的服务器CPU用在阿里云的服务器上主打高性价比和低功耗。对客户来说用倚天710和用其他云服务器没太大区别它藏在云平台背后不太需要跟客户直接解释“我是谁”。更有意思的是玄铁RISC-V系列。这个业务不做整卡而是做IP授权很多做物联网芯片、MCU、TWS耳机芯片的公司用的是玄铁的内核。RISC-V这几年在嵌入式领域势头很猛玄铁作为国内出货量最大的RISC-V IP之一某种意义上比AI加速卡更能代表平头哥的长期布局。它不抢“饥饿游戏”的蛋糕但它的播种面积很广未来如果RISC-V生态往服务器方向渗透这套积累会变成很大的底牌。3.3 为什么平头哥很难把芯片卖给非阿里系客户这里有一个结构性问题。做芯片有两种路径一种是为了自家业务做芯片另一种是为了卖芯片而做芯片。阿里做芯片的出发点本质上是成本优化——用自研芯片替代外购GPU和CPU降低阿里云的采购成本同时保障供应链稳定。这个定位决定了平头哥的第一优先级永远是服务好阿里自身。问题在于当你想把芯片卖给阿里之外的客户时客户会问你的芯片在阿里云上跑得这么好我买回去自建机房出了问题谁管你每年更新几次驱动有没有成熟的合作伙伴网络这些问题背靠云厂商的芯片公司往往很难给出让外部客户安心的答案。客户会担心你今天服务我明天集团战略调整就不做了。这种信任成本比技术门槛更难跨越。4. 寒武纪排队独立芯片公司的每一单都是啃出来的4.1 思元系列的产品换挡从MLU270到MLU370再到MLU590寒武纪的思元系列产品迭代一直没停。早期MLU270定位训练和推理两用虽然性能跟同时期的英伟达产品有差距但在国产阵营里算起步早的。后来MLU370系列转向推理为主尤其是MLU370-S4这张低功耗半高卡在不少边缘推理和私有化部署项目里出现频率很高。再往上MLU590是面向训练场景的高端产品。寒武纪的处境有点像格斗场里排队等上场的选手——你有资格但不一定能轮到。英伟达在前面占了绝大部分市场需求国内竞争对手又各有靠山独立芯片公司要想活下去就必须在产品定义上找到差异化。MLU370-S4的差异化就做得很清晰75W功耗、无需外接供电、插在标准服务器里就能跑适合需要小规模推理集群但又不想大改机房部署的客户。很多智算项目的“边角料”需求用这种卡最划算。4.2 一次真实的MLU370-S4部署记录可复现的步骤和踩过的坑前段时间我帮朋友在一台双路服务器上装MLU370-S4整个过程比想象中曲折。第一步就碰了钉子BIOS里没开Above 4G Decoding系统根本识别不了这张卡。这个设置对GPU服务器来说很常规但很多通用服务器默认是关的翻BIOS花了半小时。驱动和工具链的安装寒武纪提供了完整的deb包但版本匹配很讲究。以下是核心步骤基于Ubuntu 20.04# 1. 安装驱动和运行时注意和当前内核版本匹配 sudo dpkg -i cntoolkit_3.3.1-1.ubuntu20.04_amd64.deb sudo dpkg -i neuware_3.3.0-1.ubuntu20.04_amd64.deb # 2. 验证设备状态 cnmon info把PyTorch模型跑到MLU上用的是torch_mlu扩展代码同样是改deviceimport torch import torch_mlu device torch.device(mlu:0) x torch.randn(4, 4).to(device) print(x.sum().item())如果要做更复杂的推理优化寒武纪提供了MagicMind工具类似TensorRT的思路把PyTorch或者ONNX模型转成离线推理引擎。这个转换过程需要一步步调尤其是遇到不支持的算子时得手动替换或者重写。我们当时遇到一个LayerNorm算子的版本兼容问题换了一个编译选项才通过。整个部署下来我的感受是文档比前几年完善了很多但社区问答和案例沉淀依然薄很多问题得靠官方支持人员介入不像CUDA那样随便一搜就有答案。如果你所在团队没有任何CUDA迁移经验第一次接触MLU卡建议把项目周期至少预留出30%的缓冲时间。4.3 “排队”的深层原因独立芯片公司的三重困境寒武纪排队核心是三重困境叠加。第一重是客户信任成本高。没有自有云、没有整机品牌客户用了你的卡就得自己搞定服务器适配、运维、售后出了问题没有“全家桶”兜底只能找芯片原厂。第二重是研发投入产出比不好看。做AI芯片是重资产生意流片一次就是千万级成本产品迭代速度还得跟上英伟达的节奏财务压力非常大。第三重是高墙已经立起来了。客户迁移到国产芯片的意愿很大程度上取决于技术难度而CUDA生态的惯性实在太强。寒武纪的卡再好工程师读一遍它的开发文档要一个星期很多团队就先放弃了。所以寒武纪能排上队已经很不容易这说明它确实啃下了一批愿意做国产化适配的客户。但“排队”和“上桌”之间差的不是一个产品发布而是整条生态链的补齐。5. 下半场更关键的战场生态、迁移成本和工程师的习惯5.1 生态战争的三个层次比算力更重要芯片竞争有三个层次最底层是硬件指标也就是多少TOPS、多少GB显存中间层是工具链包括编译器、调试器、性能分析工具最上层是开发者习惯也就是工程师愿不愿意用、会不会用。英伟达强在第三层CUDA从大学实验室就开始教工程师毕业后做AI开发默认就用CUDA。国产芯片现在最需要补的恰恰也是第三层。华为昇腾的CANN、寒武纪的Neuware与MagicMind工具链的底层功能其实都在补齐但开发者社区和教学资源还是太薄。国产芯片厂商已经意识到这个问题开始搞开发者认证、开源模型适配、社区激励甚至主动适配主流开源项目。方向是对的只是需要时间。5.2 推理规模化国产芯片最重要的窗口期大模型爆发之后行业里出现了一个有趣的变化训练还是英伟达的主场但推理正在变成“群雄逐鹿”。推理场景对算力的要求不像训练那么极端更看重单位成本和部署效率。过去一个电商推荐系统用GPU做推理利用率可能不到30%换成低功耗NPU之后同样的流量可能只需要原来一半的电费。这就是MLU370-S4、Atlas 300I这类推理卡的机会。它们不是为了刷榜而生的而是为了在真实生产环境里替客户省钱。谁能在保证精度的前提下把推理单价打下来谁就能吃到下一波量产的蛋糕。420万颗芯片的盘子如果继续增长很大一部分增量应该就是来自推理规模化而不是训练集群扩张。5.3 给工程师的选型建议别只看峰值算力先跑通一单再下结论如果现阶段你想选国产算力平台我个人的建议是三条第一先确认场景再选卡。训练为主的场景直接看昇腾910系列的生态成熟度纯推理场景寒武纪MLU370-S4和昇腾310/300I都值得测如果是云上业务阿里云含光实例是上手成本最低的方案。第二一定要做端到端验证不要只看跑分。把你自己真实业务的模型部署上去跑一个完整的请求链路记录吞吐和延迟。很多芯片跑标准benchmark很好看一上真实业务就暴露问题。第三算清团队学习成本。从CUDA迁移到CANN、MLU或者任何国产工具链不是一两天的事。工程师愿不愿意学、文档能不能搜到答案、厂商支持响应快不快这些软因素最终决定项目能不能按期交付。表格总结一下三家路线的差异方便对照对比维度华为昇腾平头哥寒武纪核心产品昇腾310/910系列含光800、倚天710、玄铁IP思元MLU270/370/590最强优势全栈闭环、大项目集采优势背靠阿里云内部场景打磨独立第三方产品定义灵活主要短板适配成本高资源集中在大客户对外商业化意愿和声量不足生态薄弱客户信任成本高适合人群大中企业、智算中心阿里云上的业务团队有耐心做国产化适配的团队上手门槛中高需要CANN学习成本低走云实例即可中需要厂商支持配合我知道很多人还在纠结“国产芯片到底能不能打”这个问题。我的看法是单看任何一款国产芯片现阶段都很难在全维度上正面打赢英伟达的顶级旗舰但“饥饿游戏”从来不是一个人的比赛。420万颗芯片的市场在增长场景在分化当推理需求变成大头的时候通用GPU的很多优势反而会变成劣势。华为、平头哥、寒武纪这三家谁能在未来的细分赛道上建立起不可替代的工具链和客户习惯谁才能真正从“吃肉/喝汤/排队”的旧格局里跳出来。最后分享一个我自己的选型习惯拿到一块新芯片我不先跑算力benchmark而是先看它的报错信息写得好不好。友好的报错能省下工程师一天的时间一个能告诉你“哪个算子不支持、为什么、怎么改”的报错信息比发布会上的任何光环都值钱。这一点上国产芯片这些年进步不小但离“让工程师用得舒服”还有很长的路。好在路已经在走了这比什么都重要。