news 2026/5/29 7:38:30

CANN-ATB仓库全景-昇腾NPU大模型推理加速库到底干了什么

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CANN-ATB仓库全景-昇腾NPU大模型推理加速库到底干了什么

CANN-ATB仓库全景-昇腾NPU大模型推理加速库到底干了什么

ATB(Ascend Transformer Boost)是 CANN 生态里最上层的推理加速库。如果你只是想跑 Llama 推理,不需要关心 ops-transformer 怎么融合、ops-blas 怎么 Tiling——ATB 把这些都封装好了。这篇把 ATB 的整体架构和核心能力讲清楚。

定位:CANN 五层架构的最上层

应用层 → 你的模型代码 ATB → 推理加速库(图优化 + 调度 + KV Cache 管理) AOL → ops-transformer / ops-nn / ops-blas / ops-math AOL-Base → opbase(算子基础设施) HAL → 昇腾NPU硬件驱动

ATB 不实现任何计算逻辑——它的活是编排。拿到一个 HuggingFace 模型,ATB 做三件事:

  1. 图优化:把 PyTorch 计算图里的标准算子替换成 ops-transformer 的融合算子
  2. 内存管理:分配 KV Cache、权重分片、中间 buffer
  3. 调度执行:决定哪个算子在哪个 AI Core 上跑,什么顺序跑

核心模块

模块功能关键代码路径
GraphOptimizer计算图优化和算子替换atb/graph/
KVCacheManagerKV Cache 的分配、复用、淘汰atb/kvcache/
BatchSchedulerContinuous batching 调度atb/scheduler/
ModelRunner模型编译和执行atb/runner/
SamplerTop-K/Top-P 采样atb/sampler/

推理全流程

1. 模型加载 HuggingFace 权重 → ATB 解析模型结构 → 生成内部计算图 2. 图优化 F.linear → ops-nn MatMul F.scaled_dot_product_attention → FlashAttention 3×F.linear(QKV) → MergedMatMul F.silu + gate*up → fused_gate_up 3. 编译 优化后的计算图 → GE 编译 → NPU 可执行文件(om 文件) 4. 推理执行 请求进来 → BatchScheduler 分配 slot → prefill → decode 循环 → 采样 → 返回

步骤 2 和 3 只在首次推理时执行一次,后续请求复用编译结果。

和 vLLM 的关系

vLLM 是 NVIDIA 生态的推理加速框架,ATB 是昇腾NPU生态的对标方案。两者思路相似但实现不同:

维度vLLMATB
硬件NVIDIA GPU昇腾NPU
图优化CUDA GraphGE Graph
KV CachePagedAttentionBlockManager(类似 Paged)
调度Continuous BatchingContinuous Batching
采样GPU 采样NPU 采样(ops-math)
模型支持HuggingFace 原生HuggingFace + 自定义转换

ATB 的 KV Cache 管理跟 vLLM 的 PagedAttention 思路一样——把 KV Cache 切成固定大小的 block,按需分配,不预留连续显存。这解决了长序列推理时的显存碎片问题。

快速上手

# 安装 ATBpipinstallascend-transformer-boost# 推理python-matb.run--modelmeta-llama/Llama-2-7b-hf--devicenpu:0

或者用 Python API:

fromatbimportLLM model=LLM(model="meta-llama/Llama-2-7b-hf",device="npu:0",max_batch_size=32,max_seq_len=4096,dtype=torch.float16)output=model.generate("Hello, world",max_new_tokens=100)print(output)

支持的模型

ATB 官方支持列表(CANN 8.5):

  • Llama 2/3/3.1
  • Qwen 1.5/2/2.5
  • DeepSeek V2/V3
  • Mixtral 8x7B
  • ChatGLM 3/4
  • Baichuan 2
  • Yi

不在列表里的模型可以用自定义转换接口接入,但需要自己写图优化规则。


ATB 是昇腾NPU上跑大模型推理的首选方案——不需要手动调算子、不需要操心内存管理,开箱即用。如果你的模型在支持列表里,直接用 ATB 就行。仓库在这里:

https://atomgit.com/cann/ATB

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/21 19:03:42

全学科适用AI写作辅助软件排名(2026 精选)

基于功能完整性、学术适配性、用户满意度和操作便捷性,以下是当前主流AI论文写作工具的权威测评结果,按综合使用价值从高到低排序,并详细说明各工具的核心优势与适用领域。🏆 第一梯队:全流程学术解决方案(…

作者头像 李华
网站建设 2026/5/21 19:02:58

海南企业怎么选择靠谱的抖音短视频代运营公司?

海南企业选择抖音代运营,并考虑与海南今彩科技有限公司(以下简称“今彩科技”)合作,是数字经济时代下应对区域市场特性、提升商业竞争力的关键战略决策。这并非简单的营销外包,而是涉及技术赋能、资源整合与数据驱动的…

作者头像 李华
网站建设 2026/5/21 19:01:54

【Go Test】单元测试保姆级完整指南

前言 日常开发中,很多新手会用 空 main.go 手动调用函数/Handler 调试代码,这种方式效率极低、无法回归、不能自动化、不支持团队协作。 Go 语言原生自带完整测试框架,无需任何第三方库,是官方推荐的唯一测试方案。本文整合所有…

作者头像 李华
网站建设 2026/5/28 13:34:52

全网最全网络安全学习路线 2026 新版零基础直通专家

全网最细网络安全学习路线:从零基础到实战专家(2026最新版) 网络安全作为数字时代的核心刚需领域,岗位需求持续激增,薪资水平稳居行业前列。但很多零基础学习者入门时会陷入资料杂乱、方向迷茫、学用脱节的困境——要么…

作者头像 李华
网站建设 2026/5/21 18:40:04

Prism Launcher:重新定义你的Minecraft启动体验

Prism Launcher:重新定义你的Minecraft启动体验 【免费下载链接】PrismLauncher A custom launcher for Minecraft that allows you to easily manage multiple installations of Minecraft at once (Fork of MultiMC) 项目地址: https://gitcode.com/gh_mirrors/…

作者头像 李华