中安网▲奠基AI生态共建,旷视Brain++天元框架开源

深度学习是贯穿当今人工智能应用的核心框架之一 。 如何利用深度学习框架、高效进行人工智能开发 , 已经成了全球AI开发者们热议的话题 。
3月25日下午 , 旷视科技于线上正式发布“Brain++·天元”深度学习框架 。
“Brain++”是由旷视自主研发的端到端人工智能算法平台 , 总体架构上分为三部分 , 包括深度学习框架MegEngine、深度学习云计算平台MegCompute、以及数据管理平台MegData , 具备大规模算法研发能力 。
而天元(MegEngine)则是旷视Brain++最核心的组件 , 可帮助开发者用户借助编程接口 , 进行大规模深度学习模型训练和部署 , 具备训练推理一体化 , 动静合一 , 兼容并包和灵活高效四个特点 。
MegEngine:深度学习框架的新纪元
发布会上 , 旷视研究院高级技术总监田忠博对于天元MegEngine做出了更详尽的介绍 。
中安网▲奠基AI生态共建,旷视Brain++天元框架开源
文章图片
天元架构从上到下共分为5个层次 。 最上层为计算接口层 , 天元对外暴露的接口为Python和C++接口 , 支持Python和C++语言对框架进行编程和使用 , 进行原型系统的设计研发和训练推理 。
第二层为图表示层 , 包含动态图和静态图表示功能 。 在图表示层下 , 第三层为核心计算层 , 包括自动求导、图优化、图编译等主要功能 。 同时 , 一体化核心计算引擎层次负责支撑动态图、静态图表示功能 , 以及上层接口功能 。
系统第四层为管理层 , 分为运行管理和内存管理两部分 , 负责计算调度和内存管理 。 其中非常值得一提的是内存管理模块中实现的“静态内存亚线性优化”功能 , 可以使内存管理效率得到大幅提升 。
最底层为系统核心计算层 , 包含核心算子库 , 可以支持X86、CUDA、ARM、ASIC等一系列常见计算设备;以及一个高性能异构通信库 , 可以支持计算框架的分布式、多节点使用 , 从而支持更大规模的应用 。
天元MegEngine的优势
天元框架的诞生 , 有针对性地解决了人工智能产品开发中一系列痛点:
▎训练推理一体化
传统深度学习产品的研发过程中 , 训练框架和推理框架往往是分别设计和实现的 , 当进行算法设计时 , 算法首先需要获得训练框架的支持 , 变为可训练的模型 , 再转为为推理框架可支持的格式 , 在不同的设备上进行计算 。
这些复杂的流程可能会导致一系列问题:如算子不被支持、无法自动优化、冗余算子引入导致系统性能下降等 。
中安网▲奠基AI生态共建,旷视Brain++天元框架开源
文章图片
而天元框架无需进行模型转化 , 可直接使用训练后的模型进行推理 , 保证训练和推理时的速度和精度一致 , 以及在跨设备模型训练时精度对齐 。 并且通过简化流程 , 天元可以自动对流程优化 , 提高效率 。
▎动静合一
在人工智能原型开发中 , 静态图更好部署 , 更容易变为产品 。 而在研究过程中 , 动态图更方便调试 , 更加灵活 。
天元框架尝试取两者优点 , 设计为可在动态和静态两种模式中切换 , 达到在两种模式下都可正确进行计算的状态 , 从而提升研究到部署过程中的效率 。
中安网▲奠基AI生态共建,旷视Brain++天元框架开源
文章图片
▎兼容并包
目前人工智能开源框架众多 , 每种框架的接口各异 , 导致了模型复现困难 , 学习成本高的问题 。
天元框架设计时 , 在函数命名风格和参数设计细节上都遵循Python社区的传统 , 并简化整体API风格 , 降低框架的使用和学习成本 。
同时天元框架还尝试性添加了模型导入功能 , 使模型可以更简单地被复现和对比 , 方便原型开发和实验 。
中安网▲奠基AI生态共建,旷视Brain++天元框架开源