广告

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

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

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

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

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

QDrednc

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

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

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

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

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

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

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

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

QDrednc

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

QDrednc

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

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

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

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

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

QDrednc

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

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

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

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

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

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

QDrednc

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

QDrednc

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

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

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

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

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

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

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

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

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

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

参考文献QDrednc

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. QDrednc

 QDrednc

责编:胡安QDrednc

  • 微信扫一扫
    一键转发
  • 最前沿的电子设计资讯
    请关注“电子技术设计微信公众号”
  • 因眼睛小车主被辅助驾驶误判“开车睡觉”,小鹏、蔚来回 昨日,汽车博主@常岩CY 发博称自己突然上了热搜,原来就是因自己眼睛小被小鹏汽车自动驾驶误判“开车睡觉”,不住的发出提醒。此外,@常岩CY 称在多款车型上都收到此困扰。无论是红外还是摄像头,只要开始检测眼睛,就会判定过度疲劳。小鹏P7会提示他睡觉,蔚来ET7一开车就认为其疲劳和走神,岚图FREE会在冬天为了让其“别困”而打开冷风……
  • 国际象棋机器人Chessrobot夹断对手手指,意外还是设计缺 据悉,在7月19日的莫斯科国际象棋公开赛期间,一位7岁小男孩疑似因提前走子犯规手,意外被“对手”国际象棋机器人Chessrobot夹住手指,造成指骨骨折,该事件登上了热搜榜。该男孩是莫斯科9岁以下最强的30位棋手之一。
  • “智能家居”未来将可通过呼吸控制操作 凯斯西储大学的研究人员创造了一个简单的原型设备,使用户能够通过改变他们的呼吸模式来控制“智能家居”。这种自供电装置可放入鼻孔,并有可能提高行动不便或无法清晰说话的人的生活质量。如果个人呼吸困难,它也可以编程为医务人员提供自动警报。
  • 核酸采样机器人将取代“大白”?用了哪些技术保证采样准 取棉签、核酸采样、储存核酸采样管、设备消杀……动作精准流畅,今后给你核酸采样的可能不再是“大白”,而是机器人。EDN小编就带大家来看看,目前已被使用的核酸采样机器人有哪些?
  • 一个AI程序就可将手机电池增加30% 一项尖端的人工智能开发可以将智能手机的电池寿命延长 30%。这项应用则是利用 AI 分析正在使用的应用程序的 FPS 变化,并试图找到 CPU 和 GPU 处理器的最佳运行频率以适应变化,同时消耗设备中最少的功率和温度增益……
  • AI视觉芯片如何赋能两轮车出行? 6月29日,在由全球领先的专业电子机构媒体AspenCore和深圳市新一代信息通信产业集群联合主办的“2022国际AIoT生态发展大会-智慧两轮车分论坛”中,嘉楠科技副总裁汤炜伟以《勘智AI视觉芯,赋能智眼两轮行》为主题,向大家分享了嘉楠地芯片设计创新历程,及其RISCV架构AI芯片技术路线图,并以具体案例展示AI视觉芯片如何赋能两轮车出行。
  • 碎片化、成本高是难题,AIoT行业需要哪些改变? 作为AIoT的行业基石,物联网市场到2022年预计将达到 144 亿活跃连接。随着供应限制的缓解和增长的进一步加速,IoT Analytics 最新预测指出,到2025年全球将有大约 270 亿台联网物联网设备。中国物联网链接到2025年也将达到80亿。随着整个AIoT和IoT市场的快速成长与变化,我们将面临哪些风险和挑战?
  • 英特尔张宇:边缘AI有三个阶段,我们还处在山脚 在AspenCore举办的“2022国际AIoT生态发展大会”上,英特尔公司高级首席工程师、物联网事业部中国区首席技术官张宇博士通过视频方式分享了“边缘AI技术发展趋势与展望”主题演讲。
  • 世界上尺寸最大的芯片Wafer Scale Engine-2打破了在单 Cerebras公司售价数百万美元的“全球最大AI芯片”Wafer Scale Engine-2又有新消息,在基于单个Wafer Scale Engine-2芯片的CS-2系统上训练了世界上最大的拥有200亿参数的NLP(自然语言处理)人工智能模型。
  • 婴儿或可帮助解锁下一代人工智能 都柏林圣三一学院的神经科学家及其同事刚刚发布了改进人工智能的新指导原则,他们表示,婴儿可以帮助解锁下一代人工智能(AI)。
  • 日本要利用机器学习实现半导体研究自动化 新型薄半导体材料的开发需要对大量反射高能电子衍射(RHEED)数据进行定量分析,既耗时又需要专业知识。为了解决这个问题,东京理科大学的科学家们确定了可以帮助自动化 RHEED 数据分析的机器学习技术。他们的发现可以极大地加速半导体研究,并为更快、更节能的电子设备铺平道路。
  • 纯视觉自动驾驶更安全?美国交通部发布数据打脸特斯拉 特斯拉的纯视觉自动驾驶到底效果如何?真的如马斯克所说的:“通过摄像头和计算机网络让自动驾驶比人类驾驶更安全”吗?近日美国国家公路交通安全管理局发布了一份新的数据,颇有打脸特斯拉的意味。
广告
热门推荐
广告
广告
EE直播间
在线研讨会
广告
广告
面包芯语
广告
向右滑动:上一篇 向左滑动:下一篇 我知道了