『人工智能』35万行代码,旷视重磅开源天元深度学习框架 ,四大特性实现开发( 三 )
因此 , 天元框架的设计理念 , 就是希望训练和推理一体 , 即让它能够同时进行训练 , 也能够进行推理 。
本文插图
针对这个痛点 , 天元的训练推理一体化可以很好地解决 。
(1)它无需进行模型的转换 , 可以直接使用训练后得到的模型进行推理;
(2)可以通过这一机制 , 保证训练的速度和精度与推理保持一致;
(3)模型训练结束后 , 需要在不同的设备上进行推理、使用 , 该框架也能够保证跨设备的模型精度实现对齐(最小化精度差别);
(4)通过简化流程 , 天元框架能够内置一个自动模型优化过程 , 减少手工模型遇错处理 , 可以直接自动使用内置流程 , 简化流程 , 形成高效的研发体系 。
这样一来 , AI 真正落地要考虑的多端部署和在线服务的问题就得以解决 , 大大减少了训练成本的问题 。
- 动静合一
痛点二 , 静态图好部署 , 动态图易调试 , 但二者难以兼得 。 田忠博介绍道 , 深度学习框架大致分为两类 , 一类是以 TensorFlow 1.0 为代表的静态深度学习框架 , 它非常容易部署 , 能够很快地产出产品 , 是现在工业界非常喜欢的部署方式 , 它的性能高 , 占用资源少 , 但是难以调试 。 在学界 , 大家更喜欢以 PyTorch 为代表的动态计算框架 , 因为它在研究阶段调试更方便 , 使用更灵活 , 但是动态图也有缺陷 , 比如内存占用严重 , 很难做优化等 。
面对这个鱼与熊掌不可兼得的问题 , 旷视尝试把两种框架的优点集成在一起 , 在设计天元时希望能够达到动静合一的效果 。
本文插图
上图展示的是天元框架代码中从动态到静态切换的情况 。 可以看到 , 通过使用一个 @trace 的 Python 装饰器来装饰其中一段函数 , 实现了这段函数具备既可在动态下正确运行 , 也可以转换到静态形态运行的状态 。 只需把「Enabled」开关设为True或者False , 用户就可以自由选择动态或静态计算 。
这样 , 开发者就可以在动态的过程中 , 非常方便地进行原型的研发和调试 , 同时当希望在生产环节使用 , 或希望借助更好的静态优化器、静态编译机制进行提速时 , 可借助静态图进行提速 。
田忠博表示 , 在测试中 , 静态提速往往可以达到 5% 到 20% 的加速效果 , 节省时间 , 提高效率 。
- 兼容并包
第三个痛点 , 是市面上有很多框架 , 但每种框架使用的接口都不一样 , 这导致大家在进行学术交流时 , 首先要了解它是用什么框架实现的 , 在使用中还需要在常用的环境和框架中再重新进行模型实现 , 这对于一般的开发者来讲是一件高成本的事 。
因此 , 为了简化这个问题 , 天元在设计时还希望它是一个兼容并包的体系 。
本文插图
上图为使用天元框架进行深度学习的代码 , 它的风格与Numpy 和 PyTorch 的写法非常相似 , Pythonic 风格的简化 API 让 Python 使用者可以自然地接受 , 所以在函数的命名风格和参数的设计细节中尊重原有 Python 社区的传统 。
值得一提的是 , 天元还提供一个实验性的功能 , 让开发者可以便利地将以往写过的模块 , 如 将PyTorch Module 直接导入到框架中 , 和其他天元组件一起使用 , 以更好地进行模型复现 。
另外 , 田忠博提到 , 旷视在计算机视觉领域有一些独特的积累 , 因此也把其在这方面的成果融入到天元系统中 , 集成了很多为计算机视觉特别优化的算子 , 让计算机视觉研发更加简便 。
- 2020改变就在眼前,量化派助力多行业人工智能化
- 『接风娱乐』人机对战协作新时期已经来临,提高智能化与人工智能技术趋于结合
- 游戏谈▲人工智能上线助力疫情!5天时间如何如何完成?
- [人工智能]“智慧大脑”赋能河南制造
- 「睿报财经」资金净流入7.02亿元,紫光国微(股票代码:002049)强势涨停
- 人工智能■京东商城背后的AI技术能力揭秘 - 基于关键词自动生成摘要
- 「人工智能」AI独角兽第四范式完成C+轮融资,估值约20亿美元
- 合墨数据携手中科大人工智能博士团队,引领智能风控新未来
- [就要买买买]人类会原谅机器吗?,人工智能浪潮之下
- 巴比特资讯■为多客户端测试网发布开绿灯,以太坊2.0将发布代码规范最新版本v0.11.1
