目录

前言

一、昇腾AI基础知识介绍

1.1. 全栈全场景解决方案

1.2.CANN逻辑框架

二、昇腾平台PyTorch模型迁移

2.1 PyTorch全景

 2.2.PyTorch模型迁移例


前言

本文主要是记录一下新手入门的一些基础知识,因为之前对昇腾AI有所了解,所以还是主要记录CANN逻辑框架和PyTorch全景的一些笔记。


 

一、昇腾AI基础知识介绍

1.1. 全栈全场景解决方案

老师先介绍了全站全场景的框架(如图)

昇腾AI处理器架构与开发 pdf_python

1.2.CANN逻辑框架

CANN是异构计算架构,能够释放其硬件的澎湃性能,也是各种AI框架的核心底层。

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

昇腾AI异构计算架构(Compute Architecture for Neural Networks,CANN)被抽象成五层架构,如下图所示。

昇腾AI处理器架构与开发 pdf_异构计算_02

二、昇腾平台PyTorch模型迁移

目标
。了解Pytorch是如何适配到昇腾平台上的
。了解Davinci硬件架构以及什么样的模型在昇腾上更亲和
。了解软件术语和Ascend-Pytorch的安装步骤
。了解如何将原生Pytorch的模型代码是如何适配到Ascend-Pytorch

2.1 PyTorch全景

在线对接适配方案特性及优点:

  • 最大限度的继承PyTorch框架动态图的特性。 最大限度的继承原生PyTorch上的使用方式,用户在移植到昇腾AI处理器设备上时,在开发方式和代码重用方面做到最小的改动。
  • 最大限度的继承PyTorch原生的体系结构保留框架本身出色的特性,比如自动微分、动态分发、Debug、Profiling、Storage共享机制以及设备侧的动态内存管理等。
  •  扩展性好。在打通流程的通路之上,对于新增的网络类型或结构,只需涉及相关计算类算子的开发和实现。框架类算子,反向图建立和实现机制等结构可保持复用。

昇腾AI处理器架构与开发 pdf_异构计算_03

pytorch能够使得显存占用更小,并且训练的速度提升为原来的2-4倍。

并且对于用户来说,尽量不需要改动代码,gpu和npu的的迁移顺畅。

NPU的介绍

昇腾AI处理器架构与开发 pdf_pandas_04

 2.2.PyTorch模型迁移例子

由于后面我报名的是进阶版,这里的模型迁移例子主要是新手班的内容,各位看官需要的话可以食用新手班的笔记。

主要是三种方法:

  • 手工迁移
  • 脚本转换工具(msFmkTransplt)
  • 自动迁移(推荐)