Ascend for PyTorch 训练营学习笔记

举报
黄生 发表于 2026/07/26 11:13:38 2026/07/26
【摘要】 茶思屋专题:昇腾(Ascend)for PyTorch 训练营(https://www.chaspark.com/#/s/AscendforPyTorch2026?multi=zh)最近在做算子开发,受困于其隧道视野,思路打不开。于是很想看一下上层相关的东西,这个课程正是我需要的,先看第一期,总体介绍。笔记如下:总体定位与课程目标技术栈:从底层昇腾处理器(310/910/950 等)→ CA...

茶思屋专题:昇腾(Ascend)for PyTorch 训练营(https://www.chaspark.com/#/s/AscendforPyTorch2026?multi=zh)

最近在做算子开发,受困于其隧道视野,思路打不开。于是很想看一下上层相关的东西,这个课程正是我需要的,先看第一期,总体介绍。笔记如下:

总体定位与课程目标

  • 技术栈:从底层昇腾处理器(310/910/950 等)→ CANN 芯片使能 → AI 框架层(Ascend for PyTorch 与 MindSpore、TensorFlow 等并列)→ 上层应用使能(MindSpeed、MindIE)→ 业界开源项目(vLLM、SGL 等)。
  • 课程目标:理解 Ascend for PyTorch 如何让 NPU 对接原生 PyTorch 高效运行;掌握其总体架构,包括 API、分布式并行、运行时优化、torch.compile 等核心模块。

介绍PyTorch 全流程 API 与大模型实战示例

  • 典型训练流程:数据处理 → 模型构造(nn.Module)→ 图模式加速(torch.compile)→ 分布式并行(FSDP)→ 迭代训练/推理(LossAdamW)。
  • Qwen3-MoE 代码示例:展示了三段关键代码——用基础 torch API 构造 MoE 模型、用 torch.compile 进行图编译加速、用 fsdp.fully_shard + hccl(昇腾通信后端)实现分布式并行训练。

Ascend for PyTorch是项目名,Torch-NPU是软件包名,二者可看为一个东西。

Ascend for PyTorch 的核心技术机制——基于 PyTorch 社区的 PrivateUse1 通用设备扩展机制,以 out-of-tree(树外) 方式接入昇腾 NPU。

  • 对 PyTorch 社区:只需维护公共的 DispatchKey 和通用代码逻辑,新设备后端的具体实现放到 out-of-tree 模块,既保证主代码稳定,又提升对多样性算力的兼容性。
  • 对设备厂商(华为):NPU 后端作为独立模块开发,不侵入 PyTorch 内核,因此能快速跟进新 torch 版本,同时拥有充分自由度做硬件专属优化。
  • 架构示意:PyTorch 核心(In-tree)通过 Dispatcher 将 PrivateUse1 分发到 out-of-tree 的 NPU Backend,与 CUDA、CPU 等后端并列。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。