我的账户
肇州资讯网

自媒体资讯干货

亲爱的游客,欢迎!

已有账号,请

立即登录

如尚未注册?

加入我们
  • 客服电话
    点击联系客服

    在线时间:8:00-16:00

    客服电话

    400-000-0000

    电子邮件

    xjubao@163.com
  • APP下载

    肇州资讯网APP

    随时随地掌握行业动态

  • 官方微信

    扫描二维码

    关注肇州资讯网公众号

肇州资讯网 网站首页 资讯列表 资讯内容

3个月5次版本迭代,旷视开源框架天元Beta版本有哪些主要特性?

2020-07-11 发布于 肇州资讯网
防腐木木屋

呆板之心公布

呆板之心编辑部

深度学习框架是现代人工智能算法开发和应用的基本支持框架。目前,外洋主流深度学习框架基于开源开放的生态情况,已经构建起了较为完备的产业链。

要推动海内人工智能更好更快的发展,需要加大资源投入力度。旷视作为行业领先的人工智能公司,在本年 3 月份也开源了自研深度学习框架天元。

7 月 11 日,呆板之心联合旷视科技在 2020 WAIC· 开发者日设置的「深度学习框架与技能生态论坛」乐成举办。论坛围绕旷视 6 月尾公布的天元深度学习框架(MegEngine)Beta 版本焦点技能升级与开源生态建设举行了深度解读。

作为一款训练推理一体化、消息合一、兼容并包、机动高效的新型深度学习框架,天元可以或许帮助企业与开发者的产物从实验室原型到工业部署平均节省 90% 的流程,真正实现小时级的转化能力。

旷视开源天元(MegEngine)这个在内部全员使用、工程实践凌驾 6 年的深度学习框架,为的是可以或许将自己的经验与结果同业界分享。通过开源社区的气力,帮助更多开发者把自己的精神集中在算法的研发和业务场景中,从啰嗦的流程,啰嗦的性能优化和模子复现中解放出来,真正实现「深度学习开发,从未云云简朴」。

据旷视研究院高级技能总监许欣然先容,从 3 月份开源到 6 月尾 Beta 版公布,天元共履历了 5 个版本的迭代,得到了旷视内部与外部开发者们的名贵发起与支持。天元 Beta 版焦点技能升级包括三大特性:

1. 完善量化训练和量化推理功效。天元 Beta 版本提供了机动的量化训练和高效的量化推理的能力,让开发者可以快速的完成高精度的量化训练并直接部署到推理侧,以最小的精度代价得到最高的推理性能。

2. 添加对 ARM CPU 的支持。天元添加了对 ARM CPU 的支持,在 ARM、CUDA、X86 三个主流计算平台上都提供了颠末深度优化的 kernel 实现,联合天元优秀的计算图优化技能,在量化、浮点模子上均提供了业界领先的计算性能和内存显存占用。

3. 优化推理功效。天元对推理功效做了一系列的功效优化,提供 Profile 工具、上手指南、性能优化教程等内容,帮助开发者快速上手,得到更高的推理性能,让开发者在推理的时候可以使用更方便,开发更高效。

另外,天元 Beta 版新增 10 余个 SOTA 模子,并正式提供中文版 API 文档,还新增了 Objects 365 Dataset 的 API 和多机训练参数打包等功效。

除了功效和性能上的改进之外,天元框架还与小米 MACE、OPEN AI LAB(开放智能)Tengine 等推理框架举行了深度集成。

接待各人存眷天元的 Github 项目 MegEngine,并参与孝敬者计划。另外,也可以在 Github 、QQ 群或论坛中举行技能交流与讨论。

以下是详细技能细节与性能对比。

模子量化——训练与推理

配景:在当前,提高神经网络推理性能的主流要领是在 GPU 和各种嵌入式装备上,对深度学习模子的推理历程举行量化,纵然用 int8 以致更低精度举行推理。

然而该方案的问题在于,若使用量化后的模子举行推理则可能碰面临因量化带来的精度丧失。另外,由于模子量化领域发展迅速,投入大范围使用仅两三年,大量开发者当前所使用的量化工具性能乱七八糟,模子量化后精度丧失较多;又加上种种量化细节不对齐,使得模子转换的步骤进一步加剧了精度上的问题。在如许的条件下,开发者不得不通过更大的量化模子来告竣业务目标,使得量化带来的性能提升被抵消,难以充实发挥出装备的全部计算性能。

解决方案:基于天元训练推理一体化架构,同时站在训练和推理的全局视角上优化模子量化的体验和效果,让开发者可以在保持模子精度的同时,得到更大的性能提升。

天元希望开发者可以或许用上经旷视内部长期工业验证的量化训练功效,并可以或许根据模子情况机动设置差别量化模式,最大限度降低量化所带来的精度丧失;另外,天元提供高效的原生 int8 推理能力。用户可以一站式完成量化训练加推理历程,免去框架间的转换,保持模子精度。

由此,开发者便可以在保持模子精度的同时,得到更大的性能提升。

量化训练方式的选择

配景:关于神经网络模子量化,最要害问题是如何选取量化表示时的缩放系数(也被称之为 scale)。针对这一点有两种方案:后量化统计要领(Post Quantization)、量化感知训练(Quantization Aware Training)。

所谓后量化统计要领,即在模子正常训练竣事后举行数值统计并量化。这种要领因流程简朴而在当前应用遍及。其缺点在于,当模子较小的时候则精度偏低;同时该要领由于训练阶段与量化步骤分散,导致训练与推理阶段精度不一致,只有在完备训练之后才能知晓量化的详细精度降落水平。

量化感知训练则指的是在训练阶段就模拟量化推理历程,让模子对量化历程举行适配。此要领能让模子保持更高精度,且在训练阶段就能掌握推理的精度,其缺点在于流程较为庞大。

解决方案: 基于旷视内部学术研究与工程实践积累的大量经验,天元实现了方便快捷量化感知训练功效,让开发者可以只增长少量流程,就能利用量化感知训练的能力。这使得旷视的研究职员与工程师在给定算力下,可以或许得到更高的推理精度,进而充实发挥算法上风。另外,在训练阶段即可知晓终极推理精度,加速了模子迭代速率,让模子的开发历程更为高效、可控。

量化接口使用流程

详细而言,整个量化接口的使用分为五步。如上图,在正常模子训练的搭建网络、训练网络、天生序列化模子三步上,分外增长了量化参数设置、量化感知训练两个步骤。

一般来说,在默认的量化设置下,开发者就可以得到比力优良的精度,这对应于右侧黄色高亮的三条语句,操作简朴、方便。

量化接口设计

量化接口的详细设计,分为浮点模块、伪量化(FQ) 模块和量化模块。三者分别执行浮点、模拟量化和真实量化事情。

详细而言,开发者起首在平凡模块上举行正常的模子训练事情;然后,可以转换至伪量化(FQ) 模块,通过设置差别的 Observer 来设置差别的量化参数 scale 获取方式,从而举行差别的量化感知训练或举行后量化统计。

在完成量化参数 scale 的统计后,开发者便可以再转换至量化模块,直接举行推理或者序列化存储天生模子。

天元的这套量化接口设计鉴戒了 PyTorch 的方案,并在其基础上举行了一系列改进和优化,方便扩展。

训练:机动多样的量化设置

天元 Beta 版提供的量化接口让开发者可以或许使用差别的 Scale 获取要领,多种基于统计或基于学习的方式,以及机动设置量化计谋、位宽。别的,由于量化要领在整体上仍处于发展当中,因此天元量化接口的设计宗旨是便于扩展。通过支持用户自行注册量化实现,便于兼容各种特殊硬件和新的量化要领。

训练:量化参考模子与操作文档

值得一提的是,天元 Beta 版除了提供量化功效外,还在模子堆栈中提供了完备的模子复现。如上图所示,三个模子在全 int8 量化下准确率仅降落约 1%。别的,Beta 版本还提供了详尽的量化操作文档,帮助开发者们快速上手。

推理:多平台直接部署

模子量化的推理方面,在天元 Beta 版中,量化模子的推理要领与浮点模子完全一致,开发者仅需直接读取序列化模子执行,在各个平台上都可以直接载入并举行高效推理。

在训练阶段,开发者可以非常机动地控制网络量化模块,混淆使用各种量化计谋;在推理部署阶段,体系会使用与训练相同的设置,无需分外设置,便能包管一致。

各个框架对 int8 量化的界说在细节上有诸多差别,对天元来说,训练后直接可用于推理,一份模子,全平台可推理,开发者不消对每个平台都学习差别的部署流程。这免去了模子转换可能带来的各种偏差问题,也不消担心转换时算子不支持,转换后精度不对齐等问题。

推理:高效原生 int8 实现

作为框架的设计者同样也是使用者,天元团队深知对于开发职员而言,性能每每是在推理阶段最存眷的指标,为了性能,即便贫苦也需要将模子转换到更快的推理框架上。

为此,天元在各主流计算平台上提供的高效 int8 实现,让开发者不再需要面临上述痛苦,包管开发者用天元框架训练后可以或许直接举行推理部署。

上图展示了 ARM 上的推理性能对比。可以发明,通过转换至 int8,天元使得常用网络得到了至多 3 倍的提速。别的,针对手机上常用的小模子,天元提供了更好的优化效果,加速效果越发明显。

别的,天元在 CUDA 和 x86 上也提供相对于 float32 显著的提速效果。与 Arm 类似,int8 推理的耗时仅有 float 模子的 30%~50%。在 CUDA 上,天元可以充实发挥出 Tensor Core 的计算能力,榨干显卡的计算能力;而在 X86 上,由于 X86 指令集的缘故原由,天元可以在支持 AVX512-VNNI 指令集的最新一代处置惩罚器上得到比力明显的 int8 提速。

综上,原生的 int8 高效推理性能,可以让开发者方便地举行模子推理部署,同时充实发挥出硬件的计算能力。

推理功效优化

业界领先的原生 ARM 推理性能

除优秀的模子量化功效外,天元 Beta 版本还提供性能领先的 ARM 算子实现。天元引入 NCHW44 layout,通过将张量的内存排布举行调解,进一步优化访存,并降低各种界限情况的判断,提升计算性能;同时软硬件联合,在支持的装备上,使用最新的 ARM dotprod 指令,编写高质量的各种卷积算法实现,终极得到了业界领先的推理性能。

在 int8 推理时,天元依赖深度优化 im2col、winograd 和 direct conv 等算子,在各种网络上都到达了业界领先的性能指标。上图分别展示的是不启用 dot 指令和启用 dot 指令的性能对比,可以发明,天元均提供了优秀的性能体现。

另外,借助 ARM 的 dot 指令,天元 ARM 上的 int8 推理在 ResNet 上从 64ms 降低到了 30ms 以内,在一系列常用网络上都可以得到两倍以上的大幅度加速。因此如果手上有支持 dotprod 指令的装备,开发职员可以在天元的支持下得到巨大的性能提升。

值得一提的是,在一些不支持 dot 指令的装备上,通过使用 winograd 可以降低乘法指令个数,从而在 ResNet、VGG 这类网络上得到比力显著的加速。为了寻求加速比,业界常见的做法是对 weight 举行限定,将表示精度限定在 6bit 内,从而制止累加结果溢出。然而这存在的问题在于,需要在模子训练时就举行特殊处置惩罚,导致一个模子难以在全平台部署;同时,这也降低了量化网络的推理精度,限定了使用场景。

天元作为一个训推一体的框架,寻求训练与推理侧功效的准确对齐,针对上述问题,创新性的使用 float 作为中心计算格式,实现了 winograd 算法。这种要领的优点在于,对 weight 没有特殊要求,可以或许与训练时的设置准确对齐,确保精度没有丧失;同时,这种算法还更充实地利用计算单元,提高计算性能,确保开发者可以随时启用得到性能提速,无需担心精度问题。

除了 int8 推理之外,思量到仍有大量开发者在使用 float 模子举行推理事情。为了让这些开发者也可以得到最优的性能,天元在 float 算子上也举行了大量优化,使得各种常见的模子得到了业界领先的性能,开发者可以在不改动原有事情流程的情况下,得到性能上的提升。

ARM int8 内存占用

在深度学习的应用中,运行时内存占用也是一个紧张的指标。天元对训练侧的自动内存优化计谋举行了充实打磨,实现了内存占用和推理性能之间的良好平衡。上图展示了天元在内存占用上的上风。

天元仅依赖通用优化计谋,便实现了对任意模子结构优良的优化体现,使得框架无需针对网络结构举行特殊优化。各领域开发者在使用自己的模子结构时也能有较低的内存占用,从而提高竞争力。

至此,天元得到了在各主流计算平台的高效推理能力。在 X86 / CUDA / ARM 的各种子架构上,均提供性能颠末深度优化的算子,包管了推理时的高性能,让开发者可以实现训练 - 推理一体,真正免于模子转换。

推理工具与教程

配合本次 ARM 能力的放出,天元在官网上提供了完备的部署流程教程,帮助各人快速上手端侧推理的开发步骤。

另外,天元也进一步优化了推理方面的使用体验,提供性能分析工具和优化手册,方便开发者找到性能瓶颈,提高模子推理性能。

末了天元针对跨平台编译举行优化,开发者可以利用天元在 Linux / Windows /macOS / iOS / Android 上举行推理。

各平台内置常用图像处置惩罚算子

除了 NN 算子之外,在深度学习模子应用的场景中,各种 CV(也就是图像处置惩罚)算子每每也作为模子的预处置惩罚步骤存在,这些步骤的性能和精度会高度影响一个深度学习模子的落地效果。

天元内置了常用的 CV 算子,并举行了高度优化,它们可以作为模子的一部门存在,实现框架的同一优化。在推理时,解码后的结果可以直接输入框架,通过一次调用完玉成部 CV 操作和 NN 算子,简朴方便。

在深度学习模子的落地中,一个紧张的步骤称为 “对分”,它能确保模子训练与终极推理的举动完全一致。天元提供的 CV 算子在各平台间对齐精度,尽全力制止训练与推理的差异,降低其中的偏差,从而显著降低对分的成本,助力模子快速落地。

新增复现模子与训练功效增强

除本次焦点技能升级外,天元也一直在更新更多模子复现,助力开发者利用天元完成更多事情。

包括前文提到的量化模子 ResNet、ShuffleNet v1、MobileNet v2,至此天元的分类模子提供了主流 ResNet 系列、ShuffleNet 系列、MobileNet 系列的量化、非量化版本,并提供基于 ImageNet 的预训练权重。

检测模子的训练逻辑比力庞大,天元本次复现了 Faster R-CNN,并提供了 RetinaNet 的量化版本。

另外,本次还更新了两个天生反抗网络。在 CIFAR10 数据集上复现了 DCGAN 和 WGAN 两篇论文的事情,各项评估指标都到达复现的 SOTA 水平。

别的,天元本次提供了两小我私人体骨骼点复现模子,分别是经典的 Simple Baseline 和 MSPN 网络,MSPN 是旷视在 CVPR 2019 上提出的高效人体姿态预计网络。这两个模子都提供了基于 COCO 数据集的预训练权重,便于各人举行更多实验。

天元从 Beta 版本开始,正式提供中文版 API 文档,让更多开发者可以利用上天元的能力,加入深度学习的期间。别的,还新增了若干算子、Objects 365 Dataset 的 API 和多级训练时参数打包的功效。

天元发展规划

目前,天元团队正在为 9 月的正式版本举行开发,届时希望可以或许提供更完善的动态计算能力,让训练侧可以越发自由的表达计算情势。另外,天元会进一步优化训练和推理的全流程使用体验,让深度学习从算法到落地越发高效。

非常接待各人加入天元(MegEngine )的开发事情,加入开源框架社区,连续推动 AI 底层修建的发展。

再次接待各人存眷天元的 Github 项目 MegEngine,并参与孝敬者计划。各人可以在 Github 、QQ 群或论坛中举行技能交流和讨论。

]article_adlist-->

本文为呆板之心公布,转载请接洽本公众号得到授权。

✄------------------------------------------------

加入呆板之心(全职记者 / 实习生):hr@jiqizhixin.com

投稿或寻求报道:content@jiqizhixin.com

广告 & 商务互助:bd@jiqizhixin.com

1

鲜花
1

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

相关阅读

  • 肇州资讯网
    1970-01-01
  • 肇州资讯网
    1970-01-01
  • 肇州资讯网
    1970-01-01
  • 肇州资讯网
    1970-01-01
  • 肇州资讯网
    1970-01-01
  • 肇州资讯网
    1970-01-01
肇州资讯网

扫一扫二维码关注我们Get最新资讯

相关分类
热点推荐
关注我们
肇州资讯网与您同行

客服电话:400-000-0000

客服邮箱:xjubao@163.com

周一至周五 9:00-18:00

肇州资讯网 版权所有

Powered by 肇州资讯网 X1.0@ 2015-2020