【2023 · CANN训练营第一季】昇腾AI入门课(Pytorch)——第一章学习笔记

举报
STRUGGLE_xlf 发表于 2023/04/16 20:08:21 2023/04/16
【摘要】 第一章 昇腾AI基础知识介绍 第2节 昇腾AI全栈架构昇腾 AI 全栈可以分成四个大部分:1.应用使能层面,此层面通常包含用于部署模型的软硬件,例如 API 、 SDK 、部署平台,模型库等等。2. AI 框架层面,此层面包含用于构建模型的训练框架,例如华为的 MindSpore 、TensorFlow 、 Pytorch 等。3.异构计算架构,偏底层、偏通用的计算框架,用于针对上层 AI...

第一章 昇腾AI基础知识介绍

第2节 昇腾AI全栈架构

昇腾 AI 全栈可以分成四个大部分:
1.应用使能层面,此层面通常包含用于部署模型的软硬件,例如 API 、 SDK 、部署平台,模型库等等。
2. AI 框架层面,此层面包含用于构建模型的训练框架,例如华为的 MindSpore 、
TensorFlow 、 Pytorch 等。
3.异构计算架构,偏底层、偏通用的计算框架,用于针对上层 AI 框架的调用进行加速,力求向上支持多种 AI 框架,并在硬件上进行加速。
4.计算硬件,本层是 AI 计算的底座,有了强力的芯片及硬件设备,上层的加速才有实施的基础。

image.png

第3节 异构计算架构CANN

image.png
华为公司面向计算机视觉、自然语言处理、推荐系统、类机器人等领域量身打造了基于"达芬奇( DaVinci )架构"的昇腾( Ascend ) AI 处理器,开启了智能之旅。为提升用户开发效率和释放昇腾 AI 处理器澎湃算力,同步推出针对 AI 场景的异构计算架构 CANN ( Compute Architecture for Neural Networks ), CANN 通过提供多层次的编程接口,以全场景、低门槛、高性能的优势,支持用户快速构建基于 Ascend 平台的 AI 应用和业务。
昇腾 AI 异构计算架构( Compute Architecture for Neural Networks , CANN )被抽象成五层架构,如下图所示。
image.png

1.异腾计算语言接口
异腾计算语言( Ascend Computing Language , AscendCL )接口是昇腾计算开放编程框架,是对低层昇腾计算服务接口的封装。它提供 Device (设备)管理、 Context (上下文)管理、 Stream (流)管理、内存管理、模型加载与执行、算子加载与执行、媒体数据处理、 Graph (图)管理等 API 库,供用户开发人工智能应用调用。
2.异腾计算服务层
本层主要提供异腾计算库,例如神经网络( Neural Network , NN )库、线性代数计算库( Basic Linear Algebra Subprograms . BLAS )等;昇腾计算调优引擎库,例如算子调优、子图调优、梯度调优、模型压缩以及 AI 框架适配器。
3.昇腾计算编译引擎
本层主要提供图编译器( Graph Compiler )和 TBE ( Tensor Boost Engine )算子开发支持。前者将用户输入中间表达( Intermediate Representation , IR )的计算图编译成 NPU 运行的模型。后者提供用户开发自定义算子所需的工具。
4.异腾计算执行引擎
本层负责模型和算子的执行,提供如运行时( Runtime )库(执行内存分配、模型管理、数据收发等)、图执行器( Graph Executor )、数字视觉预处理( Digital Vision Pre - Processing , DVPP )、人工智能预处理( Artificial Intelligence Pre - Processing, AIPP )、华为集合通信库( Huawei Collective Communication Library , HCCL )等功能单元。
5.昇腾计算基础层
本层主要为其上各层提供基础服务,如共享虚拟内存( Shared Virtual Memory , SVM )、设备虚拟化( Virtual Machine , VM )、主机﹣设备通信( Host Device Communication , HDC )等。

第4节 昇腾计算语言接口AscendCL

image.png

AscendCL ( Ascend Computing Language ,昇腾计算语言)
是昇腾计算开放编程框架,是对底层昇腾计算服务接口的封装,它提供运行时资源(例如设备、内存等)管理、模型加载与执行、算子加载与执行、图片数据编解码/裁剪/缩放处理等 API 库,实现在昇腾 CANN 平台上进行深度学习推理计算、图形图像预处理、单算子加速计算等能力。简单来说,就是统一的 API 框架,实现对所有资源的调用。
image.png
AscendCL 的优势如下:
1.高度抽象:算子编译、加载、执行的 API 归一,相比每个算子一个 API , AscendCL 大幅减少 AP 数量,降低复杂度。
2.向后兼容: AscendCL 具备向后兼容,确保软件升级后,基于旧版本编译的程序依然可以在新版本上运行。
3.零感知芯片:一套 AscendCL 接口可以实现应用代码统一,多款昇腾处理器无差异。 AscendCL 的主要应用场景如下:
1.开发应用:用户可以直接调用 AscendCL 提供的接口开发图片分类应用、目标识别应用等。
2.供第三方框架调用:用户可以通过第三方框架调用 AscendCL 接口,以便使用昇腾 AI 处理器的计算能力。
3.供第三方开发 lib 库:用户还可以使用 AscendCL 封装实现第三方 lib 库,以便提供昇腾 AI 处理器的运行管理、资源管理等能力。

第5节 章节小测

1、CANN提供的昇腾语言计算接口是?

A. AscendCL

B. ATC

C. AOE

D. ACE

正确答案:A

2、昇腾目前支持以下哪种AI深度学习框架?

A. 昇思MindSpore

B. TensorFlow

C. Pytorch

D. 以上都支持

正确答案:D

3、CANN包含以下哪些内容?

A. 统一APP编程语言

B. 统一网络构图接口

C. 高性能计算引擎以及算子库

D. 基础服务

正确答案:ABCD

4、以下哪些描述是正确的?

A. CANN仅支持推理场景。

B. CANN支持业界主流AI框架,例如MindSpore、TensorFlow等。

C. CANN提供标准的编程接口AscendCL。

D. CANN提供昇腾计算库,例如神经网络(Neural Network,NN)库、线性代数计算库(Basic Linear Algebra Subprograms,BLAS)。

正确答案:BCD

5、昇腾AI全栈包括昇腾AI系列硬件、异构计算架构CANN、AI框架MindSpore、全流程开发工具链等。

正确答案:√

image.png

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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