【TensorFlow开源2年官方回顾】下一个重要方向是分布式模型服务

2017 年 11 月 3 日 新智元

【AI WORLD 2017世界人工智能大会倒计时 5 

AI World 2017世界人工智能大会终极指南:嘉宾演讲与议程


即将于2017年11月8日在北京国家会议中心举办的AI World 2017世界人工智能大会上,新智元携手爱奇艺推出的人工智能领袖专访视频将重磅发布谷歌云首席科学家、斯坦福人工智能实验室主任李飞飞教授与谷歌云机器学习\人工智能研发主管李佳将带来精彩访谈内容,介绍谷歌云的发展计划。此外,来自微软、亚马逊等美国AI巨头的AI主管与科学家也将出席AI World 2017,与中国的同行们共同探讨AI新生态。敬请期待。


抢票链接:http://www.huodongxing.com/event/2405852054900?td=4231978320026

大会官网:http://www.aiworld2017.com

  新智元编译  

来源:research.googleblog.com

编译:马文


【新智元导读】 TensorFlow Serving 开源的一年半时间里取得了许多进展和性能提升,包括开箱即用的优化服务和可定制性,多模型服务,标准化模型格式,易于使用的推理API等。本文是研究团队撰写的回顾,并提出接下来创新的方向是Granular batching和分布式模型服务。



自从2016年2月 TensorFlow Serving 开源以来,我们做了一些重大改进。现在,让我们再回到这个项目开始的地方,回顾我们的进展过程,并分享我们下一步的方向。


在 TensorFlow Serving 启动之前,谷歌公司内的 TensorFlow 用户也必须从头开始创建自己的服务系统。虽然一开始服务看起来很容易,但一次性服务解决方案很快就会变得更复杂。机器学习(ML)服务系统需要支持模型版本控制(对于具有回滚选项的模型更新)和多个模型(通过A/B测试进行试验),同时确保并发模型在硬件加速器(GPU和TPU)上实现高吞吐量和低延迟。因此,我们开始创建一个独立、通用的 TensorFlow Serving 软件栈。


我们从一开始据决定将其开源,开发工作是从2015年9月开始。几个月后,我们创建了最初的端到端工作系统,并在2016年2月释出第一个开源版本。


在过去一年半的时间里,在我们的用户和公司内外的合作伙伴的帮助下,TensorFlow Serving 得以提供先进的性能、最佳的实践和标准:


  • 开箱即用的优化服务和可定制性:我们现在提供一个预构建的规范服务二进制文件,针对带 AVX 的现代CPU进行了优化,因此开发人员不需要从我们的库中自己组装二进制文件,除非他们有特殊需求。同时,我们添加了一个基于注册表的框架,允许我们的库被用于定制(甚至是非TensorFlow)的服务场景。


  • 多模型服务:从一个模型扩展到多个并行服务的模型,会出现一些性能上的阻碍。我们通过(1)在隔离的线程池中加载多个模型,以避免在其他模型中出现延迟峰值;(2)在服务器启动时,并行加速所有模型的初始加载;(3)多模型批交错以复用硬件加速器(GPU/TPU)。


  • 标准化模型格式:我们将 SavedModel 添加到 TensorFlow 1.0,为社区提供了一种单一标准的模型格式,可以跨训练和服务工作。


  • 易于使用的推理API:我们为常见的推理任务(分类、回归)发布了易于使用的API,这些API适用于广泛的应用程序。为了支持更高级的用例,我们支持一个较低级的基于 tensor 的API(预测)和一个允许多任务建模的新的多重推理API。


我们的所有工作都通过与以下各方的密切合作实现的:(a)谷歌的 ML SRE 团队确保了我们团队的强壮并满足内部SLA; (b)谷歌其他机器学习基础架构团队,包括广告服务和TFX; (c)Google Play等应用程序的团队;(d)我们在加州大学伯克利分校RISE实验室的合作伙伴,他们研究与Clipper服务系统互补的问题; (e)我们的开源用户群和贡献者。


TensorFlow Serving 目前正在为1100多个我们自己的项目,包括谷歌云的ML预测,每秒处理数千万次的推理任务。核心服务代码可以通过开源版本获得:https://github.com/tensorflow/serving/releases


展望未来,我们的工作还远未完成,我们正在探索一些创新的途径。今天,我们很高兴在两个实验领域分享早期进展:


  • Granular batching:我们在专用硬件(GPU和TPU)上实现高吞吐量的关键技术是“批处理”(batching):联合处理多个样本以实现高效。我们正在开发技术和最佳实践来改进批处理:(a)使批处理能够仅针对计算的GPU / TPU部分,以获得最高效率; (b)允许在递归神经网络进行batching,用于处理序列数据,例如文本和事件序列。我们正在尝试使用Batch/Unbatch对任意子图进行batching。


  • 分布式模型服务:我们将模型分片(model sharding)技术作为处理模型的一种方法,这些模型由于太大而无法适应一个服务器节点,或者不能以节省内存的方式共享子模型。我们最近在生产中推出了一个1TB+的模型,并取得了良好的效果,希望很快开源。


再次感谢我们所有的用户和合作伙伴,他们提供了反馈、代码和想法。参加项目:github.com/tensorflow/serving



11月8日,欢迎来新智元世界人工智能大会,深入了解AI 技术进展和产业情况,马上抢票!


【AI WORLD 2017世界人工智能大会倒计时 点击图片查看嘉宾与日程。


抢票链接:http://www.huodongxing.com/event/2405852054900?td=4231978320026


AI WORLD 2017 世界人工智能大会购票二维码: 




登录查看更多
0

相关内容

高性能TensorFlow模型托管服务器
专知会员服务
232+阅读 · 2020年1月23日
【阿里巴巴】 AI编译器,AI Compiler @ Alibaba,21页ppt
专知会员服务
43+阅读 · 2019年12月22日
2019年机器学习框架回顾
专知会员服务
35+阅读 · 2019年10月11日
深度学习开发必备开源框架
九章算法
12+阅读 · 2018年5月30日
机器学习者必知的 5 种深度学习框架
深度学习世界
7+阅读 · 2018年5月3日
【机器学习】基于TensorFlow搭建一套通用机器学习平台
开源神经网络框架Caffe2全介绍
北京思腾合力科技有限公司
3+阅读 · 2017年12月12日
Arxiv
14+阅读 · 2020年2月6日
Arxiv
21+阅读 · 2018年8月30日
Arxiv
6+阅读 · 2018年6月21日
Arxiv
5+阅读 · 2018年5月1日
VIP会员
相关资讯
深度学习开发必备开源框架
九章算法
12+阅读 · 2018年5月30日
机器学习者必知的 5 种深度学习框架
深度学习世界
7+阅读 · 2018年5月3日
【机器学习】基于TensorFlow搭建一套通用机器学习平台
开源神经网络框架Caffe2全介绍
北京思腾合力科技有限公司
3+阅读 · 2017年12月12日
相关论文
Top
微信扫码咨询专知VIP会员