当前位置: 首页 > article >正文

DeepSeek / Qwen 大模型在昇腾上的推理优化实战

前言把DeepSeek-V3和Qwen2.5-72B部署到昇腾910B集群上。客户说GPU上跑得好好的换昇腾应该也行吧。结果第一天就被砸懵——同样的模型、同样的batch昇腾上吞吐只有GPU的60%。不是算力不够是我根本没搞清楚CANN的优化逻辑和CUDA完全是两套体系。很多人以为昇腾上跑大模型就是把CUDA代码编译一下扔给CANN其实从Attention到显存管理每个环节的优化路径都不一样。工程经验DeepSeek-V3初次部署到昇腾910B未开优化时decode吞吐580 TPS。开完FlashAttention PagedAttention W8A16量化到2180 TPS涨了276%。不是算力不够是默认配置没打开昇腾的加速特性。推理瓶颈先 profile 再动手一上来就改算子调参数优化半天发现瓶颈在数据搬运。CANN自带的msprof跑一次就知道瓶颈在哪# 跑msprof做性能分析msprof--output./profiling_output\--aic-metricsmemory_bandwidth_utilization\python infer.py--modeldeepseek-v3--batch8# 看报告哪种算子占比高msprof--exporton--output./profiling_output# 打开生成的report.html看算子耗时分布我第一次profile DeepSeek-V3Attention计算38%、KV Cache访存27%、MoE RouterAllReduce 19%、其他16%。为什么GPU方案不能直接复用GPU上Attention占比通常50%瓶颈在计算昇腾Cube的MAC阵列算矩阵乘效率高但Vector做逐元素运算的吞吐比GPU的SM低——softmax、scale这些逐元素操作反而成瓶颈。GPU优化MatMul就够昇腾得同时优化计算和访存。工程经验msprof的输出在profiling_output/summary/目录下api_statistic.csv里能看到每个ACL API的耗时。aclmdExecute占比高说明算子调度开销大要开ATB融合aclrtMemMalloc占比高说明显存碎片多要开预分配。Attention 优化FlashAttention 只是起点ops-transformer里的FlashAttention算子针对达芬奇架构做了Cube/Vector流水线优化Cube算Q×K^T → Vector算scalemasksoftmax → Cube算P×V中间数据走L1不落HBM。# PyTorch接入FlashAttentiontorch_npuimporttorchimporttorch_npu# 开FlashAttentionops-transformer提供withtorch.no_grad():outputtorch_npu.npu_flash_attention(query,key,value,head_num32,head_dim128,dropout_prob0.0,inner_precise0,# 用FP16不用FP32累加)实测性能Ascend 910BFP16模型未融合FlashAttention开FlashAttention提升Qwen2.5-7B (seq2048)34 tokens/s89 tokens/s162%DeepSeek-V3-671B (seq4096)580 TPS1420 TPS145%DeepSeek-V4更激进——CSA4倍压缩和HCA128倍压缩交替使用。128K序列下HCA把KV Cache从7.3GB压到57MBTPOT 10ms950DT16卡。不压缩的Full Attention同场景TPOT 80ms。工程经验CSA/HCA压缩率不是越大越好。128倍压缩HCA长序列收益明显但短序列4K反而比Full Attention慢12%——Compressor本身有计算开销。我们的做法前两层用Window Attentionsliding_window128中间层按序列长度动态选CSA或HCA。KV Cache 优化省显存是手段涨 batch 才是目的Qwen2.5-7BFP16下每个token的KV Cache约57KB。seq2048、batch32时光KV Cache就吃3.6GB。三条优化路PagedAttentionMindIE推理引擎支持KV Cache分block按需分配消碎片。KV Cache量化INT8存KV Cache显存省一半。910B实测3.6GB → 1.8GB省出1.8GB多跑16个batch。KV Cache压缩DeepSeek-V4的HCA 128倍压缩128K序列KV Cache 57MB。很多人以为KV Cache优化就是省显存。真正的收益是省出的显存能跑更大batch更大batch吞吐更高。# MindIE配置开PagedAttention KV Cache量化frommindieimportMindIERuntime,ModelConfig configModelConfig(model_path/path/to/deepseek-v3,# PagedAttentionblock_size128kv_cache_modepaged,block_size128,# KV Cache量化INT8kv_cache_dtypeint8,# KV Cache压缩DeepSeek-V4use_hcaTrue,# 128倍压缩hca_threshold4096,# seq4096才开HCA)runtimeMindIERuntime(config)工程经验Qwen2.5-7B在910B单卡FP16 batch8吞吐72 tokens/s开KV Cache量化 PagedAttention后batch开到32吞吐147 tokens/s。算力没变显存够用了batch从8涨到32吞吐涨104%。算子融合省 Task 调度开销昇腾上每次算子下发走ACL→GE→Runtime调用链开销12-15μs。30层Transformer几百次调用光调度开销就3-5ms。CANN的graph-autofusion自动融合框架LayerNormMatMul、SoftmaxDropoutMatMul、GatingTopK等。DeepSeek-V4专门做了SAS统一Window/Sparse/Compress Attention、Compressor、HCPre/HCPost融合Kernel已开源在cann-recipes-infer。// graph-autofusion配置GE环境变量exportGE_FUSION_PASS_MODEaggressive// 激进融合策略exportGE_ENABLE_OP_FUSION1// 开算子融合exportATB_FUSION_MODEaggressive// ATB也开激进融合// 融合效果验证看GE编译日志// 搜索Fusion success看哪些算子融了grepFusion successge_compile.log|wc-l工程经验DeepSeek-V4 MoE的GatingTopK融合前router输出落HBM再给topk读融合后直接L1传数据省一次HBM读写。单层省18μs40层省720μs。decode每个token快0.7ms1000个token差0.7秒。显存管理 Batch 调优昇腾HBM管理跟GPU不一样。GPU的caching allocator基本是申请-使用-释放昇腾的DMA引擎要求显存预分配、零碎片、复用中间buffer。实测带宽利用率动态申请释放35% → 预分配复用82%。910B的1.2TB/s带宽82%是984GB/s可用35%只有420GB/s——差一倍多。# 开显存预分配Runtime环境变量exportACL_MEM_POOL_SIZE32GB# 预分配32GB显存池exportACL_MEM_POOL_REUSE_FLAG1# 复用中间bufferexportACL_MEM_POOL_GUARANTEE_FLAG1# 预分配不释放# Batch调优动态batchexportACL_DYNAMIC_BATCH1exportACL_DYNAMIC_BATCH_MAX64# 最大batch64Batch调优也不是越大越好。batch越大Attention的S矩阵越大L1装不下就溢出batch吞吐(tokens/s)TTFT(ms)显存(GB)45286.88721220.1321473839.26413872OOMbatch64吞吐反而降——KV Cache swap到Host内存。选batch看场景在线对话batch4-8TTFT100ms离线批处理batch16-32。我们的做法是动态batch短输入batch32长输入batch8。量化最后一板斧量化方案适用芯片精度损失性能收益W8A16910B, A30.5%吞吐45%显存-30%W8A8C16A31%吞吐85%显存-45%Hybrid FP8-MXFP4950PR/DT1.5%吞吐120%显存-60%DeepSeek-V4 Flash在950DT16卡128KHybrid FP8-MXFP4 TPOT10msFP16约35ms3.5倍提升。# 量化配置torch_npufromtorch_npu.contribimporttransfer_paramastp# W8A16量化modeltp.param_quantize(model,algow8a16,dtypetorch.float16,)# W8A8C16量化A3及以上modeltp.param_quantize(model,algow8a8c16,dtypetorch.float16,)# Hybrid FP8-MXFP4950PR/DTmodeltp.param_quantize(algohybrid_fp8_mxfp4,dtypetorch.bfloat16,)工程经验量化不是精度损失越低越好。W8A16精度损失0.5%但吞吐只涨45%W8A8C16精度损失1%但吞吐涨85%。如果业务能接受1%的精度损失比如推荐系统、文本摘要W8A8C16更划算。踩坑实录坑1FlashAttention在seq512的时候反而不如标准Attentionseq太小Cube利用率掉得厉害M/N维度太小Cube吃不饱FlashAttention的额外调度开销Tiling、softmax在线归一化占比高。解决设export ATB_FlashATTENTION_SEQ_THRESHOLD1024seq1024才开FlashAttention否则退化成标准Attention。坑2PagedAttention在batch动态变化的时候反而慢batch从8涨到32PagedAttention要动态分配block分配开销占比高~5ms。解决预分配最大batch的block池export MINDDIE_PAGED_POOL_SIZE64GB不动态分配。坑3W8A8C16量化在910B上编译失败W8A8C16需要INT8的矩阵乘指令CADIN8910B的Cube不支持只支持FP16/FP32要A3及以上的芯片。解决910B上用W8A16只量化权重激活还是FP16A3上用W8A8C16。坑4DeepSeek-V4的HCA压缩在seq512的时候反而慢12%Compressor的计算开销CSA/HCA压缩解压比省下来的KV Cache访存开销大。解决设export DEEPEEK_HCA_THRESHOLD4096seq4096才开HCA短序列用CSA4倍压缩或Full Attention。https://atomgit.com/cann/ops-transformerhttps://atomgit.com/cann/cann-recipes-inferhttps://atomgit.com/cann/graph-autofusion

相关文章:

DeepSeek / Qwen 大模型在昇腾上的推理优化实战

前言 把DeepSeek-V3和Qwen2.5-72B部署到昇腾910B集群上。客户说"GPU上跑得好好的,换昇腾应该也行吧"。结果第一天就被砸懵——同样的模型、同样的batch,昇腾上吞吐只有GPU的60%。不是算力不够,是我根本没搞清楚CANN的优化逻辑和CUD…...

如何快速上手res-downloader:跨平台资源下载工具终极指南

如何快速上手res-downloader:跨平台资源下载工具终极指南 【免费下载链接】res-downloader 视频号、小程序、抖音、快手、小红书、直播流、m3u8、酷狗、QQ音乐等常见网络资源下载! 项目地址: https://gitcode.com/GitHub_Trending/re/res-downloader 想要轻松…...

hccl 集合通信架构剖析:Ring-AllReduce 与通信-计算重叠设计

前言 分布式训练做多了会发现,多卡之间的通信往往比计算更吃时间。八张昇腾NPU跑一个LLaMA-70B,AllReduce在总耗时里能占30-40%,这个比例在卡数更多的时候还会继续涨。昇腾CANN的hccl(Huawei Collective Communication Library&am…...

告别手动打字:87种语言视频字幕5分钟本地提取全攻略

告别手动打字:87种语言视频字幕5分钟本地提取全攻略 【免费下载链接】video-subtitle-extractor 视频硬字幕提取,生成srt文件。无需申请第三方API,本地实现文本识别。基于深度学习的视频字幕提取框架,包含字幕区域检测、字幕内容提…...

如何用knitAYABInterface创建复杂图案:从JSON文件到针织成品的完整流程

如何用knitAYABInterface创建复杂图案:从JSON文件到针织成品的完整流程 【免费下载链接】knitAYABInterface A Python library with the interface to the AYAB shield. 项目地址: https://gitcode.com/gh_mirrors/ay/knitAYABInterface 想要将数字图案转化为…...

如何为Public Money Public Code网站添加新的支持组织:完整操作指南

如何为Public Money Public Code网站添加新的支持组织:完整操作指南 【免费下载链接】publiccode.asia-legacy Website of https://publiccode.asia 项目地址: https://gitcode.com/gh_mirrors/pu/publiccode.asia-legacy 想要为publiccode.asia这个开源项目…...

揭秘PSLab Web App硬件交互机制:functionList与硬件Handler工作原理

揭秘PSLab Web App硬件交互机制:functionList与硬件Handler工作原理 【免费下载链接】pslab-webapp-legacy PSLab Web App https://pslab.io 项目地址: https://gitcode.com/gh_mirrors/ps/pslab-webapp-legacy PSLab Web App是一款强大的开源硬件交互工具&a…...

长期使用TaotokenTokenPlan套餐的成本控制实际感受

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 长期使用Taotoken TokenPlan套餐的成本控制实际感受 1. 从按次计费到预付费套餐的转变 在项目开发中引入大模型API调用后&#xf…...

开发者在多模型项目中如何利用 Taotoken 进行灵活路由与降级

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 开发者在多模型项目中如何利用 Taotoken 进行灵活路由与降级 在构建依赖大模型服务的应用时,服务的连续性与稳定性是开…...

3大技术革命:openpilot如何重新定义自动驾驶开源生态

3大技术革命:openpilot如何重新定义自动驾驶开源生态 【免费下载链接】openpilot openpilot is an operating system for robotics. Currently, it upgrades the driver assistance system on 300 supported cars. 项目地址: https://gitcode.com/GitHub_Trending…...

Ember_Simple_Calculator-merge部署指南:3步将你的Ember计算器应用上线

Ember_Simple_Calculator-merge部署指南:3步将你的Ember计算器应用上线 【免费下载链接】Ember_Simple_Calculator-merge Simple Calculator Web App Using Ember.js 项目地址: https://gitcode.com/gh_mirrors/em/Ember_Simple_Calculator-merge 想要快速部…...

Expecta自定义匹配器开发教程:打造专属测试断言

Expecta自定义匹配器开发教程:打造专属测试断言 【免费下载链接】expecta A Matcher Framework for Objective-C/Cocoa 项目地址: https://gitcode.com/gh_mirrors/ex/expecta Expecta是一款强大的Objective-C/Cocoa匹配器框架,它允许开发者编写清…...

洛雪音乐音源项目完整指南:免费获取全网高品质音乐的终极解决方案

洛雪音乐音源项目完整指南:免费获取全网高品质音乐的终极解决方案 【免费下载链接】lxmusic- lxmusic(洛雪音乐)全网最新最全音源 项目地址: https://gitcode.com/gh_mirrors/lx/lxmusic- 洛雪音乐音源项目是一个专为洛雪音乐软件设计的开源音源集合&#xf…...

Mirth Connect终极指南:掌握医疗集成的瑞士军刀 [特殊字符]

Mirth Connect终极指南:掌握医疗集成的瑞士军刀 🚀 【免费下载链接】connect The swiss army knife of healthcare integration. 项目地址: https://gitcode.com/gh_mirrors/conn/connect Mirth Connect被誉为医疗集成领域的瑞士军刀,…...

【企业级AI Agent安全合规红线】:GDPR+等保2.0双标穿透测试报告首次公开,含6类Agent数据泄露路径图谱

更多请点击: https://codechina.net 第一章:【企业级AI Agent安全合规红线】:GDPR等保2.0双标穿透测试报告首次公开,含6类Agent数据泄露路径图谱 在企业级AI Agent规模化落地过程中,合规性已不再是“附加项”&#xf…...

AI Agent培训如何撬动企业人效革命:3个已验证的行业应用范式与5步落地法

更多请点击: https://intelliparadigm.com 第一章:AI Agent培训如何撬动企业人效革命:3个已验证的行业应用范式与5步落地法 AI Agent并非通用智能体,而是经领域知识注入、任务流程对齐与反馈闭环训练后具备自主决策边界的“数字员…...

【限时解密】某千亿级餐饮集团未公开的Agent故障熔断机制:37类异常场景自动降级策略(仅开放72小时技术文档下载)

更多请点击: https://intelliparadigm.com 第一章:AI Agent餐饮行业应用的演进逻辑与业务价值锚点 AI Agent在餐饮行业的落地并非技术驱动的线性叠加,而是由真实业务痛点牵引、数据基础设施成熟度支撑、人机协作范式迭代共同塑造的动态演进过…...

今晚失效!三甲医院刚解禁的Claude医学文献分析SOP(含IRB合规检查清单+敏感信息脱敏协议)

更多请点击: https://codechina.net 第一章:Claude医学文献分析案例 在真实科研场景中,研究者常需从海量PubMed摘要中快速识别与特定疾病机制相关的关键分子通路。以下案例展示如何利用Claude 3.5 Sonnet的多步推理能力,对一组乳…...

【Lovable开发避坑红宝书】:17个被大厂隐藏的移动端情感设计陷阱及修复代码模板

更多请点击: https://intelliparadigm.com 第一章:Lovable移动端情感设计的底层认知与价值重定义 Lovable移动端情感设计并非界面动效或拟物图标的技术叠加,而是以人类情绪反馈回路为锚点,重构交互系统底层逻辑的设计范式。它要求…...

tinychain进阶指南:如何实现区块链分叉与重组功能

tinychain进阶指南:如何实现区块链分叉与重组功能 【免费下载链接】tinychain A pocket-sized implementation of Bitcoin 项目地址: https://gitcode.com/gh_mirrors/ti/tinychain 区块链技术的核心魅力在于其去中心化的共识机制,而分叉与重组功…...

用户测试完整流程:如何在测试阶段验证产品假设

用户测试完整流程:如何在测试阶段验证产品假设 【免费下载链接】design-sprint Product Design Sprint Material 项目地址: https://gitcode.com/gh_mirrors/de/design-sprint 在产品开发过程中,用户测试是验证产品假设、确保产品满足用户需求的关…...

如何快速入门Play框架:5分钟搭建你的第一个Java Web应用

如何快速入门Play框架:5分钟搭建你的第一个Java Web应用 【免费下载链接】play1 Play framework 项目地址: https://gitcode.com/gh_mirrors/pl/play1 Play框架是一个轻量级的Java Web开发框架,它采用了MVC架构模式,提供了快速开发、热…...

终极网站性能优化指南:publiccode.asia 加载速度提升10个技巧

终极网站性能优化指南:publiccode.asia 加载速度提升10个技巧 【免费下载链接】publiccode.asia-legacy Website of https://publiccode.asia 项目地址: https://gitcode.com/gh_mirrors/pu/publiccode.asia-legacy 想要让你的网站像闪电一样快速加载吗&…...

Fortune.js未来路线图:即将推出的功能和改进终极指南

Fortune.js未来路线图:即将推出的功能和改进终极指南 【免费下载链接】fortune Non-native graph database abstraction layer for Node.js and web browsers. 项目地址: https://gitcode.com/gh_mirrors/fo/fortune Fortune.js作为一个创新的非原生图数据库…...

【AI Agent审计实战白皮书】:20年审计专家亲授7大高危场景识别法与合规落地路径

更多请点击: https://intelliparadigm.com 第一章:AI Agent审计的核心范式演进 传统软件系统审计聚焦于代码合规性、日志完整性与权限边界,而AI Agent的自主决策、多步推理与动态工具调用能力,正推动审计范式从静态验证转向“意图…...

10分钟掌握BodyApps 3D Body Visualiser高级技巧:自定义皮肤、视角控制与参数联动

10分钟掌握BodyApps 3D Body Visualiser高级技巧:自定义皮肤、视角控制与参数联动 【免费下载链接】bodyapps-viz 3D body visualizer component for #bodyapps project 项目地址: https://gitcode.com/gh_mirrors/bo/bodyapps-viz BodyApps 3D Body Visuali…...

【限时解密】某上市医美集团未公开的AI Agent知识图谱:覆盖1,843种肤质-成分-疗程关联规则

更多请点击: https://codechina.net 第一章:AI Agent在美容行业应用的范式革命 传统美容服务长期受限于人工经验依赖、个性化响应延迟与跨渠道数据割裂三大瓶颈。AI Agent 的兴起正从根本上重构行业服务逻辑——它不再仅是辅助工具,而是具备…...

微生物网络分析终极指南:如何用NetCoMi轻松解锁微生物互作密码

微生物网络分析终极指南:如何用NetCoMi轻松解锁微生物互作密码 【免费下载链接】NetCoMi Network construction, analysis, and comparison for microbial compositional data 项目地址: https://gitcode.com/gh_mirrors/ne/NetCoMi 还在为复杂的微生物组数据…...

为内部ai工具平台选择统一api网关时taotoken的接入与管理价值

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 为内部AI工具平台选择统一API网关时Taotoken的接入与管理价值 当公司内部需要构建一个集成多种AI能力的工具平台时,技术…...

如何用歌词滚动姬3分钟制作专业级LRC歌词:免费跨平台终极指南

如何用歌词滚动姬3分钟制作专业级LRC歌词:免费跨平台终极指南 【免费下载链接】lrc-maker 歌词滚动姬|可能是你所能见到的最好用的歌词制作工具 项目地址: https://gitcode.com/gh_mirrors/lr/lrc-maker 歌词滚动姬是一款专为音乐爱好者设计的免费…...