新闻资讯

华为昇腾师资培训沙龙·南京场 | 华为昇腾 ACL 语言开发实践全程干货来了!看完就实操系列

华为昇腾师资培训沙龙·南京场 | 华为昇腾 ACL 语言开发实践全程干货来了!看完就实操系列

自今年疫情以来,AI 技术加速进入了人们的视线,在抗疫过程中发挥了重要作用,产业发展明显提速,我国逐步走出了一条由需求导向引领商业模式创新、市场应用倒逼基础理论和关键技术创新的发展道路,AI 人才的争夺战也正式打响。

华为昇腾师资培训沙龙·南京场 | 华为昇腾 ACL 语言开发实践全程干货来了!看完就实操系列

不仅如此,2020 年人工智能核心产业规模超 1500 亿,带动相关产业规模超 1 万亿,而人才缺口却高达 500 万人。在产业结构升级和新基建的推动下,AI 技术人才已经到了供不应求的时刻。就目前我国人工智能高端人才环境看来,大部分高校人工智能专业缺乏成熟的人才培养方案,新基建领域技术人才缺口巨大,薪资水平和发展空间也相当优越,同样,AI 技术包含众多的细分技术亦需要大量时间进行研究与实践,这对于新时代的开发者们而言也是更高的挑战。

为了助力高校人工智能领域人才培养及学科建设、以及人工智能领域优秀人才持续且稳定的输入,科技巨头华为特别发起了《华为昇腾师资培训沙龙》系列活动,面向广大高校教师提供昇腾全栈全场景 AI 技术知识点培训,通过理论+案例实操的结构,深入浅出地剖析昇腾能力及技术,让与会高校老师能够更加全面、深入地认识昇腾、使用昇腾,从而可以将昇腾相关知识点融入学生培养体系,为人工智能人才培养打造良好的成长环境。

8 月 24 日,在华为昇腾师资培训沙龙·南京场上,华为南京研究所所长郭坤表示,在本次对业界做出生态能力开放前,华为内部就建立了全员认证及赋能活动,首先在在内部将生态能力质量打磨好,以加速相关推广。而在芯片的使能和应用使能两个方面而言,华为南京研究所把自己定位成华为的 AI 使能能力中心,在该领域有着丰富的积累及完整的人员构成,在芯片使能(异构计算架构)方面,深入研究如何达到软硬件解耦、端边云协同的高技能算子开发和图融合技术,体现了华为在该领域扎实的布局。同时,华为南京研究所的品牌是活力和聚力,而生态的本质也正是「活力」和「聚力」,华为也将继续携手众高校,共创未来昇腾生态。

华为昇腾师资培训沙龙·南京场 | 华为昇腾 ACL 语言开发实践全程干货来了!看完就实操系列华为南京研究所所长 郭坤

南京大学人工智能学院副院长黎铭表示,国内人工智能人才供求比例严重失衡,人工智能作为第四次工业革命的重要推动力之一,人才短缺问题直接制约了我国各产业技术发展与提升。在这样的大背景下,唯有人才「增量」方能从根本上解决问题。随着我国发展进入新时代,许多领域逐渐进入「无处模仿、自主探索创新时期」,科教领域亦然。对于高校而言,应该担起为我国人工智能事业培养高水平专业人才的责任。

演讲中,黎铭分享了南京大学人工智能学院在 AI 人才培养方面的思考与探索:高校应面向科学前沿、国家需求、产业进步,培养具备源头创新能力、具备解决企事业单位关键技术难题能力的高水平人工智能专业人才。不同高校可根据自己的培养目标作出符合其自身特点的培养体系设置,但良好的数学基础、扎实的计算 / 程序功底、全面的人工智能专业知识可能是高水平 AI 人才知识结构应具备的共性特征。

华为昇腾师资培训沙龙·南京场 | 华为昇腾 ACL 语言开发实践全程干货来了!看完就实操系列

南京大学 人工智能学院副院长 黎铭

华为计算产品线高校教学合作总监李鹏认为,计算产业正面临变革,驱动着计算架构的创新,从芯片到系统之中需要系统级的人才,AI 人才培养的主要责任就落在了高校身上。未来的 20~30 年, AI 技术将与过去的蒸汽机、电力系统、互联网技术齐平,成为新型的通用目的技术(GPT),深刻推动社会发展进程,而如何让专业人才快速将专业知识转化为生产力,也是华为目前在积极探索的阶段。为此,华为提出「沃土计划 2.0」,与众高校合作构建智能基座,从硬件到软件、从教材到社区、从平台提供到项目实践等方面提供全方位支持,旨在打造全栈、全场景型 AI 人才,持续赋能合作伙伴,真正培养出高水平、高价值人才。

华为昇腾师资培训沙龙·南京场 | 华为昇腾 ACL 语言开发实践全程干货来了!看完就实操系列华为计算产品线高校教学合作总监 李鹏

活动当天华为南京研究所 AI 全栈开放实验室在参加沙龙的江苏、山东地区各大高校老师们的见证下由研究所所长及各分部部长完成揭牌开放。该实验室集中昇腾、NAIE、智慧工程等 AI 使能产品,作为面向客户、中小创、高校老师等合作伙伴的参观、联调、测试、孵化的重要承载场所。所长郭坤带领各位与会老师参观,相关产品负责人给老师们做详细介绍。

华为昇腾师资培训沙龙·南京场 | 华为昇腾 ACL 语言开发实践全程干货来了!看完就实操系列

华为昇腾师资培训沙龙·南京场 | 华为昇腾 ACL 语言开发实践全程干货来了!看完就实操系列

在为期两天的沙龙中,来自华为的专家及合作伙伴带来了华为全场景的 AI 技术环境及丰富的 AI 平台能力等内容。其中,由华为海思技术专家谭涛带来的《基于昇腾 Ai1 推理云服务的 ACL 开发实践》的主题分享尤为精彩。在如今深度神经网络飞速发展、对芯片算力需求与日俱增的当下,华为昇腾系列 AI 处理器芯片可以对整型数或浮点数提供强大高效的乘加计算力。华为昇腾 AI 处理器分为训练和推理两种,其中推理芯片支持将训练好的离线模型通过 ACL (昇腾计算语言) 编程框架部署到具体业务场景,并对深度神经网络进行特殊优化。

华为昇腾师资培训沙龙·南京场 | 华为昇腾 ACL 语言开发实践全程干货来了!看完就实操系列

华为海思技术专家 谭涛

华为昇腾师资培训沙龙·南京场 | 华为昇腾 ACL 语言开发实践全程干货来了!看完就实操系列

ACL 的基本概念

**
**

ACL 有三大主要能力:

1、模型推理

机器学习应用的内里模型等同于「黑匣子」的存在,开源框架训练出来的模型想要直接使用必须要在原有框架上进行,无法直接在业务场景中使用,而 ACL 则在应用层面加载一个离线模型做推理,ACL 离线模型「离」的是训练时使用的框架,脱离框架的模型可以使用 ACL 直接加载至昇腾系列处理器做推理。

2、加载单算子做推理

除了验证算子的正确性以外,该能力还可以在某些情况下进行模型的前处理、后处理做算子化,避免集成-验证的繁琐步骤。

3、数据预处理

不仅如此,现下实现图像预处理更多是通过通用计算 CPU 进行,效率较低。在昇腾里有专用的硬件和配套的软件(DVPP)对数字图像进行软件预处理,通过 ACL 可以调用此能力。

ACL 目前最成熟的是 C++版本(兼容 C 语言方式),但 Python 版本的使用方法也十分相像。通过 ACL 可调用计算资源(AI Core & AI CPU)、运行管理器(Runtime)、GE 执行器等。

计算侧旁路:

在算子的计算过程中,ACL 可对单算子进行加速计算,节省掉算子计算过程中重复验证的步骤,大大减轻开发验证的压力,并通过融合引擎(FE)进行算子融合分析,得出往下层传递的原子算子;下层的张量加速引擎(Tensor Boost Engine)作为算子的兵工厂,支持多种类的算子计算,再由其往下分发给运行时环境、任务调度、驱动等等,最后落到芯片上做实际计算。整体流程为:图分析-融合分析-算子分析-硬件计算。

ACL 虽然可以用于直接构建应用,但更多地可以将能力进行封装后用于形成一系列行业 SDK,这是华为智能计算产品线正在做的事情,也鼓励行业伙伴一同扩展 Lab 库。

华为昇腾师资培训沙龙·南京场 | 华为昇腾 ACL 语言开发实践全程干货来了!看完就实操系列

ACL 定义的编程模型

在使用 ACL 之前,需要了解 ACL 定义的编程模型,理解各类运行资源的概念及其相互关系。

1)初始化:需要初始化整个 ACL 的运行时环境。首先需要动用一个接口 acl.init 值得注意的是,如果第一行有初始化,最后一行记得「去初始化」,否则结束时程序会崩溃。

2)申请计算资源:计算资源总体分为 4 大部分:Dveice、Context、Stream、Event,在使用前需要先申请计算资源。正常情况下,只需要设置一个 Dveice,系统会暂时隐式创建一套默认的资源(剩下的三个资源),避免繁琐操作。而在使用完资源后将资源进行释放即可。

3)加载模型:提供多个模型加载接口,支持从磁盘中加载离线模型及加载内存中模型。且模型加载到内存后可以选择管理位置或托管给 ACL 。

4)获取模型信息:上一级模型是一串二进制数据,模型描述需要特殊的数据类型,需要使用指定的函数来获取该数据类型,获取到模型类型后,还需要根据该类型来获取模型的输入输出个数,这样既可获取模型,又可获取模型的各种相关信息。

华为昇腾师资培训沙龙·南京场 | 华为昇腾 ACL 语言开发实践全程干货来了!看完就实操系列

Host 与 Device 概念

5)申请 Device 内存:Host 用于加载、数据收集,而收集完的数据需要上传至 Device 进行计算并保存 ,所以要对 Device 进行内存申请。需要提醒的是,手动申请的内存一定要手动释放,程序自动申请的可以不用再度操作。

6)数据传输:将数据从 Host 侧拷贝至 Device 侧,参数的顺序是:目的内存地址、目的内存量大小、源内存地址、拷贝长度、拷贝方向,Direction 拷贝方向当前支持四种:host>host、host>device、device>host、device>device。

7)准备推理数据:在数据传输之前还需要准备推理所需数据结构,模型推理所需的输入输出数据,是经过一种特定的叫「Dataset」的数据结构来组织的,即所有的输入组成了一个 Dataset ;而其中的每一个输入叫「DataBuffer」,所有的 DataBuffer 构成了一个 DataSet。至此就准备好了模型的输入和输出。

华为昇腾师资培训沙龙·南京场 | 华为昇腾 ACL 语言开发实践全程干货来了!看完就实操系列

模型推理实例

7)推理:所有素材准备好后,模型推理已经是顺理成章的事情了。最终的推理往往只需要一行代码。

8)申请 Host 内存:在前面的步骤中,使用了 Device 进行了数据计算,但数据无法直接在 Device 侧上进行使用,所以需要申请 Host 内存,让数据从 Device 侧上返回 Host 侧才能使用。

在 main 函数中依次执行以上流程,即可获取完整的 ACL 图片分类推理结果(支持多张图片推理)。

华为昇腾师资培训沙龙·南京场 | 华为昇腾 ACL 语言开发实践全程干货来了!看完就实操系列

华为昇腾师资培训沙龙·南京场 | 华为昇腾 ACL 语言开发实践全程干货来了!看完就实操系列

华为秉承实践知真理原则

全方位赋能合作伙伴加速 AI 人才输出

**
**

对于高校合作伙伴而言,华为提供的全栈全场景的 AI 算力平台及丰富的社区、工具资源,让开发者们能够获得全方位系统化的支持,更好地学习及实践。同时,开发者及 AI 专业的同学们也可以通过 ACL 语言走进 AI 应用大门,通过实践、社区学习 / 输出得到多层面结构的成长。华为昇腾将继续与各方力量携手,共同为社会持续输出高端高质量的 AI 人才。

如果觉得本次的内容听的还不够过瘾,想要了解更多华为昇腾相关技术实践,不用着急,《华为昇腾师资培训沙龙》接下来将在成都、西安、北京展开系列培训,点击下方阅读原文,即刻报名!

华为昇腾师资培训沙龙·南京场 | 华为昇腾 ACL 语言开发实践全程干货来了!看完就实操系列

华为昇腾师资培训沙龙·南京场 | 华为昇腾 ACL 语言开发实践全程干货来了!看完就实操系列点击「阅读原文」,立即报名!

来源链接:mp.weixin.qq.com