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

cann-recipes-infer:LLM 在昇腾上的推理参考实现

大模型推理部署跟小模型完全是两回事。小模型一张卡就能装下调几个参数就能跑。LLaMA-70B 参数 140GB需要多卡拆分解码阶段逐 Token 生成需要 KV Cache 优化Attention 是 Memory Bound需要 FlashAttention。cann-recipes-infer 是 CANN 社区维护的大模型推理参考仓库。它不只是一个代码示例集合——它提供了从模型转换到多卡推理的完整部署方案包括配置文件和性能调优建议。cann-recipes-infer 的定位cann-recipes-infer 不是一个推理框架。它不提供model.infer(text)这样的统一接口。它做的是另一件事——把 LLaMA、Qwen、ChatGLM 在昇腾上的推理部署路径固化下来让你不需要从零摸索。仓库的结构按模型分目录cann-recipes-infer/ ├── llama/ # LLaMA 系列 │ ├── convert.sh # 模型转换脚本 │ ├── config.yaml # 推理配置 │ └── README.md # 部署步骤 ├── qwen/ # Qwen 系列 ├── chatglm/ # ChatGLM 系列 └── common/ # 共享工具 ├── acl_utils.cpp └── model_utils.py每个模型的目录包含了转换脚本、推理配置和部署说明。按照 README 的步骤走就能跑通推理。LLM 如何部署到昇腾以 LLaMA-7B 为例cann-recipes-infer 的部署流程第一步模型准备。把 PyTorch checkpoint 转成 ONNX。python convert_llama_to_onnx.py--ckptllama-7b.pt--outputllama-7b.onnx第二步ATC 转换。atc--modelllama-7b.onnx\--framework5\--outputllama-7b\--soc_versionAscend910\--input_shapeinput_ids:1,512\--enable_kv_cachetrue--enable_kv_cachetrue让 ATC 在编译时预埋 KV Cache 的内存分配解码阶段不需要动态分配。第三步配置推理参数。config.yamlmodel:path:./llama-7b.ommax_length:4096batch_size:1kv_cache:enabled:truedtype:float16max_seq_length:4096inference:flash_attention:trueprefill_timeout_ms:100decode_loop_batch:true第四步运行推理服务。python run_infer_server.py--configconfig.yaml推理链路解析cann-recipes-infer 内部的 LLM 推理链路分三个阶段Prefill 阶段输入 Token 序列 → GE 图执行全部 Decoder Block 跑一次 → 生成第一个输出 Token → 所有层的 Key/Value 缓存到 KV Cache解码阶段循环上一步 Token → 单 Block 前向只算新 Token 的 Q跟 Cache 做 Attention → Cache 追加当前 Token 的 K/V → 生成下一个 Token → 重复直到结束结束条件生成 [EOS] Token 或达到 max_length。结束后用户可选的清理 KV Cache。KV Cache 如何优化推理吞吐KV Cache 是 LLM 推理的核心优化也是对显存最贪吃的部分。cann-recipes-infer 默认用 FP16 KV Cache。对于 LLaMA-13B40 层、40 头、隐藏维度 5120单 request 序列长度 4096 的 KV Cache 占用约 2.8GB。Batch4 时超过 11GB。cann-recipes-infer 支持三种 Cache 优化Cache 量化INT8。把 K/V 量化到 INT8Cache 大小减半。精度损失约 1-2% 对大多数模型可接受。cann-recipes-infer 的配置中设置kv_cache.dtype: int8即可开启。Paged KV Cache。把连续逻辑地址的 Cache 映射到不连续的物理页——不同 request 的 Cache 碎片可以被打包到同一物理页。CANN 8.0 原生支持无需应用层适配。Prefix Cache。共享 system prompt 的 request 可以复用同一段 Cache。比如两个用户都问了角色设定你是 Python 专家——这条 prompt 的 Cache 在两个对话中完全一样第二个人不需要重新计算。Prefix Cachecache_dir目录。kv_cache:prefix_caching:truecache_dir:/data/kv_cache_db/FlashAttention 如何减少显存占用cann-recipes-infer 的配置中flash_attention: true打开了 FlashAttention 融合。Prefill 阶段标准 Attention 需要保存完整的[n, n]Score 矩阵——n4096 时约 32MB。FlashAttention 把 Score 矩阵切成[block, block]的分块在片上计算并累加不写回 DDR。Prefill 显存占用节省约 15-20%。解码阶段标准 Attention 需要从 DDR 读取完整的 KV Cache 到片上再做计算。Cache 越大搬运量越大——这是解码阶段 Attention 的 Memory Bound。FlashAttention 在解码阶段用分块读取策略一次只读一个 Cache 分块到片上算完再读下一块。不要求全部 Cache 数据同时驻留在片上。继续学习cann-recipes-infer 把 LLM 推理的部署路径和优化配置固化成了可复用的参考实现。理解了推理链路的三个阶段和 KV Cache 管理方案后可以进一步深入 CANN 的算子层面——FlashAttention 在 ops-transformer 中的融合实现、KV Cache 在 Runtime 中的内存管理机制。cann-recipes-infer 仓库ops-transformer FlashAttention 实现实际部署中的性能数据在 8×Ascend 910 节点上部署 LLaMA-13B使用 cann-recipes-infer 的默认配置配置Prefill 延迟 (n2048)解码延迟 (每 Token)最大并发FP16, 单卡无法运行超显存——FP16, 4 卡 TP128ms18.5ms32FP16, 4 卡 TP INT8 Cache130ms19.2ms64INT8 Cache Prefix Cache131ms19.5ms80INT8 Cache 让并发翻倍。Prefix Cache 在 system prompt 长的场景角色设定类对话下效果最好——第一个用户创建了 Complete KV Cache第二个用户进来时前 500 Token 的 Cache 直接复用Prefill 延迟从 128ms 降到 65ms。从 cann-recipes-infer 到生产部署cann-recipes-infer 的参考实现可以直接作为生产部署的起点。但生产环境需要的额外工程工作请求排队与批处理cann-recipes-infer 的 Batch1 是单请求模式。生产环境需要做 Continuous Batching——不同进度的 request 混在一起提交超时与错误恢复推理调用可能超时25 秒单次推理的上限需要回退机制监控指标Prefill 延迟、解码延迟、Cache 命中率、显存使用率cann-recipes-infer 在单机单卡场景已经能直接跑通 LLM 推理。多卡场景需要结合张量并行和流水线并行的配置。通往生产环境的下一步是套上服务框架如 Triton 或 FastAPI加上请求管理和监控面板。总结cann-recipes-infer 的目标是消除 LLM 推理部署中从能跑到跑好之间的差距。它把 LLaMA 等主流模型在昇腾上的部署路径固化成了可复用的参考实现——从 ATC 转换的配置、KV Cache 的管理策略到 FlashAttention 的开启方式都包含在内。对于第一次在昇腾上部署 LLM 的团队从 cann-recipes-infer 的配置开始调优是最省时间的路径。KV Cache 管理对并发的影响KV Cache 的管理策略直接决定了 LLM 推理服务的最大并发数。以单张 Ascend 91032GB 显存部署 LLaMA-13B 为例模型参数占用约 26GB。FP16 下单 request 的 KV Cache 约 2.8GBn4096。剩余约 3.2GB 显存只能支持 1 个并发 request。开启 INT8 KV Cache 后 Cache 降到 1.4GB并发提升到 2。再启用 Prefix Cachesystem prompt 复用第一个 request 的 500 Token Cache 被后续 request 共用——第二次请求的 Cache 增量只有 3.5KB显存几乎不需要额外分配。这就是 KV Cache 优化在实际部署中的价值——同样是单张卡优化前后的并发能力可能差 4-10 倍。参考仓库cann-recipes-infer 仓库ops-transformer 算子仓库

相关文章:

cann-recipes-infer:LLM 在昇腾上的推理参考实现

大模型推理部署跟小模型完全是两回事。小模型一张卡就能装下,调几个参数就能跑。LLaMA-70B 参数 140GB,需要多卡拆分;解码阶段逐 Token 生成,需要 KV Cache 优化;Attention 是 Memory Bound,需要 FlashAtte…...

GE 图执行引擎:CANN 推理的计算图编排中心

在 CANN 的五层架构里,GE 处在 AscendCL 和 Runtime 之间的枢纽位置。它不直接参与算子计算,不管理 NPU 资源,但它决定了"这张计算图怎么跑"——算子的执行顺序、哪些可以并发的、哪些可以融合的、中间 Tensor 放哪。 GE&#xff…...

以灵活测试方案打造共享实验室,强化槟城IC设计生态系统

益莱储(Electro Rent) InvestPenang|IC 设计验证与特性表征共享实验室马来西亚槟城正积极推进其成为亚洲领先的半导体枢纽。在 InvestPenang 主导的「Penang Silicon Design 5KM(PSD5KM)」计划下,全新的 I…...

ops-rand:AI 训练中的随机数生成

AI 训练离不开随机数。权重初始化要随机、Dropout 要随机、数据打乱要随机、噪声注入要随机。每一次随机操作的背后,都有一组随机数生成器在工作。 CANN 的 ops-rand 仓库提供了 NPU 上的随机数生成算子——Dropout、随机 Shuffle、随机初始化、正态分布采样等。这…...

AzurLaneAutoScript深度解析:如何构建智能化的碧蓝航线自动化解决方案

AzurLaneAutoScript深度解析:如何构建智能化的碧蓝航线自动化解决方案 【免费下载链接】AzurLaneAutoScript Azur Lane bot (CN/EN/JP/TW) 碧蓝航线脚本 | 无缝委托科研,全自动大世界 项目地址: https://gitcode.com/gh_mirrors/az/AzurLaneAutoScript…...

戴尔G15散热终极控制:开源TCC-G15高效替代方案完全指南

戴尔G15散热终极控制:开源TCC-G15高效替代方案完全指南 【免费下载链接】tcc-g15 Thermal Control Center for Dell G15 - open source alternative to AWCC 项目地址: https://gitcode.com/gh_mirrors/tc/tcc-g15 对于戴尔G15笔记本用户而言,过热…...

[qemu+kvm]: vfio调用流程

透传pcie设备全流程: QEMU测:vfio_realize->-> vfio_get_group->open("/dev/vfio/group id")-> 进入内核态->vfio_group_fops_open //分配group, filep->private_data group;注意:/dev/vfio/group …...

2026数字营销岗位需要具备的能力有哪些

数字营销这几年变化很快,到了2026年,岗位要求已经不再只是“会投放、会写文案、会做表格”这么简单了。很多职场人都能明显感觉到:过去靠经验拍脑袋做营销,越来越难;未来真正有竞争力的人,往往是那些既懂业…...

终极QRazyBox指南:免费在线修复损坏二维码的完整教程

终极QRazyBox指南:免费在线修复损坏二维码的完整教程 【免费下载链接】qrazybox QR Code Analysis and Recovery Toolkit 项目地址: https://gitcode.com/gh_mirrors/qr/qrazybox 你是否遇到过重要二维码因为打印模糊、水渍污损或物理磨损而无法扫描的困扰&a…...

AI大模型推理并行策略:DP、TP、PP、SP、EP的基本原理

在做大模型推理部署的时候,经常会碰到模型参数量太大,一块GPU的显存装不下,或者单块GPU的算力跟不上推理速度的情况,这时候就需要用并行策略来解决这些问题。 因为计算的流程不一样,推理和训练用到的并行策略在实现上也不一样。 这篇文章就是帮大家快速搞懂常见并行策略…...

美联储加息降息,如何牵动美黄金价格?

在国际金融市场中,美联储的加息、降息政策,是影响美黄金价格最核心的因素之一。很多普通投资者看不懂复杂术语,小编将从机会成本、美元强弱、市场预期三个关键点,让大家轻松看懂金价涨跌逻辑。黄金本身是无息资产,不会…...

终极解决方案:在Chrome浏览器中实现密码无缝同步

终极解决方案:在Chrome浏览器中实现密码无缝同步 【免费下载链接】ChromeKeePass Chrome extensions for automatically filling credentials from KeePass 项目地址: https://gitcode.com/gh_mirrors/ch/ChromeKeePass 你是否厌倦了每次登录网站时都要手动从…...

OpenRPA完全指南:免费开源的企业级RPA自动化终极方案

OpenRPA完全指南:免费开源的企业级RPA自动化终极方案 【免费下载链接】openrpa Free Open Source Enterprise Grade RPA 项目地址: https://gitcode.com/gh_mirrors/op/openrpa OpenRPA是一款免费开源的企业级RPA(机器人流程自动化)软…...

13个 AI Agent 的基础概念

1、AgentAgent依靠大语言模型作为核心,同时拥有任务规划、信息记忆以及工具调用三大能力,能够自行拆分繁杂任务,反复执行操作,接收实时反馈并一步步推进流程直至任务收尾。它跳出了单纯输出文字的局限,不再只会被动听从…...

计算机网络知识点全面总结(有这一篇就够了!!!)

计算机网络知识点全面总结(有这一篇就够了!!!) 一、计算机网络概述 1.1 计算机网络的分类 按照网络的作用范围:广域网(WAN)、城域网(MAN)、局域网&#xff…...

为OpenClaw智能体工作流配置Taotoken作为统一模型服务源

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 为OpenClaw智能体工作流配置Taotoken作为统一模型服务源 在构建基于智能体(Agent)的自动化工作流时&#x…...

从 AI 工具到音乐生态:可酷加速布局,构建数字音乐全新基础设施

当数字音乐行业从流量竞争迈入生态竞争的新阶段,单一产品的功能边界已难以支撑企业长期增长,完善的生态协同能力逐渐成为企业突围的核心竞争力,也成为定义行业未来格局的关键变量。在此背景下,可酷公司近日对外披露其全新发展战略…...

Robo 3T:原生跨平台MongoDB管理工具的架构解析与技术实践

Robo 3T:原生跨平台MongoDB管理工具的架构解析与技术实践 【免费下载链接】robomongo Native cross-platform MongoDB management tool 项目地址: https://gitcode.com/gh_mirrors/ro/robomongo Robo 3T作为一款原生跨平台的MongoDB管理工具,为开…...

收藏 | LangChain vs LlamaIndex:大模型应用开发框架深度解析,小白也能轻松入门!

本文深入对比了LangChain和LlamaIndex两大框架的核心定位、功能模块及适用场景。LangChain是一个通用的LLM应用编排框架,通过LangGraph支持复杂Agent流程;LlamaIndex则专注于数据索引和检索,提供丰富的数据连接器和索引类型。文章还介绍了如何…...

以 AIGC 贯通设计 — 生产 — 营销:集之互动推动服装电商供应链进入全域协同新阶段

在快时尚主导、高频上新成为标配、流量窗口以周甚至以天计算的今天,服装电商的核心竞争力早已从单一的产品力、营销力,转向全链路供应链效率的竞争。当前行业普遍面临的痛点不再是某一环节的短板,而是全链路割裂:设计端与市场需求…...

2026年主流一键生成论文工具全攻略(含免费额度说明)

以下是当前学术圈口碑 TOP 的6 款 AI 写论文工具,覆盖从选题、开题到降重、答辩的论文全流程,剔除冗余工具,每款均附分步骤实操指南场景适配技巧,重点突出中文论文适配性,新手也能快速上手,效率翻倍。一、全…...

AIoT网关50+AI算法硬核加持,AIoT边缘计算赋能千行百业

在物联网与人工智能深度融合的时代,边缘侧的智能感知与决策能力成为行业数字化转型的核心。计讯物联TG465系列5G AIoT边缘计算机,以50成熟视觉AI算法为核心,搭载工业级强悍硬件,打造"AIIoT深度融合"的多模态智能体&…...

Diablo Edit2:5分钟掌握暗黑破坏神2终极角色编辑器

Diablo Edit2:5分钟掌握暗黑破坏神2终极角色编辑器 【免费下载链接】diablo_edit Diablo II Character editor. 项目地址: https://gitcode.com/gh_mirrors/di/diablo_edit 你是否厌倦了在暗黑破坏神2中反复刷装备的无尽循环?是否因为技能点分配失…...

Sunshine游戏串流终极指南:5大优化策略实现300%性能提升

Sunshine游戏串流终极指南:5大优化策略实现300%性能提升 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine Sunshine作为一款开源自托管的游戏串流服务器,为Mo…...

通过TaotokenCLI工具一键配置多开发环境提升团队协作效率

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 通过Taotoken CLI工具一键配置多开发环境提升团队协作效率 在团队协作开发中,一个常见的挑战是确保所有成员都能快速、…...

备考执业兽医考试哪里有免费资料可以领?

备战执业兽医考试,是不是还在四处搜罗备考资料?网上资源杂乱老旧、版本参差不齐,要么内容不全,要么找不到重点,浪费大把时间还没头绪。不用再盲目翻找、费心整理了!给大家推荐一个能免费领执业兽医全科资料…...

荷兰电商/教育/客服三大场景语音部署手册,含NL方言变体(Flemish Randstad)适配清单

更多请点击: https://codechina.net 第一章:荷兰语音技术生态与NL方言变体战略定位 荷兰语音技术生态正经历从标准荷兰语(Algemeen Nederlands, AN)向多维方言适应能力演进的关键阶段。NL方言变体——包括弗里斯兰语(…...

告别本科论文 “从零焦虑”:okbiye AI 写作如何用 “全流程定制” 终结熬夜改稿循环

okbiye-免费查重复率aigc检测/开题报告/毕业论文/智能排版/文献综述/AI PPT毕业论文 - Okbiye智能写作https://www.okbiye.com/ai/bylw 本科论文写到崩溃,是每个毕业生都懂的痛。 我见过凌晨三点的宿舍走廊,有人对着 Word 文档掉眼泪;也见过…...

二年级下册语文看图写话作文:长大以后做什么

二年级下册语文《长大以后做什么》看图写话,重点是:长大想做什么职业为什么想做以后会怎么努力老师最喜欢“有梦想 有原因 有行动”的内容。我用夸克网盘分享了「二年级下册语文作文」,链接:https://pan.quark.cn/s/3ee38f2d976…...

FLUX.1-dev-Controlnet-Union:一站式多模态图像控制解决方案,让AI生成更精准可控

FLUX.1-dev-Controlnet-Union:一站式多模态图像控制解决方案,让AI生成更精准可控 【免费下载链接】FLUX.1-dev-Controlnet-Union 项目地址: https://ai.gitcode.com/hf_mirrors/InstantX/FLUX.1-dev-Controlnet-Union 你是否曾经在AI图像生成中遇…...