HelloGCC吴伟作者

TVM Meetup@Shanghai见闻

2019年11月16日周六,在上海虹桥枢的某酒店会议厅,国内第一次专业的 TVM Meetup 完满的结束。会议的报名连接很早就达到了70人的上限,以至于主办方不得不在报名页面呼吁千万不要在当天挤爆会场。现场的情况还在可控范围之内,人恰好多得零零散散站得下(座位自然是没有多余的了)。

本次会议是阿里的吴钊知乎ID:蓝色」等发起和组织,一开始贾扬清大佬进行了开场致辞(照片在下方)。大佬介绍了一些自己在阿里的相关预期和目标(忘记了)。这是小编1号第一次见到大牛真身,亲和力max。

TVM by Tianqi Chen

第一个报告是 Tianqi Chen 的远程报告,网络流畅,报告清晰。这次来到现场实在是太值了:Tianqi说以前的报告都是介绍已经merged和开源的成果,这次介绍的都是自己的一些预期和正在进行的构想。主要包含了以下的部分:

自动化(调优)是未来。

Tianqi 大概是坚定的 autotuning 派(笑)。他表示现在的自动调优方法的结果已经足够好,甚至比手工优化更好。自动化可以做手工优化做不到的各种优化。例如狂加算子融合,暴力尝试各类重排。可以预见AutoTVM未来依然是一个重点发力的方向。

(小编1号)这个路线是可以理解的,毕竟调优是要针对特定硬件,如果是人工的话,那就变成给特定厂商打工了(笑)在有限的人力的情况下,使用尽可能自动化的方式是最好的,而且TVM本身的效果之一就是屏蔽掉硬件的差异(那看后面的统一运行时)。

异构设备大一统 Runtime

Tianqi 希望能够将不同计算设备使用的Runtime统一成一个来进行管理维护。现场给出了一个代码展示,用 PackedFunc 这种形式为底层结果增加了一层。这部分还没有完成或开源。

(小编1号):这是一个 big project。而且这个愿景很大也很有杀伤力,最大的杀伤力在于看起来 Tianqi 能够搞定这件事情。我遇到过有同样的想法的人很多,能真的脱离学术的很少,都是 Toy。计算机领域真的是无时无刻都印证着「Talk(Paper) is cheap」这一真理。

虚拟机:支持动态 workload

没听清楚,大概意思是能够更好的支持NLU之类的负载?欢迎参会的伙伴留言区追加。

能够裸机运行的 uTVM

uTVM 运行在裸板上的, no OS is needed. uTVM 自带的能够自己host的Runtime也快要完成了。

(小编1号):可怕。很多公司现在做的同类型工作怕是要弃掉,直接用了。想要申请研究课题的同学也抓紧专注了,起点更高了😄

支持NPU的快速设计

NPU的特点是设计中各种的参数的尝试,这让 Tianqi 觉得应该可以将更多的自动调优工作放在NPU的设计过程中去。

继续安利VTA

继续安利VTA,Open and Flexible。很多厂商都是参考了VTA的结果。

TSIM

TSIM 支持未来的硬件设计,可以直接替换掉现在已经有的部分的IC设计的验证工作。降低了硬件设计的门槛。

(小编1号):这是非常大的野心,以及可能的颠覆。TVM+VTA+TSIM 后续或许能够改变加速器的开发设计流程。现在看起来还不可能,但是,这个希望太诱人了。

统一IR

TVM框架中目前有两个不同的IR,一个是Halide,一个是Relay。Tainqi 说这两个是比较平行的,历史路径依赖来的。后续希望能够尝试讲所有的IR统一在一起。有一个叫 IR Module 放在一起。「mixed functions variants in the same module」

First Python Support

出发点是为了支持在DL编译器中尝试新的算法和ideas。而很多的ideas的代码都是python形式的。因此 Tianqi 觉得应该这么干,将上面说到的统一的 IR,能够直接接收 Python AST 的形式,这样就直接允许开发人员用 Python 语言来操作 IR 了。

提出了 hybrid script 的概念,用于指代在 python 中操作IR的部分。「每个IR都有一个python的AST表示,可以直接去生成一个TVM的IR函数。这样可以大大加快开发的过程。」

社区和12月份大会

现在差不多280个贡献者了。接下来的大事件是2019年12月5号的 2nd TVM Conf,地点在美国的西雅图。

最后的提问环节有超多的人。问题都是跟提问者自己的工作直接相关的,可见目前TVM开发人员是真的多。

(小编1号):不过目前并没有人委托到我进行TVM的外包开发,看起来目前比较多都还是硬件相关的厂商在积极推动。

TVM @ AliOS by 蓝色

介绍在阿里的TVM的应用。演讲者吴钊,知乎ID蓝色。真人比较羞涩,远远比知乎上表现的羞涩。2018年4月加入阿里,加入后就开始推动TVM在阿里OS的应用和开发。

报告首先介绍了TVM团队从2018年4月份开始到2019年10月份的时间轴大事件。详细的介绍了在 Arm、Hexagon DSP、Intel 三个不同平台的、多个场景(网络)中的性能的优化方法和提升效果。总体而言,蓝色团队的提升对标 TF Lite 大概能够到 1.6x 以上的提升,还是非常强的。并且借助于 AliOS,已经在至少一个车厂的产品线中部署使用了(这真的很强)。

期间(可以理解地)介绍了下 AliOS 的架构和推广应用,PR了一波😁。

茶歇

茶歇很棒。饼干地道,水果新鲜,咖啡豆质量没得说。吃了就直接当作中午饭了。

茶歇期间遇到了好几位 HelloGCC / HelloLLVM 社区活跃的成员,果然大家又双叒叕从杭州深圳北京南京跑来现场了😄

TVM @ vastaitech (TVM @ NPU)

介绍了Google的 TPU 架构,share 限定于公开的东西。前半部分我还在会场外的咖啡机旁边狼吞虎咽的吃茶歇,最开始的谷歌TPU部分没听到(HelloGCC的贫穷暴露无遗

本次报告实际上没有介绍多少自己公司的工作,是对目前已经开放的竞品资料的报告,作为survey非常细致。期待后续作者能够有一些进一步的公开。

含光/阿里NPU编程模型与TVM by 平头哥

由于有很多都还没有公开,所以讲得比较谨慎。很多内容在PPT上也没有体现,演讲者对着一个架构图,详细的介绍了一些具体的实现细节。具体的内容比较多,有不少一边打字记录一边就漏掉了,等待后续会议的组织方是否有详细的memo/report出来😄

听到一点:将LLVM也接了进来,能够跑起来了。但是感觉用处也不是很大。后续还要继续看看。

TVM @ 阿里巴巴PAI (TensorCore AutoGen and Mix Precision)

闪电演讲部分

TVM @ 亿联 (语义分割在PC平台的TVM部署应用)

(听了半天没听懂,走神了,等官方)

TVM @ 阿里巴巴AI Labs (TVM@HIFI4 DSP, ARM CPU, PowerVR GPU)

天猫精灵背后的两个男人。

别的好说,就是阿里巴巴涉及到AI的labs实在是太多了😂今天来的已经有四个不同的阿里的独立的部门,阿里巴巴的研发实力太强大了。

在某个场景下,听到了「GEMM提升了10倍」的说法。

第二个男人介绍的是 PowerVR GPU 上 TVM 的工作。

听到了「我们目前还没有PowerVR的...模型,因此没有办法进行...的加速」用了Mali的模型。

天猫精灵里面的也自称 AliOS。同样这么混乱的操作系统叫法,不知道为什么华为的鸿蒙被喷成渣,阿里的AliOS却没人抱怨😁(幸亏 Ali Things 没叫OS)

TVM @ Linaro (TVM @ ARM Platforms)

从2017年开始关注的Linaro总监,主要时间用来介绍自己和Linaro,以及Arm生态(软广)。「会员制,大厂都是我们的过高级会员」

介绍之后,介绍了 Linaro AI Initiative(继续广告)

介绍到 Arm NN,终于到了开源项目了。介绍了 Arm NN(还是PR)。

最后的最后,介绍了对TVM的支持,支持比较多,例如RK3399等已经有支持了。特地提到了华为的NPU也有TVM的支持(还没有合并到上游)。

最后的 Linaro for TVM 列了很多,但是都还只是 ideas。

TVM @ AWS (Deploying GluonCV models using TVM)

AWS上海的叶子豪(音)。实际做的工程师 Yida Wang 出差了,是代为宣讲。这是一篇已经公开的论文的介绍,具体可以直接看论文的结果(搜索 Yida Wang AWS TVM 即可)。

最后重磅就是在 hiring,北京/上海/深圳 三地都有。做开源的TVM哦!

(然后主持人赶紧再次宣布阿里巴巴也在招聘 :-)

TVM @ 阿里巴巴芯片工具组(Caffe 前端在TVM的支持)

TVM在平头哥。

人狠话不多,已经用上了。一套集成开发环境,解决掉所有的。(解决掉什么没听清)。

加了Caffe的前端。

当前状态和未来工作列的非常真实。看起来客户支持是大家都很头疼的事情,往往接个协助要求两天时间就没了。

提了一下华为(可是华为这次并没有来,不知道为什么大家都要提一下。前面还有一位演讲者说华为用了TVM但是没有贡献到上游 :P

AWS开始,后续所有演讲者最后一句都是「招聘!招聘!」

How VTA can be deployed on Intel FPGA

将VTA部署在了 INTEL 的 FPGA 上。详细给了一些教程。

最后

感谢蓝色等组织方提供这个机会,收益匪浅。

下次见 (^o^)/

https://discuss.tvm.ai/t/tvm-shanghai-meetup-nov-16/4550

产业
1
相关数据
AWS机构

亚马逊网络服务系统(英语:Amazon Web Services,缩写为AWS),由亚马逊公司所创建的云计算平台,提供许多远程Web服务。Amazon EC2与Amazon S3都架构在这个平台上。在2002年7月首次公开运作,提供其他网站及客户端(client-side)的服务。截至2007年7月,亚马逊公司宣称已经有330,000名开发者,曾经登录过这项服务。

相关技术
华为机构

华为创立于1987年,是全球领先的ICT(信息与通信)基础设施和智能终端提供商,致力于把数字世界带入每个人、每个家庭、每个组织,构建万物互联的智能世界。目前华为有19.4万员工,业务遍及170多个国家和地区,服务30多亿人口。

https://www.huawei.com/cn/
参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

网络流技术

在图论中,网络流(英语:Network flow)是指在一个每条边都有容量(capacity)的有向图分配流,使一条边的流量不会超过它的容量。通常在运筹学中,有向图称为网络。顶点称为节点(node)而边称为弧(arc)。一道流必须匹配一个结点的进出的流量相同的限制,除非这是一个源点(source)──有较多向外的流,或是一个汇点(sink)──有较多向内的流。一个网络可以用来模拟道路系统的交通量、管中的液体、电路中的电流或类似一些东西在一个结点的网络中游动的任何事物。

操作系统技术

操作系统(英语:operating system,缩写作 OS)是管理计算机硬件与软件资源的计算机程序,同时也是计算机系统的内核与基石。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作界面。

语义分割技术

语义分割,简单来说就是给定一张图片,对图片中的每一个像素点进行分类。图像语义分割是AI领域中一个重要的分支,是机器视觉技术中关于图像理解的重要一环。

阿里巴巴机构

阿里巴巴网络技术有限公司(简称:阿里巴巴集团)是以曾担任英语教师的马云为首的18人于1999年在浙江杭州创立的公司。 阿里巴巴集团经营多项业务,另外也从关联公司的业务和服务中取得经营商业生态系统上的支援。业务和关联公司的业务包括:淘宝网、天猫、聚划算、全球速卖通、阿里巴巴国际交易市场、1688、阿里妈妈、阿里云、蚂蚁金服、菜鸟网络等。 2014年9月19日,阿里巴巴集团在纽约证券交易所正式挂牌上市,股票代码“BABA”,创始人和董事局主席为马云。 2018年7月19日,全球同步《财富》世界500强排行榜发布,阿里巴巴集团排名300位。2018年12月,阿里巴巴入围2018世界品牌500强。

https://www.alibabagroup.com/
相关技术
知乎机构

作为中文互联网综合性内容平台,知乎将AI广泛应用与社区,构建了人、内容之间的多元连接,提升了社区的运转效率和用户体验。知乎通过内容生产、分发,社区治理等领域的AI应用,也创造了独有的技术优势和社区AI创新样本。

https://www.zhihu.com
安利机构

amway常被称为安利,是一家总部位于美国密执安州的亚达城的家居护理产品公司,业务遍布80多个国家和地区。安利生产的产品有450余种,包括营养保健食品、美容化妆品、个人护理用品、家居护理用品和家居耐用品等。

暂无评论
暂无评论~