刚刚,旷视开源深度学习框架「天元」:Brain++内核,研发和落地都在用;孙剑:COCO三连冠背后的秘密武器

乾明 发自 凹非寺
量子位 报道 | 公众号 QbitAI

耗费资源打造优化6年,迭代到8.0版本,旷视技术体系的关键支柱,现在正式对外开源。

刚刚,深度学习驱动之下最早创业的中国AI独角兽旷视,宣布开源自研深度学习框架MegEngine(Brain++核心组件之一),中文名天元——取自围棋棋盘中心点的名称。

在发布会上,旷视联合创始人、CTO唐文斌透露,这也是向AlphaGO致敬。

与之前开源的“前辈”框架们不同,旷视开源的AI框架,是其创业、壮大和屡屡刷新业内纪录的核心驱动引擎。

所以旷视天元,因何开源?有啥目标?会给业界带来什么变化?

在介绍天元开源时,唐文斌介绍了“天元”的另一层含义:万物的基础。

他说:“我们希望能够通过天元这样一个深度学习框架,能够作为中国人工智能的一个基石,能够帮助中国人工智能做得更好。”

而聚焦到旷视本身,开源亦是其“基于算法向产业方向升级,打造AI基础设施”战略的延伸,近年一连串动作,都是该方向上的不断落子。

智能化时代的生产力工具

2019年初,旷视发布AIoT 操作系统“河图”,应用于物流场景,让更多硬件可以接入,并实现平台统一控制、调度。

与此同时,这套系统还能让更多的生态伙伴可以参与其中,开发属于自己的智能物流解决方案,创造场景的价值。

“河图”发布之后,虽然平台软件的产生得以让更多的硬件接入,让 AI+ 场景越发丰富。但旷视发现,更大的需求出现了——场景具有无限性。

他们认为,这导致了场景对算法需求的无限性,但没有任何一家企业可以创造所有算法。要解决这个矛盾,激发整个产业算法创新能力,就需要一套面向所有人开放的 AI 基础设施。

那什么是 AI 基础设施?

唐文斌在发布会上说,只有 AI 芯片平台和 AI 生产力平台能够被称为 AI 基础设施。

其中,AI 的计算需要 AI 芯片平台承载不容置疑,而 AI 生产力则需要来自于“框架”。

之前,在观察评估AI框架时,我们也曾有过更宏观的视角:

从人类社会生产大爆发的三大时代来审视,生产力的重点是规模化工具的重要性。农业文明时代的核心,是耕犁的使用,让耕种有了规模化发展的可能。

工业革命的关键,是蒸汽机的启用和推广,让机器真正可以规模化部署应用,替代手工作坊。而智能化时代中,如何实现数据规模化运用和处理,成为竞争力关键。

通常情况下,我们把技术作为第一生产力,但更多聚焦于技术,反而会忽略了规模化运用“技术”的工具。

如果回顾起来,就会发现这样一个规律,谁掌握时代生产工具,谁就能掌握生产力,从而有可能成为时代红利的最大受益者,在竞争中占得先机。

按照产业经济学的理论,生产效率的本质,在于减少消耗、增大产出,从而利用结余推动更进一步的发展,并在每个增长瓶颈中抓住产业变革奇点,实现范式转移和产能跃迁,从而真正穿越周期。

具体到AI驱动的智能化时代当下,打造人工智能算法的框架,无疑是减少消耗的工具:规模化AI算法落地推动产出,各行各业将进入一场新的能效变革战争。

所以在产业智能化的大势下,算法开发框架的意义也进一步凸显,更是成为数字基础设施建设、产生AI生产力的核心工具之一。

从这个角度来看,旷视开源天元既是为技术共同体贡献一份力量,也是其引入开放性创新、打造Brain++ 生产力平台、角逐产业智能时代的战略所向。

唐文斌认为,就任何一个产业来说,只有引起标准化、规模化的连锁反应才能迎来真正繁荣。

这就是天元的设计理念,直接反映在框架设计的特性和能力中。

天元框架的四大特性

天元是旷视Brain++的核心组件之一,主要功能:帮助开发者用户借助友好的编程接口,进行大规模深度学习模型训练和部署。

根据旷视给出的官方总结,天元具备训练推理一体化,动静合一,兼容并包和灵活高效四个特点,使其在于其他主流深度学习框架对比中,不落下风。

所谓训练推理一体化,指的是通过天元训练得到的模型和产物,可以直接进行用于产品的推理、封装。在部署时,它还能帮助开发者自动删除冗余代码,实现模型自动优化。

动静合一,是指天元集成了“静态图性能高、占用资源少且易于部署”、“动态图简单灵活、方便调试且易于上手”的优点。

在充分利用动态图模型训练优势时,开发者可以通过天元动静态一键转换功能,以静态图的形式完成生产和部署;此外,天元还支持动静态的混合编程,灵活性更强。

在发布会上,旷视研究院高级技术总监田忠博给出了一个例子。

他说:“在使用天元动态图能力的时候,大概可以在一个32Batch左右进行计算,如果把它转换到静态图的情况下,它就可以支持到64Batch的水平。”

但这不是全部。

他还介绍称:“如果大家希望在这种情况下,训练更大的Batch,训练更大的模型,完全可以采用亚线性的自动内存优化技术,天元可以在几乎无降低计算速度前提下,达到256Batch训练能力。”

而且,随着你的模型变大、变深,它的效果越好。

田忠博透露,旷视内部有一些评测上,可以实现某些大模型20倍以上的内存节省,速度几乎不变。

兼容并包,则体现在天元的易用性上,其具备Pythonic的API——习惯用Python进行传统机器学习的开发者,学习成本更低、易于上手。而且,天元还支持PyTorch Module功能,可以直接导入模型,迁移成本低且极大方便模型复现。

灵活高效,专指天元具备很强的多平台多设备适应能力,能通过类似汇编和指令重排等技术,使得天元内置算子能够在推理或生产环境中充分利用多核优势,灵活调用设备的计算力,尤其适用于大模型算法训练。

那么问题来了,天元有如此能力与特性,关键秘诀是什么?

架构设计。

天元框架的整体架构

从架构上来看,天元具体分为计算接口、图表示、优化与编译、运行时管理和计算内核五层。

在顶层的计算接口上,天元配置C++和Python接口,用以解决框架学习接口各异,模型难以复现的问题;

在图表示层,天元内置动静态转换功能,支持开发者混合使用动态图和静态图模式进行编程;

在优化与编译层,天元构建核心计算图支持用户高效交互,进一步优化和编译API表达的计算,具体包括自动求导器、图优化和图编译功能;

运行时设备管理中,天元配置计算调度和内存管理两个模块,通过计算调度模块将设备抽象为执行流,并通过调度器实现智能调度。

内存优化上,天元同时采用了动态、静态内存分配并存的方式,支持自动亚线性内存优化,同时,旷视独创了自动的亚线性内存管理优化器,使天元能够得到更好的内存优化效果。

天元的底层(计算内核)拥有一个基于异构架构,内置高效计算机视觉算子的计算内核,具备X86,CUDA等主流硬件设备智能适配能力。

其可以通过内置算法,根据设备本身启发式地选择最优内核,也能让用户自己选择最适合的内核进行计算。

此外,天元配备了高性能异构通信库,支持用户在不同机器和计算卡之间进行高性能的通信,以实现多机多卡、大规模、分布式的算法训练。

如此框架,用到实际中效果会怎样呢?

开头就有说,旷视创业发展至今,成为全球估值最高的AI独角兽之一,背后离不开这个框架的强力驱动。

旷视核心中的核心

过去的6年中,天元框架作为旷视“真核”Brain++的一部分,与深度学习云计算平台(MegCompute)、以及数据管理平台(MegData)一起,支撑旷视全部业务。

旷视首席科学家、研究院院长孙剑说:“旷视1400名研发人员,全部使用天元框架,并将其应用到了上百个产品、几十种计算平台上。”

在孙剑看来,天元与谷歌推出的TensorFlow、Facebook推出的PyTorch有很大不同。

“AI公司的深度学习框架和平台公司的深度学习框架,考虑的点、方位、方向上都不同。”他说,“我们的深度学习框架(天元)生长在旷视的核心业务上,我们希望能够对特定方向上的AI开发者带来好处,希望他们可以同时或者使用不同的框架来解决不同的问题。”

比如在主流的计算机视觉模型(ResNet 18、ResNet50、MobileNet v2和 ShuffleNet V2)上,天元的训练速度不同于其他主流框架。

在这次开源中,围绕着天元框架,旷视还发布了一系列开发工具。

比如开箱即用的在线深度学习工具MegStudio,能够让开发者快速体验天元的框架,训练模型。天元还上线了囊括顶尖算法的模型中心ModelHub,其中包括旷视研究院最新的技术、研究成果。

与此同时,旷视也将分布式计算中的数据并行和模型并行方式应用到了天元中,进一步提升大规模图像数据处理和模型训练的效率。

面向更大范围、更多种类设备上的部署,天元提供了神经架构搜索、网络剪枝和构建低比特的小型神经网络等功能。

而且,天元中还集成了旷视最新的 AutoML 技术,自动化设计深度学习算法的各个关键环节,让算法来训练算法,让AI来创造AI,降低上手门槛。

以上种种能力,无不证明着,天元正是旷视核心中的核心,压箱底的本领。

最直接的例子,莫过于旷视持续三年拿下COCO重头戏“物体检测”冠军,统治力堪比“中国乒乓球队”。在2019年ICCV夺冠后,孙剑再次感谢Brain++,称一连串成绩的取得,离不开背后强大的Brain++。

而承担着Brain++平台生产/开发算法任务的天元,更是发挥着重要的作用。

但就是如此利器重器、核心中的核心,旷视现在开源了。

why?

历时6年打造优化,开源是“无限游戏”

对于旷视来说,直接推动开源的因素有两个:一是技术是否成熟,二是时机是否得当。

旷视联合创始人、CEO印奇称,这直接与AI行业的发展有关系。

他说,当算法变成改造甚至颠覆软件行业的力量时,最后核心就是看这些AI的公司有没有平台化的能力,即“能够批量、高效、比竞争对手更及时地供应优质算法”。

而这种竞争的决定性因素,就在于是否掌握了核心引擎的框架。

所以,旷视在2014年就自主研发了“天元”框架,这比TensorFlow开发的时间还要早。

2015年年中,天元框架在旷视全公司推广,其业务线上的模型全部换成了自研框架训练出来的版本。

同年11月份,谷歌开源TensorFlow后,虽然一度让旷视内部对于是否继续研发深度学习框架产生动摇。但经过大规模评测后,旷视还是走向了自研的道路——毕竟刚刚问世的TensorFlow效果并不理想。

行至今日,天元不断完善,Brain++逐步成型,旷视进一步变强,角逐的市场也正在扩大,开源更是成了其作为行业领头公司的担当。

“我们认为其实还是应该为中国整个这样一个AI的大的生态去贡献点力量,这个力量能多大我自己也不知道,但我觉得这是应该做的,”印奇说。

在宣布天元开源的发布会上,唐文斌也进一步透露了旷视对天元的期待,希望通过开源,能跟更多的人一起,用AI的力量创造更多的价值。

当然,旷视作为一家AI创业公司,怎么样既保证自己的核心业务不受到损害,又能够把开源的能力放到最大化?这也是外界关注天元是否开源,如何开源的核心问题。

从天元的开发路线图中,能够看出旷视对待这些问题的态度,不仅没有回避,而且颇显坦诚。

唐文斌坦言,这次开源的天元是Alpha版本,基于Apache License2.0,代码大概有35万行,囊括了大多数应用场景。

接下来的6月份,旷视将发布天元的Beta版本,增加对ARM系列CPU支持、更多加速设备支持、量化和低比特计算支持等功能。

9月份,旷视会发布正式1.0版本,全面支持主流计算设备,升级动态计算能力,优化训练推理全流程使用体验等。

唐文斌说,也希望更多人能够对我们的产品提出批评给出建议,一起来贡献code,跟大家一起来共建更好的天元。

但不管怎样,自此之后,开发者们在选用框架打造模型算法时,多了一个不容忽视的、有保障的选择。

另外,对于整个AI行业而言,竞争维度也进一步提高。开源竞争已不再是某个算法、模型的单点开源,而是变成了框架之战、平台之争,生态集团比拼。

正如唐文斌所说:“AI能够赋能的行业和场景非常多,这是一个无限游戏”。

在这个游戏里,旷视因Brain++强大,Brain++因天元走向无处不在,AI复兴成就了旷视——这个AI创业上市第一股,而旷视现在则通过天元,把自己的AI影响力和能力,扩散向更广阔的智能化时代。

量子位也问 CEO印奇,天元开源,内部小目标是什么?

印奇答:中国开发者中口碑最好的框架。

现在,天元正式开门,迎接检验和评价。

传送门:

天元 MegEngine 深度学习框架官方网站:

https://megengine.org.cn/

GitHub 开源地址:

https://github.com/MegEngine/MegEngine

版权所有,未经授权不得以任何形式转载及使用,违者必究。