10月20日-22日,第六届世界互联网大会在中国乌镇召开。在此次大会的重头戏“世界互联网领先科技成果”发布活动上,人工智能独角兽旷视发布了名为Brain++的人工智能算法平台。据旷视联合创始人兼首席技术官唐文斌介绍,Brain++是“一套端到端的AI算法平台,目标是让研发人员获得从数据到算法产业化的一揽子技术能力,不用重复造轮子也可以推进AI快速落地。我们的Brain++还引入了AutoML技术,可以让算法来训练算法,让AI来创造AI。”
如果说算法模型是果实,那么开发它的环境和框架就是培育果树的土壤。尽管平时在开发中,框架和底层环境没有那么引人瞩目,但没有这些底层技术的支持,优秀的思路和创意也就无从实现。当前,深度学习社区基本被 TensorFlow 和 PyTorch 两大框架垄断。开源框架固然具有很高的人气和易用性,但是在国际环境变幻莫测的大背景下,依赖这些框架是否足够保险呢?同时,如果企业有新的想法和业务需求,开源框架能否完美实现?是否能够无缝嵌入业务之中?这些都是 AI 企业需要思考的问题。
为此旷视从 2014 年开始自研深度学习框架,到现如今构建了一整套围绕 AI 开发的整体系统。很多人会误以为这仅仅只是旷视的一个深度学习框架,或者是企业内部开发的云计算平台。而事实上,Brain++ 在旷视内部已成为了支撑算法研究和开发的整体基础底层平台。
Brain++ 涵盖了深度学习算法开发的整个流程
具体而言,Brain++涵盖了深度学习算法开发的所有环节。从数据的获取、清洗、预处理、标注和存储开始,到研究人员设计算法架构、设计实验环节、搭建训练环境、训练、加速、调参、模型效果评估和产生模型,到最终的模型分发和部署应用,Brain++为旷视的研发人员提供了一站式全流程的 AI 工程解决方案。
总体架构上,Brain++可以大体分为三部分,包括作为主体的深度学习算法开发框架MegEngine、提供算力支持的MegCompute、以及用于提供数据服务和支持的MegData。
Brain++人工智能算法平台在旷视内部被全体员工使用。旷视在2017年拿下3项COCO冠军,2018年拿下4项COCO冠军,以及今年发布了全新的通用物体检测数据集Objects365,都与Brain++的功劳密不可分。
MegEngine:极致性能
MegEngine的整体架构
MegEngine是基于计算图像的深度学习框架,相比于开源的大部分深度学习框架,MegEngine具有以下优势:
运算速度快:MegEngine拥有动态、静态结合的内存优化机制,因此速度比 TensorFlow 更快;
内存占用少:通过分析整个执行方案的内存使用情况,MegEngine充分优化内存,特别是亚线性内存优化,可以支持复杂的网络结构,自动利用部分冗余计算缩减内存占用,可达两个数量级,从而支持更大规模的模型训练;
易用性好:MegEngine封装了平台细节,易于新人用户快速上手;
支持多种硬件平台和异构计算:MegEngine支持通用 CPU、GPU、FPGA 以及其他移动设备端硬件,可多卡多机进行训练;
训练部署一体化:整个框架既可用于训练又同时支持推理,实现模型一次训练,多设备部署,避免复杂的转换过程造成的性能下降和精度损失。
另外,MegEngine 还集成了旷视最新的AutoML技术,对深度学习算法的各个关键环节进行自动化的设计、搜索和优化。这项技术以One-Shot方法为核心,通过一次训练完成自动化过程,将计算代价减小至传统AutoML方法的万分之一,在可控的时间内搜索出高性能、易部署的模型结构。
旷视AutoML技术图示
相比于市场上的AutoML技术,旷视的AutoML技术有以下优势:
计算代价小。传统的AutoML技术常常需要多次训练模型甚至会遍历部分模型空间,计算代价巨大。旷视的AutoML技术只需训练一次即可得到整个模型空间的刻画,大大减小了计算代价,只是平常训练代价的1-3倍。
应用范围广。旷视AutoML技术提供了一套完整的解决方案,覆盖了大部分业务,包括活体检测、人脸识别、物体检测、语义分割等。
部署方便。旷视AutoML技术涵盖了数据处理、模型训练、模型压缩、模型量化等流程,自动处理从数据到落地。
精度高。旷视AutoML技术在诸多视觉任务上,超过人类手工设计,达到了业界最优。
MegCompute:高效灵活
有了性能极佳的深度学习框架和全面的数据平台支持,Brain++也需要强大的算力支撑才能发挥完全的能力。深度学习框架的基础之上,旷视开发出了支撑整个平台计算的系统,被称为MegCompute。
MegCompute 平台的整体架构
这是一个包括了硬件基础设施、数据存储和计算调度的平台,用于协助研究人员部署训练环境、设计训练流程、提供算力和资源分配服务、监控实验进程、提供可视化效果展示、管理用户权限、存储数据等。
MegCompute有以下几大特点:
性能强大:MegCompute有丰富的GPU计算资源,同时也支持各类硬件,可灵活高效地分配计算任务。
全流程覆盖:MegCompute支持模型构建的全部流程环节,让研究人员能够实现一站式的业务应用服务,满足工业级的AI能力研发测试、部署上线和业务生产方面的工作。
弹性部署:MegCompute采用了Docker容器技术,可以让用户弹性化地构建部署训练环境,在不需要使用的时候直接销毁,使得资源可以及时释放给其他用户,具有非常弹性的特点。
用户友好:用户使用过程中,通过可视化界面进行环境搭建和训练设计方面的工作,也可以通过可视化的方式查看模型测试的结果,不需要关注太多的底层技术细节,使用非常方便。
支持多种深度学习框架:除了和MegEngine自研深度学习框架紧密结合外,MegCompute也支持使用TensorFlow和PyTorch。
MegData:数据综合处理
在构建模型的时候,也需要大量的数据支持。Brain++中的MegData负责提供数据方面的服务,主要包括四个方面:1)数据管理;2)数据标注;3)数据处理;4)数据安全。
旷视Brain++的核心组件 MegData
旷视在研发过程中需要使用大量的图像数据,因此需要一个综合平台提供管理、标注、处理和存储安全相关的服务。根据旷视介绍,MegData可以提供完整的数据服务,为用户提供了全流程的解决方案。
在标注方面,MegData提供了数据标注相关的服务,将人工标注和辅助算法相结合,提升标注效率。经过多次的业务打磨,MegData平台现已拥有全生命周期的项目管理平台,进一步实现AI助力,解放人工。另外,MegData还将旷视原创算法引入标注平台中,利用数据辅助算法实现标注效率的大幅提升。这些标注算法都是基于云的,可以伸缩和扩展。
在自动标注上,旷视采用了很多算法。比如,使用聚类算法,旷视可以使某项标注任务的成本下降为原有的10%。一些标注任务通过算法辅助验收,效率提升150%以上。
相比于其他同类平台,MegData在数据层面为AI模型研究提供了安全、高效的数据存储和处理方式。同时,由于它是基于云的,具有很高的灵活性。最后,MegData补全了AI算法研发中数据处理的缺失环节,使研发人员不需要花太多精力在数据层面,很大程度上提升了效率,节省了时间和研发成本。
总体而言,虽然不似其他两个Brain++模块那样引人关注,但是MegData在系统中发挥着重要的功能,负责完成了深度学习训练前很大一部分的数据管理、处理、标注和安全的工作。这些都是整个流程环节必不可少的。
总结来看,Brain++人工智能算法平台凸显了旷视在技术开发上的三个趋势。首先,Brain++完全是自主研发的深度学习系统,涵盖了AI业务的整体流程。这说明旷视能够完全掌握核心的研发工具和平台。另外,旷视Brain++是为计算机视觉场景而专门研发的,这是一个以业务为导向的专业AI服务系统,因此旷视可以拿出很多精力,针对业务中的需求提出专门的解决方案,而新方法可以快速在实际应用中得到测试和验证,通过业务驱动框架的发展。
由于旷视对Brain++本身具有完整的掌握能力,并且通过计算机视觉相关场景驱动 Brain++的发展,因此它的迭代速度非常快。当前,新算法层出不穷,企业急需能够快速实现算法的人工智能平台,能够迅速将新方法投入实际的生产中,Brain++是一个很好的参考范例。
领取专属 10元无门槛券
私享最新 技术干货