0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

刚刚开源的天元将带来全新的深度学习开发体验

倩倩 来源:机器之心 2020-03-26 14:30 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

深度学习,简单开发」,刚刚开源的天元(MegEngine)将为开发者们带来全新的深度学习开发体验。

又一个国产深度学习框架开源了。3 月 25 日,旷视科技在北京发布了新一代人工智能生产平台天元(MegEngine),其「训练推理一体」、「动静合一」、「兼容并包」、「灵活高效」的强大性能或许将为 AI 领域带来新的风向。

「天元是旷视 1400 名研发人员一直以来使用的深度学习引擎,已部署在上百个产品、几十种计算平台上,」旷视首席科学家、研究院长孙剑在发布会上表示。「他可以帮助开发者做到协同设计训得好,高效系统训得快,大规模数据或模型训得动。」

旷视首席科学家、研究院长孙剑发布会现场分享。

旷视提出的 AI 生产力平台 Brain++包括深度学习框架(天元 MegEngine)、深度学习云计算平台(MegCompute)、以及数据管理平台(MegData),将算法、算力和数据能力集为一体。本次开源的天元是 Brain++平台的核心。

天元 MegEngine 深度学习框架官方网站:https://megengine.org.cn/

GitHub 开源地址:https://github.com/MegEngine/MegEngine

时至 2020,自贾扬清等人开放 Caffe 已过去六年,旷视为什么选择在这个时间点开源自身的核心技术?旷视研究院高级技术总监、天元项目负责人田忠博告诉我们:「这一进程其实去年已经开始推动,我们认为目前国内市场上缺少天元这样的项目。」

这是一个需要勇气的行动。据了解,在做出开源的决定以前,旷视技术团队内部经过了多次讨论。这关系到框架技术是否成熟,生态环境是否发展完善,以及未来发展的方向。

田忠博指出,天元是一套训练推理一体化、动静态合一的工业级深度学习框架,具体架构包括五层:

从最上层的接口层到最底层的计算内核,天元做了很多优化,例如内存管理中的亚线性优化和高性能算子库等。

天元架构是旷视在研发过程中遇到痛点,并逐步解决的成果。旷视相信这些痛点也是行业共通的难题,通过这一开源架构,我们可以一站式地解决这些问题。

早在 2014 年 8 月,深度学习框架天元就在旷视内部诞生了,它随后成为了 Brain++的核心组成部分。「自 2012 年起,陆续有研究者开发出了第一代深度学习框架。在旷视,我们在实践过程中发现手工编写每层配置文件的方式非常不灵活,」孙剑介绍道。「因此我们发展了第二代深度学习框架,通过计算图的方式设计模型并求导,大大提高了效率。2015 年谷歌正式发布了 TensorFlow,采用了和旷视殊途同归的思路。当时我们进行了比较,发现自己的方法更具优势,所以天元就继续发展下来了。」

天元与目前流行的 TensorFlow、PyTorch 相似,旨在让更多的人可以在其基础上构建自己的应用,创造属于自己的价值。

此前,百度等公司也推出了自己的深度学习框架。天元会有哪些不同?「在这其中,我们是唯一一个以 AI 为本业的公司,天然需要使用深度学习算法解决问题,」旷视副总裁谢忆楠表示,「我们把自己在 AI 解决各领域问题过程中的工具开源出来,从视角上看或许会获得更好的效果。」

天元跻身全球主流框架

机器之心很多读者都用过深度学习框架,很多读者也都想入门深度学习框架。那么假设我们有 Python 和 NumPy 数值计算方面的基础,旷视新开源的天元又会有哪些方面吸引我们?

孙剑表示,天元有三大特别吸引人的优点,「第一是框架与算法的协同,框架需要为硬件开发优化算子,这样才能结合框架、设备开发最好的网络,ShuffleNet 系列高效神经网络就是协同设计的结果之一。第二即高效与强大性能,一般训练 COCO 数据集需要 30 多个小时,2017 年基于天元的 MegDet 并行物体检测系统,2 小时就能完成,并且精度更高。」

「第三是很好地支持大数据、大规模训练。借天元开源之际,我们同时也发布最新版 Objects365 V2,它是世界上最大的物体检测数据集,是目前学界流行的 COCO 数据集 的 16 倍大小。有这么大规模的数据,模型也需要扩增。如果模型扩大 10 倍的话,总体训练量就会增加 160 倍。而天元对于这种大模型、大数据也是没问题的,」孙剑接着说。

田忠博说:「天元是为工业级、研究院规模的研发机构设计的,它具备的一些核心特点都是用来解决现实研发过程中的痛点。」从具体体验与特性上,我们确实能发现天元解决很多开发痛点,它们从代码风格、编程范式到底层优化展现了不一样的思路。

一键切换训练推理

机器学习中,训练与推理一直不是一体的,当我们设计算法时,首先需要训练框架的支持,然后再把训练好的模型转移到推理框架上,从而将后续的推理计算放到各种硬件上。这中间会存在训练与推理的转换,这个过程需要手动完成,甚至转换后也不能保证模型性能与进度。

「训练推理一体化能把繁杂的模型生产流程简化到一步、两步,我们也希望它能够极大缩短算法研发和部署的时间,真正支持大规模的生产级诉求」,田忠博说,「为此,天元框架需要做到三点:无需模型转换就能做推理;训练的速度、精度与推理保持一致;在不同设备上做推理需要保证模型精度可以对齐。」

从算法直接到部署硬件,中间不再需要转换模型,只需要几行代码与 API,模型的实践效果就能看得到。对于大多数算法工程师,可能比较精通深度学习模型,对推理与模型部署相对而言不是那么熟,天元无疑能降低大量工程实践成本。

更重要的是,在部署过程中,天元通过自动算法选择机制和一系列针对推理的自动优化,能帮我们删除冗余代码,找到最适宜该设备的算法实现,达到灵活高效的目标。

动静合一,图并存

从 Theano 到 TensorFlow 1.X,它们都遵循着「静态计算图」这条路,我们会发现在用这类方法写模型时,需要很强的「向量化思维」,For 循环之类的语句就不要多想了。此外,因为写代码只是建计算图,调试的时候异常困难,我们不知道图中的数据流到底是什么样的。

很快,在 PyTorch 等框架中出现了动态计算图,用它写模型就像写个普通 Python 脚本,但这样写出来的模型,却是难以高效部署的。天元同时支持动态图与静态图,在科研训练与调试时采用动态图,到部署的时候又切换到静态图,这样就能充分利用两者优势。

如上图所示,天元可以直接通过 @trace 装饰器确定某个函数到底是动态图还是静态图,而且状态还可以手动调整。这不就意味着在调试时我们可以将函数设置为动态图,直接查看每个变量的信息,而要到了部署等实际应用时,再把静态图打开,提升训练与推断速度?

如果以这样的方式调用动态与静态计算图,那真的称得上整合了两种方式的优势。

此外,我们还发现有一种动、静态的「混合编程」,即在动态图中调用静态图。可以想象,定义网络结构等过程使用动态图比较直观,而后采用静态图的方式执行实际运算,这也是非常吸引人的方式。后文在代码示例中,也会展示这种新颖的「混合编程」。

人生苦短,Pythonic 好入门

如果深度学习建模一直采用静态计算图,估计框架就会劝退很多开发者。但是天元这种主要采用动态图的框架,构建模型就像搭积木,而且还能以一般的 Python 编程方式去搭。相信很多接触机器学习的开发者都会选择 Python,它加上 NumPy 等数值计算库,差不多就能完成大多数任务。

如果有了这些基础,再搭建深度模型就没问题了,天元一样承接 Pythonic API,学习成本非常低。此外,因为旷视本身在计算机视觉方面有非常雄厚的累积,田忠博表示:「天元内置了一些独特的深度学习算子,它们和旷视在 CV 上的独到能力息息相关,能针对 CV 模型的训练与应用实现深度优化。」

对于 API 与代码风格,我们还是比较推荐直接查看本文后面的示例,可以直观感受到,不论把天元当做深度学习的入门框架,还是与 PyTorch、TensorFlow 等一起作为备选框架都没问题。天元的编程风格与 API 配置,和已有的编程习惯、现有框架的风格都是一致的。

当然,这些并不是天元所有特性,还有很多需要进一步探索。例如它还有很强的多平台、多设备适应能力,既能灵活调用硬件能力,又可以高效训练大模型。

天元框架实际体验怎么样?

那么实际用天元写模型是什么样的体验?机器之心体验了旷视发布的 MegStudio,通过在线开发的方式,我们可以快体验到天元的特性与编程方式。

MegStudio 上准备好了一些入门项目,它展示了新框架的使用方式,例如「基本概念」主要介绍什么是计算图、张量和算子等基础知识,每一个项目都是通过中文文字与可运行的代码组成的,就像常用的 JupyterLab 那样,通过运行这些基本项目可以让开发者快速掌握天元的基本使用。

为了直接展示天元的风格,我们可以快速试试 DL 入门的「第一个模型」MNIST 图像识别。准备数据这里就不展示了,天元可以直接调用 API 来处理常见数据,准备 MNIST 数据两行代码就够了。如果要搭建一个简单的卷积神经网络,天元允许使用 PyTorch Module 的方式定义,搭建模型就是搭积木。

如上所示,继承 M.Module 后,Net 类只需要定义初始化参数与重写前馈 forward 过程就可以了。卷积层、批归一化层、激活函数等模块的使用非常符合直接,只需要给定必要参数就没问题了。

这种继承 Module 的方式非常直观,是一种动态计算图编写方式。如果要实现前向传播,传给它输入数据就行了,要是需要调试,在 forward 函数下设置断点,或者打印变量的信息都没问题。

然而,一般写模型真正复杂的地方在于定义模型架构之外的过程,例如后面需要完成的训练与测试过程。天元的优势在于,它允许动态图结合静态图,即使定义模型使用的是动态图,但在定义训练与测试函数仍然可以用静态计算图。

如上在最为核心的前向、反向传播与模型损失计算过程中,我们可以采用天元中的 @trace 装饰器,直接调用静态计算图模式。因为绝大多数计算都发生在这个过程,因此,由动态计算图转为静态计算图将更有优势,天元能采用更高效的方式训练模型。

最后就是迭代训练过程了,这里天元也采用了 DataLoader,这种方式非常便捷。后续的损失函数计算与最优化器更新,与现有的 DL 框架比较类似,我们差不多不需要学习额外的知识,了解一下 API 就能用。

当然,后续还有保存、加载模型,也是两条语句的功夫。总体而言,很明显天元类似 PyTorch 保持了最好理解与使用的接口,并在关键的计算过程提供装饰器以调用静态计算图,这可以称得上是结合了动态、静态图各自的优势。

因为整体上天元的 API 接口非常精简,且保持着主流框架所养成的编程习惯,入门门槛还是非常低的,之前了解过深度学习框架的同学,不需要文档都能快速读懂整个过程。此外天元作为新手入门框架也没是没问题的,学会了它,差不多等同于学会了深度学习常用框架。

此外,除了 MegStudio,旷视还发布了模型中心 ModelHub,它汇聚了全球顶尖算法的一些预训练的模型,和旷视研究院一些最新的技术、研发成果。

旷视联合创始人兼 CTO 唐文斌 发布会现场分享

在旷视的计划中,Brain++将作为「AI 基础设施」逐步开源、开放,将生产力共享给广大开发者,让每个拥有小场景需求的人都可以做出能够解决其关键问题的最优算法。此外,旷视还希望在未来面向高校课程、初创企业提供更多支持,以方便小规模深度学习部署。

值得一提的是,旷视本次发布的天元版本是 Alpha 版。旷视表示,更为「正式」的版本会在今年晚些时候上线,随着大量组件的更新,旷视会逐步将计划中开源的代码和能力进一步释放出来。「3 月份开源的版本包含前期整理的代码和关键组件,今年 6 月我们还会发布对 Arm 架构、深度学习加速芯片、低比特和量化环境的支持。在今年 9 月份,天元还会有动态图的核心升级,整个系统会走向第一个开源的稳定版。届时体验会达到更为理想的状态。」田忠博表示。

自 2012 年起,旷视就推出了人脸识别开放平台 Face++,近几年来,AI 已从实验室中快速走向实用化。旷视的研发人员们认为,「天元」的开源宣告着人工智能技术再次回到了算法探索的层面。

未来,旷视还会进一步增强这一框架的分布式机器学习能力,对底层编译与代码生成能力进行优化,并欢迎机器学习社区力量的加入。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 算法
    +关注

    关注

    23

    文章

    4800

    浏览量

    98500
  • 开源
    +关注

    关注

    3

    文章

    4324

    浏览量

    46427
  • 深度学习
    +关注

    关注

    73

    文章

    5603

    浏览量

    124609
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    东风汽车全新天元智驾T500系统重磅亮相

    当AI学会“老司机思维”,TA将成为你的下一个驾驶伙伴,行业首个量产级生成式“端到端智驾方案”——东风全新天元智驾T500系统,一个可能彻底改变你开车方式的技术来了,今天就跟东风主播和工程师一起来看看吧。
    的头像 发表于 03-04 15:53 789次阅读

    博泰车联网携手产业伙伴共建天元OS开源生态

    近日,2025中国汽车软件大会于上海嘉定召开。会上,行业首个覆盖自动驾驶全栈的开源中间件——“天元OS跨域中间件”正式以全栈开源的形式发布。博泰车联作为项目核心共建单位受邀参与,与产业伙伴共同见证并推动中国智能汽车基础软件迈向开
    的头像 发表于 12-31 14:41 581次阅读

    黑芝麻智能携手产业伙伴共建天元OS开源生态

    2025中国汽车软件大会期间,行业首个覆盖自动驾驶全栈的开源中间件——天元OS跨域中间件正式全栈开源发布,黑芝麻智能作为共建单位出席启动仪式。
    的头像 发表于 12-23 11:34 644次阅读

    分享一个嵌入式开发学习路线

    开发环境与调试技巧:安装STM32CubeMX(配置工具)+ Keil MDK-ARM(编译软件)或VSCode+STM32CubeIDE(开源免费),学会用J-Link/SWD调试。 3. 深度
    发表于 12-04 11:01

    开源鸿蒙技术大会2025丨跨平台开发框架分论坛:共拓移动开发新边界,共创跨平台生态新时代

    (筹)应运而生,标志着开源鸿蒙在应用开发基础设施建设层面迎来重大里程碑,也为整个行业带来“打破平台壁垒、提升开发效率”的全新可能。
    的头像 发表于 11-20 17:31 1148次阅读
    <b class='flag-5'>开源</b>鸿蒙技术大会2025丨跨平台<b class='flag-5'>开发</b>框架分论坛:共拓移动<b class='flag-5'>开发</b>新边界,共创跨平台生态新时代

    开源鸿蒙技术大会2025丨开源鸿蒙应用开发再提速,跨平台框架PMC(筹)正式启动孵化

    9月27日,开源鸿蒙技术大会2025在长沙国际会议中心盛大举办。大会现场,开源鸿蒙跨平台框架PMC(筹)正式启动孵化,标志着开源鸿蒙在应用开发基础设施建设层面迎来重大里程碑,也为整个行
    的头像 发表于 11-10 18:15 1570次阅读
    <b class='flag-5'>开源</b>鸿蒙技术大会2025丨<b class='flag-5'>开源</b>鸿蒙应用<b class='flag-5'>开发</b>再提速,跨平台框架PMC(筹)正式启动孵化

    NVIDIA推出面向语言、机器人和生物学的全新开源AI技术

    NVIDIA 秉持对开源的长期承诺,推出了面向语言、机器人和生物学的全新开源 AI 技术,为构建开源生态系统做出贡献,扩展 AI 的普及并推动创新。NVIDIA 正将这些模型、数据和训练框架贡献给 Hugging Face,让
    的头像 发表于 11-06 11:49 1244次阅读

    如何在机器视觉中部署深度学习神经网络

    人士而言往往难以理解,人们也常常误以为需要扎实的编程技能才能真正掌握并合理使用这项技术。事实上,这种印象忽视了该技术为机器视觉(乃至生产自动化)带来的潜力,因为深度学习并非只属于计算机科学家或程序员。 从头开始:什么
    的头像 发表于 09-10 17:38 1036次阅读
    如何在机器视觉中部署<b class='flag-5'>深度</b><b class='flag-5'>学习</b>神经网络

    开鸿开发深度体验:从开源鸿蒙开发到AI场景实践

    开鸿开发板KaihongBoard-3588S-SBCKaihongBoard-3576-SBC体验开源鸿蒙能力学习开源鸿蒙开发●●●搭载K
    的头像 发表于 07-03 17:03 1956次阅读
    开鸿<b class='flag-5'>开发</b>板<b class='flag-5'>深度</b>体验:从<b class='flag-5'>开源</b>鸿蒙<b class='flag-5'>开发</b>到AI场景实践

    开源电机驱动,免费学习

    CW32L010_BLDC_ESC_Driver电机驱动开发板 项目与资料开源项目详细开源资料可点击复制链接转到浏览器: CW32L010_BLDC_ESC_Driver电机驱动开发
    的头像 发表于 07-01 14:51 1054次阅读
    <b class='flag-5'>开源</b>电机驱动,免费<b class='flag-5'>学习</b>

    开源电机驱动,免费直播学习!

    开源电机驱动,免费直播学习!
    的头像 发表于 06-13 10:07 2005次阅读
    <b class='flag-5'>开源</b>电机驱动,免费直播<b class='flag-5'>学习</b>!

    全新开源鸿蒙电脑开鸿Bot系列即将上市,搭载的KaihongOS桌面版四大体验引期待

    在国产操续受到关注的当下,一款面向开发者的全新开源鸿蒙学习系列产品引发热议。由深开鸿推出的,面向开源鸿蒙开发
    的头像 发表于 05-21 17:47 1332次阅读
    <b class='flag-5'>全新开源</b>鸿蒙电脑开鸿Bot系列即将上市,搭载的KaihongOS桌面版四大体验引期待

    开鸿Bot系列:为开源鸿蒙开发者而生!

    昨日,深开鸿正式宣布,开鸿Bot系列产品——开鸿BotBook与开鸿BotMini全面开启预售。该系列面向开源鸿蒙开发者量身打造,搭载基于OpenHarmony深度定制的KaihongOS桌面
    的头像 发表于 05-16 16:06 1459次阅读
    开鸿Bot系列:为<b class='flag-5'>开源</b>鸿蒙<b class='flag-5'>开发</b>者而生!

    开源鸿蒙开发新体验,开鸿Bot系列今日开启预售!

    今日,深开鸿正式宣布,开鸿Bot系列产品——开鸿BotBook与开鸿BotMini全面开启预售。该系列面向开源鸿蒙开发者量身打造,搭载基于OpenHarmony深度定制的KaihongOS桌面
    发表于 05-16 14:13

    思岚科技AI工业机器人开放底盘Phoebus P350全新发布:深度学习导航+300KG负载

    工业4.0时代,智能搬运的“底盘力”决定效率天花板。 SLAMTEC全新推出 Phoebus P350工业级机器人底盘 ,以 “开放AI架构+深度学习导航” 为核心,融合300KG超强负载、60cm
    的头像 发表于 05-12 11:33 1607次阅读
    思岚科技AI工业机器人开放底盘Phoebus P350<b class='flag-5'>全新</b>发布:<b class='flag-5'>深度</b><b class='flag-5'>学习</b>导航+300KG负载