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

CANN-ATB多卡推理-昇腾NPU上Llama70B怎么切到8张卡

CANN-ATB多卡推理-昇腾NPU上Llama70B怎么切到8张卡Llama2-70B 的权重 140GB单张 Atlas 800I A2 的 64GB 显存放不下。ATB 的多卡推理用 Tensor Parallel 把模型切到多张 NPU 上每张卡只存 1/N 的权重和 KV Cache。Tensor Parallel 的切法Llama2-70B 每层有两个并行维度可以切Attention 部分沿 head 维度切原始32 heads 在 1 张卡 TP216 heads 在卡016 heads 在卡1 TP48 heads 在每张卡 TP84 heads 在每张卡每个 head 独立计算 Attention不需要卡间通信。只在最后做 All-Reduce 把各 head 的输出合并。FFN 部分沿 ff_dim 维度切原始ff_dim28672 在 1 张卡 TP214336 在卡014336 在卡1 TP83584 在每张卡Gate/Up/Down 三个 Linear 各自切 ff_dim。Down Linear 的输出做 All-Reduce 合并。每层的通信模式Input → Attention (切head) → All-Reduce → FFN (切ff_dim) → All-Reduce → Output 不通信 合并 不通信 合并每层 2 次 All-Reduce。TP8 时每次 All-Reduce 通信量约 hidden_dim × 2 bytes 8KB延迟约 0.05ms。32 层 × 2 次 64 次通信总通信延迟约 3.2ms。ATB 的多卡配置fromatbimportLLM# 8卡 TPmodelLLM(meta-llama/Llama-2-70b-hf,devicenpu:0,1,2,3,4,5,6,7,# 8 张 NPUtensor_parallel_size8,dtypetorch.float16)outputmodel.generate(Hello,max_new_tokens100)ATB 自动把权重按 TP 维度切分每张卡加载自己那份权重。不需要手动切模型。权重加载HuggingFace 的权重是完整存储的。ATB 加载时按 TP rank 切分# ATB 内部逻辑简化版forname,paraminhf_model.named_parameters():ifq_projinnameork_projinnameorv_projinname:# Attention 权重按 head 切local_paramparam.chunk(tp_size,dim0)[tp_rank]elifgate_projinnameorup_projinnameordown_projinname:# FFN 权重按 ff_dim 切local_paramparam.chunk(tp_size,dim0)[tp_rank]else:# Embedding 和 LM Head 不切每张卡完整复制local_paramparam加载时间约 30-60 秒主要是磁盘 I/O。ATB 支持权重预加载到共享内存第二次启动只需 5 秒。KV Cache 的分摊TP 模式下 KV Cache 也按 head 维度切。每张卡只存自己负责的 kv_heads 的 KV CacheLlama2-70B (GQA, 8 kv_heads): 单卡 KV Cache 2 × 8 × 128 × seq_len × batch × 2 bytes TP8 每卡 KV Cache 2 × 1 × 128 × seq_len × batch × 2 bytes 单卡的 1/88 卡总 KV Cache 跟单卡一样大但分摊到 8 张卡上每卡显存压力小 8 倍。这就是为什么 TP 不省总显存但让大模型能放进多张小显存的卡。Pipeline Parallel vs Tensor ParallelATB 目前只支持 Tensor Parallel。Pipeline ParallelPP把不同层放到不同卡上层间串行通信。为什么 ATB 不支持 PP昇腾NPU的 HCCS 卡间带宽约 200GB/sAll-Reduce 延迟很低0.05ms。TP 的通信开销小不需要用 PP 来避免通信。PP 在带宽低的集群以太网互联才有优势。性能数据Atlas 800I A2 × 8Llama2-70BTP首 token 延迟 (ms)decode 速度 (tokens/s)单卡显存 (GB)1不支持显存不够--41201,200628852,40035TP8 的 decode 速度比 TP4 快 2 倍——因为每卡的 KV Cache 小了一半留给 batch 的显存更多并发更高。70B 模型用 8 卡 TP 是标配。ATB 的配置很简单指定tensor_parallel_size8就行。权重切分和通信都是自动的。仓库在这里https://atomgit.com/cann/ATB
http://www.gsyq.cn/news/1343468.html

相关文章:

  • 使用Coze制作一个可以“动”的存钱罐,比记账APP更易用
  • XRF导向的土壤重金属定量分析方法与应用【附模型】
  • Rust技术周刊 2026年第16周
  • 2026最新诚信优选 大同市新荣区黄金回收白银回收铂金回收彩金回收门店TOP5排行榜+联系方式推荐_转自TXT - 盛世金银回收
  • Spring Boot 2.7 项目用内置 Tomcat 配置 SSL 证书,yml 文件怎么写?
  • FinalBurn Neo:一场跨越时空的街机游戏考古之旅
  • 意法半导体STM32F407VET6现货
  • 工业防爆监控选型参考:辽宁及周边企业技术能力梳理
  • 告别“炼丹”:手把手用PyTorch实现PPO算法训练CartPole平衡杆(附完整代码与调参心得)
  • 计算机二级 WPS 文字题:样式调整考点 详细解析
  • ARMv8 AArch32虚拟内存系统与异常处理机制详解
  • 2026最新诚信优选 邯郸市肥乡区黄金回收白银回收铂金回收彩金回收门店TOP5排行榜+联系方式推荐_转自TXT - 盛世金银回收
  • 别再死记公式了!用Python手把手实现粒子群算法(PSO)优化函数寻优
  • 自动化运维:Ansible与基础设施即代码
  • CW-DAPLINK调试器开箱体验:从拆包到点亮第一个LED灯的全过程
  • AI驱动数字孪生:从静态镜像到自主决策的工业智能体
  • STM32 USB开发避坑指南:手把手教你读懂并配置端点描述符(附完整代码)
  • 2026最新诚信优选 邯郸市峰峰矿区黄金回收白银回收铂金回收彩金回收门店TOP5排行榜+联系方式推荐_转自TXT - 盛世金银回收
  • 全链路追踪:OpenTelemetry与Jaeger实战
  • 机器学习赋能多共振生物传感:从多维光学数据中挖掘精准检测新范式
  • 从点灯到跑起来:用STM32CubeMX生成代码后,如何在Keil里完成编译与一键烧录?
  • 保姆级教程:在H3C模拟器上复现BGP路由控制实验(含OSPF基础配置与排错)
  • 别再死磕YOLO了!用Siam-NestedUNet搞定工业质检中的“良品多、次品少”难题
  • 从论文AI率96%降至0?维普AIGC检测红黑榜实测,2026年5月最新
  • 别再为MOS管发热发愁了!手把手教你用STM32和IRF540并联搞定3A精密恒流源
  • 随机森林在精准农业中的落地实践:地理空间建模与田间部署
  • Whisky实用指南:3步在Mac上无缝运行Windows程序的深度解析
  • 从有限元到超多元:空间智能流态算法的数学原理
  • 小说爆火的本质(物理逻辑视角)——《文字定律》随笔
  • 不止于箱线图:用TCGA泛癌配对样本数据,画出更高级的基因表达点线图(附完整R代码)