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

举报
yd_213988710 发表于 2023/04/24 21:02:51 2023/04/24
【摘要】 昇腾AI基础知识华为AI全栈解决方案华为AI全栈解决方案是一整套以人工智能为核心的技术架构,覆盖数据采集、算力加速、端侧推理、云端训练、模型应用等方面,旨在为企业客户快速构建智能化业务,提升业务效率和用户体验。具体包括华为云最新一代AI计算平台Atlas,全场景AI加速器Ascend,丰富的AI应用开发工具包和开发套件,以及AI相关的各种服务和解决方案。华为AI全栈解决方案分为四个层面,应用...

昇腾AI基础知识


华为AI全栈解决方案

华为AI全栈解决方案是一整套以人工智能为核心的技术架构,覆盖数据采集、算力加速、端侧推理、云端训练、模型应用等方面,旨在为企业客户快速构建智能化业务,提升业务效率和用户体验。具体包括华为云最新一代AI计算平台Atlas,全场景AI加速器Ascend,丰富的AI应用开发工具包和开发套件,以及AI相关的各种服务和解决方案。

华为AI全栈解决方案分为四个层面,应用使能层、AI框架层、芯片使能层以及芯片层,每个层面提供了不同的功能。

  1. 应用使能层: 提供了完善的AI应用开发环境,如提供了ModelArts训练资源平台,方便企业和开发者快速构建AI应用,包括图像识别、自然语言处理、语音识别等。该层的功能是使应用开发更加简单易用,提高生产效率。
  2. AI框架层: 这一层提供了丰富的AI算法库和深度学习框架,包括MindSpore、TensorFlow、Caffe、PyTorch等,可以帮助科研人员和开发人员快速实现AI应用。该层的功能是提供AI算法和框架支持,促进AI技术的发展。
  3. 芯片使能层: 这一层提供针对AI任务优化的芯片架构和指令集扩展,例如华为自主研发的昇腾芯片,可以为AI应用提供更高的性能和效率。该层的功能是提供硬件支持,为AI应用提供更高的性能和效率。
  4. 芯片层: 这一层提供硬件实现,包括芯片设计、制造和测试等,旨在为AI应用提供更加高效的计算能力和更优秀的性能表现。该层的功能是实现硬件支持,为其他层提供更好的性能和效率。

1.png


昇腾AI计算平台CANN逻辑架构

CANN(Compute Architecture for Neural Networks)是华为针对AI场景推出的异构计算架构,对上支持多种AI框架,对下服务AI处理器与编程,发挥承上启下的关键作用,是提升昇腾AI处理器计算效率的关键平台。同时针对多样化应用场景,提供高效易用的编程接口,支持用户快速构建基于昇腾平台的AI应用和业务。CANN架构自上而下可以分为以下五层:

  1. 昇腾计算语言接口,是昇腾计算开放编程框架,对开发者屏蔽底层多种处理器差异,提供算子开发接口TBE、标准图开发接口AIR、应用开发接口,支持用户快速构建基于Ascend平台的AI应用和业务。
  2. 昇腾计算服务层,主要提供昇腾算子库AOL,通过神经网络(Neural Network,NN)库、线性代数计算库(Basic Linear Algebra Subprograms,BLAS)等高性能算子加速计算;昇腾调优引擎AOE,通过算子调优OPAT、子图调优SGAT、梯度调优GDAT、模型压缩AMCT提升模型端到端运行速度。同时提供AI框架适配器Framework Adaptor用于兼容Tensorflow、Pytorch等主流AI框架。
  3. 昇腾计算编译层,可以通过图编译器(Graph Compiler)将用户输入中间表达(Intermediate Representation,IR)的计算图编译成昇腾硬件可执行模型;同时借助张量加速引擎TBE(Tensor Boost Engine)的自动调度机制,高效编译算子。
  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)等。

cke_4414.png


昇腾计算语言接口AscendCL

AscendCL(Ascend Computing Language,昇腾计算语言)是昇腾计算开放编程框架,是对底层昇腾计算服务接口的封装,它提供运行时资源(例如设备、内存等)管理、模型加载与执行、算子加载与执行、图片数据编解码/裁剪/缩放处理等API库,实现在昇腾CANN平台上进行深度学习推理计算、图形图像预处理、单算子加速计算等能力。简单来说,就是统一的API框架,实现对所有资源的调用

cke_5836.png

AscendCL 的优势如下:

1.高度抽象:算子编译、加载、执行的 API 归一,相比每个算子一个 API , AscendCL 大幅减少 AP 数量,降低复杂度。

2.向后兼容: AscendCL 具备向后兼容,确保软件升级后,基于旧版本编译的程序依然可以在新版本上运行。

3.零感知芯片:一套 AscendCL 接口可以实现应用代码统一,多款昇腾处理器无差异。

AscendCL 的主要应用场景如下:

1.开发应用:用户可以直接调用 AscendCL 提供的接口开发图片分类应用、目标识别应用等。

2.供第三方框架调用:用户可以通过第三方框架调用 AscendCL 接口,以便使用昇腾 AI 处理器的计算能力。

3.供第三方开发 lib 库:用户还可以使用 AscendCL 封装实现第三方 lib 库,以便提供昇腾 AI 处理器的运行管理、资源管理等能力。

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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