广告

清华计图(Jittor)团队完成寒武纪芯片MLU270上的移植,未来将支持更多国产芯片

2021-05-12 综合报道 阅读:
清华大学计算机系的图形学实验室主要开展计算机图形学、计算机视觉、智能信息处理、智能机器人、系统软件等方面的基础研究,近日,计图(Jittor)团队成功完成寒武纪芯片MLU270上的移植,支持推理和训练,并复现了ResNet、Alexnet、VGG等骨干网络,其中动态图推理速度相较PyTorch平均提升了276.69倍,推理精度也得到了显著的提升。

Jittor的开发团队来自清华大学计算机系的图形学实验室,目前有教授2名、副教授3名、助理研究员1名、博士后4名和研究生50多名。0Kwednc

清华大学计算机系的图形学实验室成立于1998年3月,2007年发展成为清华大学可视媒体研究中心,2010年获批成为北京市工程技术研究中心,同年和腾讯公司合作成立清华-腾讯互联网创新技术联合实验室,并于2018年,成立北京信息科学与技术国家研究中心下的可视媒体智能计算团队。0Kwednc

实验室主要开展计算机图形学、计算机视觉、智能信息处理、智能机器人、系统软件等方面的基础研究,近日,计图(Jittor)团队成功完成寒武纪芯片MLU270上的移植,支持推理和训练,并复现了ResNet、Alexnet、VGG等骨干网络,其中动态图推理速度相较PyTorch平均提升了276.69倍,推理精度也得到了显著的提升。0Kwednc

0Kwednc

计图支持寒武纪!动态图性能较PyTorch提升270倍

Jittor是清华大学自主研发的框架,相比PyTorch具有更好的可移植性,在保证易用的同时,能更充分发挥寒武纪芯片的性能,此次合作有望革新现有软硬件体系架构,进一步突破AI算力瓶颈,加速AI研究的创新创造,为国内的人工智能生态打下坚实基础。0Kwednc

Part1多个骨干网络速度提升数百倍

Jittor团队在寒武纪芯片上与PyTorch对比了多种backbone网络模型的速度,包括alexnet、vgg系列、resnet系列在内的16个网络。0Kwednc

可视化结果如图1所示,动态图性能(逐层),Jittor的速度可以达到PyTorch的153~464倍,平均速度达到了PyTorch的276.69倍。其中最快的是alexnet,性能提升可达464.43倍。0Kwednc

图1 不同backbone网络Jittor动态图加速比0Kwednc

每个模型的具体数值如表1所示,其中Model一列展示了不同backbone模型,测试使用长宽均为224的rgb图像作为输入。Jittor和PyTorch两列分别展示了两个框架单次前向所需的时间,单位是毫秒。Speed Up展示了Jittor动态图的加速比。0Kwednc

表1 Jittor和PyTorch在不同backbone的动态图速度指标0Kwednc

0Kwednc

同时发现Jittor的精度损失也会比PyTorch大幅减少。以Resent18网络为例,对比了Jittor和PyTorch的MSE,结果如表2所示。对比的baseline是cpu,测试表明,Jittor的精度损失比PyTorch少42.53%。表2 resnet18的mse误差对比0Kwednc

0Kwednc

Part2 Jittor如何助力寒武纪性能提升?

主流的TensorFlow和PyTorch框架有几百甚至上千个算子,这就导致了在移植新的硬件时需要付出巨大的工作量一一复现这些算子。0Kwednc

 而Jittor采用元算子的的概念,将神经网络所需的基本算子定义为三类共18个元算子,这些元算子能相互融合成大部分常用的算子[1]。因此对少量元算子进行优化,就能使得不同的常用算子性能都得到显著提升。 0Kwednc

除此之外,元算子还是反向传播闭包,这意味着所有元算子的反向传播算子仍然是元算子,也就是当完成移植元算子的移植后,Jittor就天然支持训练。0Kwednc

因此,得益于元算子设计,在完成三类元算子的移植后,Jittor就支持了大部分常用算子的推理和简单训练(见图2)。0Kwednc

0Kwednc

图2 在不同硬件移植元算子以支持推理和训练Jittor的多个元算子之间可以相互融合成更加复杂的算子,这些复杂算子构成了神经网络计算的多个模块,如卷积层,归一化层等(见图3)。这种融合我们称之为元算子融合,可以提升性能,节省资源。0Kwednc

传统的算子融合方式需要手工编写融合规则,并逐一开发融合后的算子。而Jittor通过实时分析计算图结构,自动将可以融合的元算子进行融合,从而大幅减少访存带来的开销,并减少开发工作量。0Kwednc

图3 使用元算子实现卷积层的方法示意图Jittor内置了元算子编译器,可以通过动态编译的方式将用户的Python代码编译成高性能的寒武纪BANG代码。0Kwednc

Jittor的动态编译过程相比较传统的静态编译,可以在运行时获得更多的额外信息,如计算图上下文,形状信息等等,这些信息都可以进一步用于提升算子性能。0Kwednc

此外,Jittor还内置了优化编译遍(complier pass),这些编译遍会根据硬件设备,自动对BANG代码进一步优化,生成对计算设备友好的底层算子。0Kwednc

下方这行代码为BatchNorm算子的代码节选,该代码由若干个元算子组成,仅仅一行Python就可以表达BatchNorm算子的核心思想。0Kwednc

0Kwednc

上述的Python代码将会被Jittor的元算子编译器自动优化,生成如下代码(见图4),如下代码对计算设备更加友好,使用到了BANG语言的内置函数如__bang_add进行加速。0Kwednc

0Kwednc

图4 Jittor动态编译生成的BANG语言代码0Kwednc

BANG语言由寒武纪编译器团队提出,该语言包含了全套的工具链如cncc、cngdb,大大简化了Jittor元算子的迁移成本,元算子编译器可自动生成的BANG算子。0Kwednc

BANG语言设计成熟,一方面,BANG语言提供了类似于CUDA语言的线程调度模式,上手简单,易于调试;另一方面又提供了内置函数,获得更好的芯片性能,完全释放芯片算力。0Kwednc

这套工具链可以很好地与Jittor的动态编译器整合在一起,实现动态的算子优化与注册,Jittor的元算子还可以进一步降低在寒武纪上开发自定义算子的难度。0Kwednc

Jittor框架带来的另一个重大提升是,保证用户在使用动态图易用的前提下,仍然可以获得显著的性能提升(见图5)。以往用户在使用PyTorch加速时,往往需要通过tracing等机制,将动态图静态化,才能够获得性能提升,然而tracing机制会降低模型的易用性。而Jittor框架在动态模式下的性能可以媲美甚至超过静态图,同时不依赖tracing机制,保证了框架的易用性。0Kwednc

图5 统一计算图兼顾效率与灵活性0Kwednc

Part3: 前景展望:国产框架x国产芯片

人工智能技术将作为第四次革命,带领人类走向智能时代,人工智能的快速发展既离不开算力的突破和算法的创新,更依赖于深度学习框架和AI芯片。0Kwednc

Jittor作为清华大学发布的自主可控的深度学习框架,秉承着开源开放,厚德载物的精神,支持国产芯片的发展。本次Jittor实现对寒武纪的成功支持,不仅实现了基础骨干网络的推理与训练,并且相比较国际主流框架PyTorch,获得了显著的性能提升,同时具有动态图的易用性,让学术界和工业界的用户都能更容易上手。0Kwednc

未来Jittor框架将针对更多不同类型的应用、不同的场景、训练以及推理进行更加深度的优化,提供更多易于上手,开箱即用的开源工具包,贡献开源社区,支持更多国产芯片,推动国产AI生态的快速发展。0Kwednc

参考文献0Kwednc

Shi-Min Hu, Dun Liang, Guo-Ye Yang, Guo-Wei Yang, Wen-Yang Zhou, Jittor: a novel deep learning framework with meta-operators and unified graph execution, Science China Information Science,2020, Vol. 63, No. 12, article no. 222103, pages: 1-21. 0Kwednc

 0Kwednc

责编:胡安0Kwednc

本文为EDN电子技术设计 原创文章,禁止转载。请尊重知识产权,违者本司保留追究责任的权利。
  • 微信扫一扫
    一键转发
  • 最前沿的电子设计资讯
    请关注“电子技术设计微信公众号”
  • 纯视觉方案的特斯拉FSD V9.0也是智障?热心网友亲测11种 扔掉毫米波雷达采用纯视觉方案的特斯拉FSD V9终于开始推送Beta版了,国外车主对新版FSD的评价颇高。然而,就在昨天,FSD V9.0 Beta“翻车”了:一位网友亲身测试却发现了11种失败场景,无法识别绿植、无法判断换道等。
  • 英伟达使用人工智能来提升 5nm 和 3nm 的自动化布局 由于复杂的设计规则,先进技术节点中的高质量标准单元布局自动化在当今的行业中仍然具有挑战性。强化学习 (RL) 用于解决布线过程中的设计规则违规问题,并提高单元放置的效率,从而使芯片更小,节省成本并提高性能。
  • 华为再招“天才少年”,最高年薪201万元,其中一位是本科 近日,华中科技大学又有2名毕业生入选华为“天才少年”。今年入选的廖明辉和武敏颜分别来自华中科技大学电信学院和计算机学院。廖明辉为应届博士毕业生,已拿到“天才少年”最高一档年薪201万元;武敏颜本科毕业,年薪也超百万元。
  • 人工智能的演进需要高适应性的推理平台 模型大小不断增长给现有架构带来了挑战
  • 芯耀辉软硬结合的智能DDR PHY训练技术 DDR接口速率越来越高,每一代产品都在挑战工艺的极限,对DDR PHY的训练要求也越来越严格。本文从新锐IP企业芯耀辉的角度,谈谈DDR PHY训练所面临的挑战,介绍芯耀辉DDR PHY训练的主要过程和优势,解释了芯耀辉如何解决DDR PHY训练中的问题。
  • 达摩院3个月打造“低碳版”万亿参数模型M6,怎么做到的? 据悉,相比此前英伟达使用 3072 A100 GPU 实现万亿参数、谷歌使用 2048 TPU 实现 1.6 万亿参数大模型,此次达摩院仅使用 480 卡 V100 32G GPU 就实现了万亿模型 M6,节省算力资源超 80%,且训练效率提升近 11 倍。不仅如此,达到这种惊人效果,从千亿到万亿参数规模,阿里只花了3个月时间……
广告
热门推荐
广告
广告
EE直播间
在线研讨会
广告
广告
面包芯语
广告
向右滑动:上一篇 向左滑动:下一篇 我知道了