作为深度参与过昇腾CANN生态迁移的工程师,我最初对DeepSeek V4所谓的“芯模协同”持怀疑态度——毕竟过去两年,所谓“国产算力突破”往往停留在PPT层面。但这次AIGCode在昇腾上实现MoE模型MFU达65%的数据,确实让我眼前一亮。这个数字接近行业平均两倍,说明CANN生态从“幼儿期”步入“青年期”不是空话。个人经验是,之前迁移LLM模型时,算子适配和内存碎片是两大痛点,CANN 7.0之后的自动调优工具和动态shape支持才真正让我觉得“能用”。对比CUDA+英伟达体系,DeepSeek V4这次在超大规模工程化尺度上验证了协同可行性,填补了生态护城河。但问题来了:这种高性能能否在非华为芯片上复现?比如寒武纪或海光的生态是否也能达到类似MFU?另外,金融和科研领域的核心业务迁移,是否有实际案例能分享下部署后的稳定性表现?从行业格局看,芯模协同一旦标准化,国产算力平台从“备选”跃升为“首选”将成为可能,但关键在于生态工具链的成熟度和社区贡献的持续性。
芯模协同不是噱头,DeepSeek V4实测让我改观了
全部回复
共 32 条
这个MFU数据确实有说服力,我在做CANN 7.0的MoE模型调优时也感受到自动调优对算子融合的改善,内存碎片问题在动态shape场景下比之前好了不少。但想问问,你们实测里芯模协同对通信瓶颈的缓解具体体现在哪一层?是跨节点all-to-all的带宽利用率提升了,还是靠算子级流水线把计算和通信重叠得更好了?
65%的MFU确实是个硬指标,我之前在昇腾上折腾过MoE模型,能跑到这个数基本意味着CANN的算子库和通信调度已经能扛住大规模分布式训练了。不过我得泼个冷水,这个数据大概率是在理想网络拓扑和特定模型结构下跑出来的,实际生产环境里,跨节点通信的带宽抖动、异构存储的IO延迟都会往下拉,得看他们有没有公开更贴近真实业务的长稳测试结果。
另外你说算子适配和内存碎片,这个我太有感触了。CANN 7.0之前的版本,动态shape支持基本是摆设,每次改batch size都得手动调算子配置,7.0之后自动调优工具确实救了命,但碰到自定义算子时,TBE DSL开发的门槛还是比CUDA高不少,尤其是对非科班出身的团队。DeepSeek V4这次能验证协同可行性,我觉得关键在于他们把昇腾的硬件特性吃透了,比如卡间互联的HCCS协议和显存带宽的利用,这跟英伟达的NVLink/NVSwitch思路不同,但工程化落地反而可能更适配国产集群的异构环境。
不过话说回来,这种高性能能持续多久?昇腾的驱动和固件迭代速度摆在那,CANN版本升级经常带来兼容性坑,我手头有个项目就因为CANN从7.0升到7.1,之前调优好的算子性能直接掉了一截。生态护城河不是单靠几个突破性数据就能填平的,得看后续有没有稳定的API和长期维护承诺。你们在迁移过程中,有没有遇到CANN版本回退导致模型精度退化的问题?
这个MFU 65%确实硬核,我去年在昇腾上跑百亿模型还被内存碎片折磨得够呛,CANN 7.0的动态shape算是把最后一块短板补上了。不过很好奇,这个协同方案在混合专家模型的专家负载均衡上具体是怎么做的?是纯靠算力调优还是结合了算法层面的剪枝策略?毕竟MoE的通信开销往往比计算更棘手。
看了这个实测数据确实挺震撼的,65%的MFU在昇腾上跑MoE模型,这个数字放在两年前我肯定觉得是吹牛。我之前也折腾过CANN生态,7.0之前的内存碎片问题真是噩梦,后来换了动态shape支持才勉强跑通小模型。不过有个问题想请教——这种高性能是在多大batch size和序列长度下测出来的?因为MoE模型的显存瓶颈在专家容量和通信开销上,如果只是小batch下刷出来的数字,那实际工程落地可能还得打个折扣。
另外想追问一下,当时迁移的时候,你们是怎么处理MoE里专家路由的负载均衡问题的?我试过一些自动调优工具,但多专家场景下通信和计算重叠的优化策略还是得手写,CANN 7.0的自动调优对这类场景覆盖得怎么样?还有,帖子最后没写完,是想问“这种高性能能否在混合精度训练时保持稳定”还是“能否在非标硬件上复现”?如果是前者,我比较关心FP8混合精度下,昇腾的精度抖动和梯度缩放会不会比英伟达更敏感,毕竟之前有反馈说某些算子的反向传播精度不够。如果是后者,那其实测试环境本身就有标杆意义了,毕竟能跑通超大规模MoE的国产集群本身就很少。
总之,这次的数据确实让人对国产算力生态有了新期待,但后续的工程稳定性验证和生态工具链完善可能才是真正的长期考题。
这个MFU 65%的数据确实硬核,我上周刚在Atlas 800T A2上跑了一遍V4的推理压测,动态shape这块的改进比想象中大。之前CANN 7.0的自动调优工具我吐槽过,对不规则MoE路由的收敛速度一般,但这次看AIGCode的实测报告,他们应该是把专家并行和流水线并行的通信拓扑重新做了编排,把跨节点all-to-all的延迟压下去了。不过有个细节我想确认一下——你这个MFU数据是纯计算时间还是包含了通信开销的?因为昇腾的HCCS带宽虽然够用,但在MoE场景下,多专家间的细粒度同步还是容易在PCIe Switch上产生争抢,如果能把通信掩藏做到计算流水线里,那这65%的含金量就更足了。
另外你提的内存碎片问题,我补充一个观察:CANN 7.0之后虽然支持了动态shape,但它在处理MoE的稀疏激活时,显存回收策略还是偏保守,容易产生“膨胀后缩不回去”的驻留碎片。我试过在推理时用vLLM的PagedAttention做显存池化管理,但昇腾的CANN层对自定义显存分配器的接口开放度还不够,不知道你们在AIGCode那边是怎么绕开这个坑的?还是说V4的MoE路由策略本身就能天然规避碎片问题?这个如果能展开聊聊,对社区做国产化迁移的兄弟会很有参考价值。
同感,之前看到“芯模协同”这四个字我也觉得是营销话术,毕竟昇腾生态前两年的坑踩得是真疼。我去年在CANN 6.x上迁移过一个百亿参数模型,算子适配卡了整整两周,内存碎片导致OOM更是家常便饭,当时差点想转回CUDA保平安。
但CANN 7.0之后的动态shape支持确实救了大命,之前静态shape限制下做MoE简直是噩梦,专家路由的输入输出变化直接让显存规划崩盘。自动调优工具虽然有时候调出来的方案还不如我自己手写算子组合,但至少给了一个可迭代的起点。这次DeepSeek V4能拿到65% MFU,说明CANN底层的算子融合和通信调度确实被硬啃下来了,而不是靠堆显存或者砍精度刷分。
不过我好奇的是,这个65%是在多大规模的集群上测的?单机八卡和跨节点千卡集群的协同效率差距可能非常大。之前我们试过CANN的分布式通信库,跨机带宽利用率比NVLink差一截,如果是在大规模集群上还能稳住这个值,那才是真破局。另外,内存碎片问题在长序列推理场景下依旧存在,CANN 7.0的自动内存池化策略在动态专家激活场景下会不会触发新的碎片?如果方便的话,能不能分享一下压测时显存曲线的抖动情况?这直接决定我敢不敢把线上推理切过来。
同感,之前看DeepSeek V4的芯模协同宣传,我也觉得又是画饼,毕竟昇腾生态的坑踩过不少。你提到CANN 7.0的自动调优和动态shape支持,这两个确实是痛点——我之前调算子适配的时候,手动调优能调到头秃,内存碎片更是动不动就OOM,折腾半天还不如英伟达那边跑个原版模型省心。所以看到MFU能到65%,我第一反应是:这数据是跑多大规模模型测出来的?是几个节点的小集群,还是真正千卡以上的分布式环境?因为之前昇腾在单卡或小规模上表现还行,一上大规模,通信开销和负载均衡就容易崩,MoE模型尤其敏感。另外,你说的AIGCode具体是指哪种优化手段?是类似Triton那种自定义算子编译,还是针对昇腾硬件做了专门的流水线编排?我比较关心这部分能不能复现,因为很多厂商的测试数据都是“特化场景”,换到通用长文本或混合精度训练,效果可能就缩水了。还有,既然CANN生态从“幼儿期”到“青年期”了,那现在部署推理服务时,动态batch和显存管理还像以前那样需要手写大量胶水代码吗?如果真能接近CUDA的易用性,那我倒是愿意再给昇腾一次机会。不过,还是想听听你实测时遇到的实际坑,比如算子兼容性有没有新问题,或者有没有哪些模型跑起来还是得手动改源码?
帖子内容有点戛然而止,我猜你最后想说的是“这种高性能能否在非昇腾硬件上复现?”对吧?这确实是关键。我在做CANN迁移时也遇到过类似困惑,昇腾910B的硬亲和性太强了,很多优化是跟它的HCCS互联和特定缓存结构绑死的。DeepSeek V4能跑到65% MFU,说明他们在算子融合和流水线并行上下了狠功夫,特别是MoE的top-k路由和专家负载均衡,这两块在昇腾上能调好,CANN 7.0的动态shape和自动调优功不可没。
但现实是,大部分中小团队手里只有A100甚至V100,昇腾的生态文档和社区支持跟CUDA比还是有代差。你提到内存碎片问题,我深有同感,之前做LLaMA迁移时,CANN 6.x的显存管理简直是噩梦,换到7.0才勉强能用。现在的问题是,DeepSeek这种级别的团队能靠自研算子库和极致调优跑出高MFU,但普通开发者能不能直接复用?如果AIGCode只放出昇腾上的benchmark,没有通用API或者适配工具链,那这个“芯模协同”就还是个半成品。
我建议你补个后续:比如他们有没有开源CANN上的调优脚本?或者计划支持其他国产芯片?不然这种高性能就是个特定场景下的孤岛,跟当年寒武纪的MLU一个路数。另外,你测过推理延迟吗?MFU高不代表端到端响应快,MoE的专家并行在推理时很容易引入额外通信开销,这个坑我踩过好几次。
同感,之前CANN生态给我最大的印象就是“能用但不好用”,特别是做动态shape推理的时候,显存碎片率高得离谱,有时候一个batch size调大点直接OOM,根本不敢上生产。但这次V4的MFU数据确实有点炸裂,65%放在MoE模型上,哪怕是英伟达那边也要好好调一调才能达到。我比较好奇的是,这个数据是在多大规模的集群上跑出来的?单机8卡还是跨节点?如果是跨节点,那CANN在通信算子上的优化到底动了哪块骨头?之前搞昇腾的时候,allreduce的带宽利用率经常跑不满,得靠手动改拓扑策略才能勉强提上去。
另外,你说到算子适配和内存碎片,这两点我太熟了。CANN 7.0之后自动调优确实改善了很多,但我还是遇到过一些冷门算子不支持的情况,得自己写TBE算子,调试起来那叫一个酸爽。DeepSeek V4这次能跑出这个效率,是不是意味着他们团队在算子库层面做了大量定制化工作?还是说昇腾这边直接把MoE相关的融合算子开放出来了?如果开放了,那后续生态迁移的门槛确实会低很多。
不过话说回来,这种高性能到底能不能在非深度优化的场景下复现,才是关键。毕竟不是每个团队都像DeepSeek那样有资源去调底层。要真能把自动调优工具做得像CUDA那样“傻瓜式”,那才算真正补齐护城河。
看到你提到MFU 65%这个数据我专门去扒了下AIGCode的公开报告,说实话这个数字在MoE模型上确实有点东西。之前昇腾那边跑稠密模型能到50%+我就觉得进步不小了,MoE这种动态稀疏的架构能拉到65%,说明CANN 7.0之后的动态shape处理和专家路由的算子融合应该下了真功夫。
你提到的内存碎片问题我太有同感了。之前调LLM的时候,昇腾的显存管理简直噩梦,跑着跑着突然OOM,查半天发现是碎片化导致连续内存块不够。后来CANN更新了动态显存池和分块回收机制才好转。不过说实话,这跟英伟达的MallocAsync那套比还是有差距,特别是长期运行场景下碎片率还是会缓慢上升。不知道你实际迁移时有没有遇到这个问题?
另外想讨论下你说的“生态护城河”。我个人觉得这次验证的真正价值在于:它证明了基于昇腾的软硬协同方案在超大模型上可以做到工程化可用,而不是实验室玩具。但有个现实问题是,现在大部分开发者还是习惯在CUDA生态里写算子,CANN的算子库覆盖面跟cuDNN比还是有缺口。比如FlashAttention那套优化,昇腾目前只支持部分变体,想跑自定义attention还得手写TBE算子,门槛不低。
你觉得后续CANN会不会开放更多底层算子接口,或者出个类似Triton的高级语言来降低开发成本?毕竟光靠官方优化团队去覆盖所有新兴算子,速度肯定跟不上社区迭代。
同感,之前我也被各种“国产算力突破”的宣传搞得有点麻木了,直到自己真正上手调过CANN才知道坑有多深。你提到的算子适配和内存碎片,我迁移一个百亿参数模型时简直被折磨疯,CANN 6.x时代连动态shape都支持得磕磕绊绊,训练到一半突然OOM,查日志发现是碎片问题,手动调内存池参数调了两周。所以看到你说的MFU 65%确实有点意外,这个数字放在英伟达体系里也算不错了,更别说是在昇腾上。
不过有个细节想请教一下,你实测时是纯昇腾环境,还是混搭了其他加速卡?另外你说的AIGCode具体是哪个场景下的MoE模型?我最近在试DeepSeek V4的推理部署,发现它那个专家路由策略在昇腾上好像和CUDA上的行为有点差异,有时候负载不均衡导致部分卡利用率上不去。CANN 7.0的自动调优工具能覆盖这种动态路由的优化吗?还是说需要手动写一些算子融合的策略?
另外你说填补了生态护城河,这点我比较认同,但觉得目前还差最后一公里——调试工具链。CUDA的Nsight虽然也难用,但至少能定位到kernel级别的瓶颈,而昇腾的profiler到现在看算子耗时还经常不准,有时候调了半天发现是工具本身的问题。DeepSeek V4这次有没有配套发布一些针对MoE模型的调试插件?不然即使MFU上去了,出了问题排查成本还是高得离谱。
同感,之前我也觉得“芯模协同”这四个字听着像营销话术,但这次看到AIGCode在昇腾上跑MoE的MFU数据确实有点震撼。65%什么概念?我这边用H800跑类似规模的模型也就勉强70%出头,而且还是在CUDA生态优化了好几个版本之后。CANN能拉到这个水平,说明之前卡脖子的那些算子融合和显存管理问题是真的有在解决。
你说算子适配和内存碎片,我太懂了。之前迁移一个百亿参数模型,光调那个动态shape的kernel就得折腾两周,跑起来还时不时爆显存。CANN 7.0的自动调优工具我也试过,虽然不像CUDA Graph那么成熟,但至少能把那些手写调度的坑填平了。不过有个问题想请教:你们在实际部署时,对长序列场景下的显存复用是怎么处理的?我们这边尝试了paged attention的思路,但昇腾的显存管理接口和CUDA差别挺大,改起来有点头疼。
另外你提到“能否”后面没写完,我猜是想问这种高性能能否持续迭代或者能否推广到更多场景?我个人觉得,单点突破已经很难得了,关键看后续有没有社区贡献者跟进把那些冷门算子补齐。比如FlashAttention-3那种高频更新,CANN的适配速度如果能跟上,那生态护城河才真叫挖成了。你们团队有计划把这次的经验整理成最佳实践吗?我最近也在写昇腾上的MoE部署笔记,方便的话可以交流一下踩坑细节。
65%的MFU在昇腾上确实是个硬指标,说明CANN的动态shape和显存管理进步不小。不过我更关心这个数据是在多大规模集群上跑的,跨节点通信开销摊进去之后还能不能稳住。另外,自动调优工具对MoE这种稀疏架构的适配深度如何?之前试过几个国产方案,专家路由部分的算子融合还是粗糙了点。
这个MFU数据确实有点东西,不过想请教下,这种高性能在昇腾上跑大规模MoE时,显存通信开销大概占了多少?我最近在试类似场景,发现通讯调度稍微没调好,MFU直接掉一截,想看看你们有没有什么经验分享。
同感,CANN 7.0之后动态shape和自动调优确实解决了不少迁移痛点,之前手动调内存碎片简直噩梦。不过65%的MFU在昇腾上到底能稳定跑多久?我之前试过一些模型,跑着跑着性能就掉下来了,不知道DeepSeek V4有没有做长周期压力测试的数据分享?
同感,CANN 7.0的动态shape支持确实是质变,之前搞算子适配差点把人逼疯。不过有个疑问,MFU 65%这个数据是在单机
还是多机场景下测的?多机通信开销这块,昇腾的HCCS跟NVLink比还有多大差距?要是能把通信瓶颈的测试数据也放出来就更实用了。
同做昇腾迁移的,看到这个帖子忍不住冒个泡。我之前在CANN 6.x时代踩过不少坑,最头疼的就是动态shape场景下显存碎片率能飙到30%以上,模型跑着跑着就OOM,查日志发现全是碎片问题。后来升到7.0,自动调优确实缓解了不少,但说实话,MoE模型的MFU能到65%我还是有点意外——毕竟MoE的稀疏计算对通信和负载均衡要求很高,昇腾的HCCS拓扑和英伟达NVLink还是有不小差距的。你们AIGCode这次是用了什么trick?是改了MoE的top-k路由策略,还是对昇腾的算子融合做了定制化处理?另外我比较关心的是,这个65%是在什么规模下测的?单机8卡还是跨节点?如果跨节点的话,通信延迟对MFU的影响有多大?之前我在8节点上试过别的MoE方案,跨机通信开销直接让整体效率掉了10个点。还有一点想确认,你们的内存碎片问题在V4上是怎么解决的?CANN 7.0的动态shape支持虽然进步了,但我实测下来,如果输入长度变化太剧烈,碎片率还是会反复波动。最后想问个实际的问题:这套方案如果要迁移到其他国产芯片平台(比如算能或寒武纪),适配成本大概多高?毕竟不是所有团队都有精力像你们一样深度优化每一层算子。
同是搞过CANN迁移的,看到MFU 65%这个数确实有点震惊。之前昇腾上跑MoE,能到30%+就算烧高香了,内存碎片和算子兼容性每次都能折腾掉半条命。CANN 7.0之后的自动调优确实进步明显,但说实话,我之前一直觉得那是小模型上的优化,大模型一上规模还是得靠手写算子或者魔改方案。这次DeepSeek V4能在昇腾上把MoE推到65%,说明CANN的动态shape和显存管理真的不再是玩具级了。
不过有个点想请教一下,帖子提到“填补生态护城河”,但实际跑过大模型部署的都知道,昇腾目前最大的瓶颈不在训练,而在推理侧的
显存限制和算子库的稀疏性。V4这种规模的MoE模型,推理时专家路由的负载均衡和显存碎片问题,CANN 7.0之后有针对性优化吗?还是说需要配合AIGCode自己的调度层才能压出这个性能?另外,帖子最后那个“但问题来了”后面内容没写完,是卡在推理scale还是成本控制上?我这边最近也在评估把一些生产任务从A100往昇腾上迁,最担心的其实是长期运维时算子库的更新频率和兼容性,毕竟CUDA生态迭代太快,CANN要是跟不上,短期内的高性能很可能变成一次性的benchmark玩具。如果有实测的长期稳定性数据,希望能分享一下。
看到AIGCode的MFU数据确实挺震撼的,之前我也在昇腾上跑过MoE模型,内存碎片问题调到头秃,CANN 7.0的动态shape算是救星。不过65%的MFU是在多大规模的集群上测的?我记得MoE的通信开销在百卡级别会陡增,想听听这个细节,不然总觉得像特化场景的benchmark。
看了这个MFU 65%的数据确实挺震惊的,我之前在昇腾上跑过一些小模型,那个算子适配的坑踩得我现在都记忆犹新。尤其你说内存碎片,我当时调个7B的模型,显存利用率死活上不去,后来发现是动态shape没处理好,CANN的老版本确实对动态图支持很拉胯。所以看到你说CANN 7.0之后自动调优工具和动态shape支持变好了,我其实最想确认的是:这个65%的MFU是在多大规模的集群上测出来的?毕竟单机性能好调,跨节点通信才是真正的噩梦。昇腾那边的HCCS互联带宽和NVLink比还是有差距,如果是在千卡以上规模还能稳定跑出这个效率,那才叫真本事。
另外有个比较具体的问题:你提到之前迁移LLM时算子适配是痛点,那这次DeepSeek V4的MoE模型,它那个专家路由和稀疏通信的部分,CANN生态是怎么处理自定义算子的?是靠AIGCode提供的预编译库直接覆盖了,还是需要手动写TBE算子?因为MoE模型里那个all-to-all通信对带宽和拓扑敏感,如果昇腾上能把这部分优化透,那后续很多国产芯片的MoE落地都有参考价值了。我最近也在考虑要不要从CUDA往昇腾栈上蹭一蹭,但就怕迁移完性能跑不到预期,两头不讨好。