华为昇腾师资培训沙龙·南京场 |华为昇腾 ACL 语言开发实践全程干货来了!看完就实操系列...
自今年疫情以来,AI 技术加速进入了人们的视线,在抗疫过程中发挥了重要作用,产业发展明显提速,我国逐步走出了一条由需求导向引领商业模式创新、市场应用倒逼基础理论和关键技术创新的发展道路,AI 人才的争夺战也正式打响。
不仅如此,2020 年人工智能核心产业规模超1500 亿,带动相关产业规模超 1 万亿,而人才缺口却高达 500 万人。在产业结构升级和新基建的推动下,AI 技术人才已经到了供不应求的时刻。就目前我国人工智能高端人才环境看来,大部分高校人工智能专业缺乏成熟的人才培养方案,新基建领域技术人才缺口巨大,薪资水平和发展空间也相当优越,同样,AI 技术包含众多的细分技术亦需要大量时间进行研究与实践,这对于新时代的开发者们而言也是更高的挑战。
为了助力高校人工智能领域人才培养及学科建设、以及人工智能领域优秀人才持续且稳定的输入,科技巨头华为特别发起了《华为昇腾师资培训沙龙》系列活动,面向广大高校教师提供昇腾全栈全场景 AI 技术知识点培训,通过理论+案例实操的结构,深入浅出地剖析昇腾能力及技术,让与会高校老师能够更加全面、深入地认识昇腾、使用昇腾,从而可以将昇腾相关知识点融入学生培养体系,为人工智能人才培养打造良好的成长环境。
8 月 24 日,在华为昇腾师资培训沙龙·南京场上,华为南京研究所所长郭坤表示,在本次对业界做出生态能力开放前,华为内部就建立了全员认证及赋能活动,首先在在内部将生态能力质量打磨好,以加速相关推广。而在芯片的使能和应用使能两个方面而言,华为南京研究所把自己定位成华为的 AI 使能能力中心,在该领域有着丰富的积累及完整的人员构成,在芯片使能(异构计算架构)方面,深入研究如何达到软硬件解耦、端边云协同的高技能算子开发和图融合技术,体现了华为在该领域扎实的布局。同时,华为南京研究所的品牌是活力和聚力,而生态的本质也正是「活力」和「聚力」,华为也将继续携手众高校,共创未来昇腾生态。
华为南京研究所所长 郭坤
南京大学人工智能学院副院长黎铭表示,国内人工智能人才供求比例严重失衡,人工智能作为第四次工业革命的重要推动力之一,人才短缺问题直接制约了我国各产业技术发展与提升。在这样的大背景下,唯有人才「增量」方能从根本上解决问题。随着我国发展进入新时代,许多领域逐渐进入「无处模仿、自主探索创新时期」,科教领域亦然。对于高校而言,应该担起为我国人工智能事业培养高水平专业人才的责任。
演讲中,黎铭分享了南京大学人工智能学院在AI人才培养方面的思考与探索:高校应面向科学前沿、国家需求、产业进步,培养具备源头创新能力、具备解决企事业单位关键技术难题能力的高水平人工智能专业人才。不同高校可根据自己的培养目标作出符合其自身特点的培养体系设置,但良好的数学基础、扎实的计算/程序功底、全面的人工智能专业知识可能是高水平 AI 人才知识结构应具备的共性特征。
南京大学 人工智能学院副院长 黎铭
华为计算产品线高校教学合作总监李鹏认为,计算产业正面临变革,驱动着计算架构的创新,从芯片到系统之中需要系统级的人才,AI 人才培养的主要责任就落在了高校身上。未来的 20~30 年, AI 技术将与过去的蒸汽机、电力系统、互联网技术齐平,成为新型的通用目的技术(GPT),深刻推动社会发展进程,而如何让专业人才快速将专业知识转化为生产力,也是华为目前在积极探索的阶段。为此,华为提出「沃土计划 2.0」,与众高校合作构建智能基座,从硬件到软件、从教材到社区、从平台提供到项目实践等方面提供全方位支持,旨在打造全栈、全场景型 AI 人才,持续赋能合作伙伴,真正培养出高水平、高价值人才。
华为计算产品线高校教学合作总监 李鹏
活动当天华为南京研究所AI全栈开放实验室在参加沙龙的江苏、山东地区各大高校老师们的见证下由研究所所长及各分部部长完成揭牌开放。该实验室集中昇腾、NAIE、智慧工程等AI使能产品,作为面向客户、中小创、高校老师等合作伙伴的参观、联调、测试、孵化的重要承载场所。所长郭坤带领各位与会老师参观,相关产品负责人给老师们做详细介绍。
在为期两天的沙龙中,来自华为的专家及合作伙伴带来了华为全场景的AI技术环境及丰富的 AI平台能力等内容。其中,由华为海思技术专家谭涛带来的《基于昇腾Ai1推理云服务的ACL开发实践》的主题分享尤为精彩。在如今深度神经网络飞速发展、对芯片算力需求与日俱增的当下,华为昇腾系列AI处理器芯片可以对整型数或浮点数提供强大高效的乘加计算力。华为昇腾 AI 处理器分为训练和推理两种,其中推理芯片支持将训练好的离线模型通过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 定义的编程模型,理解各类运行资源的概念及其相互关系。
1)初始化:需要初始化整个 ACL 的运行时环境。首先需要动用一个接口 acl.init 值得注意的是,如果第一行有初始化,最后一行记得「去初始化」,否则结束时程序会崩溃。
2)申请计算资源:计算资源总体分为 4 大部分:Dveice、Context、Stream、Event,在使用前需要先申请计算资源。正常情况下,只需要设置一个Dveice,系统会暂时隐式创建一套默认的资源(剩下的三个资源),避免繁琐操作。而在使用完资源后将资源进行释放即可。
3)加载模型:提供多个模型加载接口,支持从磁盘中加载离线模型及加载内存中模型。且模型加载到内存后可以选择管理位置或托管给 ACL 。
4)获取模型信息:上一级模型是一串二进制数据,模型描述需要特殊的数据类型,需要使用指定的函数来获取该数据类型,获取到模型类型后,还需要根据该类型来获取模型的输入输出个数,这样既可获取模型,又可获取模型的各种相关信息。
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。至此就准备好了模型的输入和输出。
模型推理实例
7)推理:所有素材准备好后,模型推理已经是顺理成章的事情了。最终的推理往往只需要一行代码。
8)申请 Host 内存:在前面的步骤中,使用了 Device 进行了数据计算,但数据无法直接在 Device 侧上进行使用,所以需要申请 Host 内存,让数据从 Device 侧上返回 Host 侧才能使用。
在 main 函数中依次执行以上流程,即可获取完整的 ACL 图片分类推理结果(支持多张图片推理)。
华为秉承实践知真理原则
全方位赋能合作伙伴加速 AI 人才输出
对于高校合作伙伴而言,华为提供的全栈全场景的 AI 算力平台及丰富的社区、工具资源,让开发者们能够获得全方位系统化的支持,更好地学习及实践。同时,开发者及 AI 专业的同学们也可以通过 ACL 语言走进 AI 应用大门,通过实践、社区学习/输出得到多层面结构的成长。华为昇腾将继续与各方力量携手,共同为社会持续输出高端高质量的 AI 人才。
如果觉得本次的内容听的还不够过瘾,想要了解更多华为昇腾相关技术实践,不用着急,《华为昇腾师资培训沙龙》接下来将在成都、西安、北京展开系列培训,点击下方阅读原文,即刻报名!
点击「阅读原文」,立即报名!
相关文章:
设计模式之C#实现---Builder
作者:cuike519的专栏 http://blog.csdn.net/cuike519/我们将要介绍一个和它比较像的创建型模式 Builder (至于关于 Builder 的详细内容您可以参考 GOF 的书,在这里不重复了。)。在 GOF 的书里 Builder 的目的是这样的࿱…

微信小程序开发之不能使用eval函数的问题
2019独角兽企业重金招聘Python工程师标准>>> 一 eval函数问题 JavaScript中的eval函数是颇受开发者争议的问题之一,问题主要在于其可能导致的不安全性。有关此方面问题,在此不再赘述,读者可能很容易地浏览到许多介绍性文章。 但是…

设计模式之C#实现--FactoryMethod
作者:cuike519的专栏 http://blog.csdn.net/cuike519/工厂方法的目的很明确就是定义一个用来创建对象的接口,但是他不直接创建对象,而由他的子类来创建,这样一来就将创建对象的责任推迟到了该接口的子类中,创建什么类…
美国AI博士指出,自学Python到底能做什么
我见过市面上很多的 Python 讲解教程和书籍,他们大都这样讲 Python 的:先从 Python 的发展历史开始,介绍 Python 的基本语法规则,Python 的 list, dict, tuple 等数据结构,然后再介绍字符串处理和正则表达式࿰…

关于微博溯源的后续问题
1、在进行关键词搜索的时候,如何分词,我们不可能用语料库进行匹配,已没有语料可以学习。 2、关于转折点的寻找。目前我们使用高级搜索,从当前时间往前推,根据搜索到微博的条数变化,确定时间发生具体时间&am…

python3的数据类型以及模块的含义
python3的数据类型以及模块的含义购物车转载于:https://blog.51cto.com/11834445/1884901
设计模式之C#实现---- ProtoType
作者: cuike519的专栏 http://blog.csdn.net/cuike519/该模式的意图是:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。那么首先我们应该已经有了一个对象,同时这个对象还支持自我复制(科隆&…

快速排序(二)最后修改
1 //2012-07-162 void quickSort(element list[], int left, int right)//快速排序3 {4 int ileft;5 int jright;6 7 if(i > j) //判断需要i<j8 return;9 10 element templist[i]; 11 12 while(i<j) 13 { 14 while(i<j …
性能超越GPU、FPGA,华人学者提出软件算法架构加速AI实时化
作者 | 王言治,美国东北大学电子与计算机工程系助理教授出品 | AI科技大本营(ID:rgznai100)近年来,机器学习(Machine Learning)领域的研究和发展可谓是与日俱新,各式各样与机器学习相关的研究成果与应用层出不穷&#…

PHP获取毫秒时间戳,利用microtime()函数
PHP获取毫秒时间戳,利用microtime()函数 php本身没有提供返回毫秒数的函数,但提供了一个microtime()函数,借助此函数,可以很容易定义一个返回毫秒数的函数。php的毫秒是没有默认函数的,但提供了一个microtime()函数&am…

.NET中添加控件数组
作者:cuike519的专栏 http://blog.csdn.net/cuike519/添加控件数组 在.NET里面我好像没有找到有关于控件数组的说明,但是前两天偶在网上看到了一篇关于如何在.NET里面实现控件数组的文章(该文章请参看MSDN).记得大学的时候在使用VB的时候使用过控件数组,可是到了…
如何在机器学习的框架里实现隐私保护?
编者按:数据时代,人们从技术中获取便利的同时,也面临着隐私泄露的风险。微软倡导负责任的人工智能,因此机器学习中的隐私保护问题至关重要。本文介绍了目前机器学习中隐私保护领域的最新研究进展,讨论了机密计算、模型…

函数图像轻松画:教你用永中图象
函数图像轻松画:教你用永中图象 函数图像轻松画:教你用永中图象转载于:https://blog.51cto.com/premium/933220

c语言语系的命名风格和java系命名风格
c语言系的命名风格:单词之间使用下划线分隔。如上图。 java语言是另外一个系,javascript属于java语系(当年就是想借助java的名气所以命名javascript)。java语系是驼峰式命名法,如getElementById()。如果使用c语系命名风格则使用下划线分隔 ge…

全国IP地址分配表
xa.sn.cn,西安公众网,西安,陕西,CN,202.100.0.* xa.sn.cn,西安公众网,西安,陕西,CN,202.100.1.* xa.sn.cn,西安公众网,西安,陕西,CN,202.100.2.* xa.sn.cn,西安公众网,西安,陕西,CN,202.100.3.* xa.sn.cn,西安公众网,西安,陕西,CN,202.100.4.* xa.sn.cn,西安公众网,西安,陕西,C…
神同步!美国三地 Tesla 车主,自动驾驶都撞了警车
来源 | HyperAI超神经(ID:HyperAI)内容概要:上周在美国北卡州发生了一起交通事故,一辆自动驾驶模式下的 Tesla 撞击了停靠在路边的警车,虽未造成人员伤亡,但车辆损毁严重。事故调查中发现&#…

Q币才是腾讯真正的世界级产品
本文受《虚拟货币将是下一个大平台》启发而来。何玺认为,腾讯Q币本身就具有全球化虚拟货币的基因。 日前,有媒体报道了Pocket Change获得了由Google Ventures领投的500万美元A轮融资,使其融资总额达到640万美元。 Pocket Change是一个为Andro…

解决Office互操作错误检索COML类工厂中 CLSID为 {xxx}的组件时失败,原因是出现以下错误: 80070005...
Excel为例(其他如Word也适用)文件数据导入时报出以下错误: 检索COML类工厂中 CLSID为 {00024500-0000-0000-C000-000000000046}的组件时失败,原因是出现以下错误: 80070005,如图所示: 可以看到报出的异常类型为:UnauthorizedAcces…

再论制硬盘逻辑锁
姜卓睿 雷必武 一、序言 由于教学工作需要,本人在参看了贵刊98年第4期《硬盘逻辑锁技术研究及应用》与99年第3期《解开硬盘逻辑死锁的一种有效方法》的文章之后,决定以同类方法尝试一下,结果未获得成功,又“苦于”没有KV300 L …
我国科学家成功研制全球神经元规模最大的类脑计算机
来源 | 之江实验室(ID:zhejianglab)9月1日,浙江大学与之江实验室举办成果发布会,共同发布我国首台基于自主知识产权类脑芯片的类脑计算机(Darwin Mouse)。浙江大学校长吴朝晖院士出席并讲话。他…

批处理获取目录下所有文件名
由于要处理一些文件,找了个这样的批处理: 输出目录及子目录下所有的jpg图片的文件名,不含扩展名 1 echo off 2 cd.>List.txt 3 for /f "delims" %%i in (dir /s/a-d /b *.jpg) do >>List.txt echo %%~ni>>JustName.…

1001: 整数求和
描述:求两个整数之和输入:输入数据只包括两个整数A和B。输出:两个整数的和。样例输入:1 2样例输出:3考点:运算符代码: #include <stdio.h> int main() {int a,b;int c;scanf("%d",&a);scanf("%d",&b);cab;printf("%d",…

ASP.NET 2.0 中的新增安全功能
发布日期: 8/26/2004| 更新日期: 8/26/2004Stephen Walther Microsoft Corporation 适用于: Microsoft ASP.NET 2.0 Microsoft ASP.NET framework Microsoft SQL Server Microsoft Visual Studio .NET 摘要:ASP.NET 2.0 包含一些新…
GitHub 标星 20000+,国产 AI 开源从算法开始突破 | 专访商汤联合创始人林达华
作者 | 阿司匹林责编 | 李雪敬封图 | CSDN 下载自视觉中国作为已经有4000多名员工的AI独角兽,商汤的一举一动备受关注。从2018年开始,奔着“开源、统一、可复现”的目标,商汤开始建设人工智能算法的开源体系。当时,商汤联合创始人…

那些年,我们一起学过的汇编----之伪指令
弄懂了前面几篇关于基础的文章,下面就开始我们真正的汇编之旅了,在这一篇中我们着重来强调下汇编语言的伪指令。伪指令是汇编语言程序设计中的一个主要的部分,属于控制命令,在汇编语言中的数据定义、存储单元分配、指示程序结果等…

JavaScript-数据引用类型对象
1 <!DOCTYPE html>2 <html>3 <head lang"en">4 <meta charset"UTF-8">5 <title></title>6 </head>7 <body>8 <script>9 //按值传递:两个变量间赋值时,或将变量作为参数传入函数时,其实…
热点 | Excel不“香”了,数据分析首选Pyhton!
Excel一直在求职中有着不可动摇的地位无论是投行、咨询、四大曾经都会在JD中明确要求会Excel,而Excel称霸的时代已经过去!事实上,为了追求更高的效率和质量,他们开始使用比Excel更高效的Python,随后交易收入增长了15%。…

ASP.NET中实现打印
怎样才可以调用打印机进行打印并且对纸张类型进行设置呢? --------------------------------------------------------------- <OBJECT id"WebBrowser" height"0" width"0" classid"CLSID:8856F961-340A-11D0-A96B-00…
you have new email in /var/spool/mail/root/
有时在进入系统的时候经常提示You have new mail in /var/spool/mail/root 解决方法:修改系统配置文件/etc/profile,告诉系统不要去检查邮箱. 具体操作: 命令行输入:echo "unset MAILCHECK" >> /etc/profile 【把…

写时复制,写时拷贝,写时分裂,Copy on write
2019独角兽企业重金招聘Python工程师标准>>> 写时复制,写时拷贝,写时分裂 (Copy-on-write,简称COW)是计算机资源管理方面的一种优化技术,有着广泛的应用,比如内存管理(进…