TensorFlow工程师分享了TensorFlow Serving最近的创新进展

近日,Tesorflow软件工程师Noah Fiedel通过本文描述了机器学习模型TensorFlow Serving最近的一些创新进展

TensorFlow Serving是一种灵活的、高性能的机器学习模型。它使得部署新的算法和实验变得更加容易,同时保持了相同的服务器架构和API。而且,它还提供了TensorFlow模型的开箱即用的集成,但是可以很容易地扩展为其他类型的模型和数据。

自2016年2月开源TensorFlow Serving发布以来,我们已经做出了一些重大的改进。在此之前,谷歌内部的TensorFlow用户必须从零开始创建自己的服务系统。尽管服务在一开始看起来很容易,但一次性的服务解决方案很快就会变得复杂。机器学习(ML)服务系统需要支持模型版本控制(对带有回滚(rollback)选项的模型更新)和多个模型(通过A/B测试进行试验),同时确保并发模型(concurrent model)在低延迟的硬件加速器(GPU和TPU)上实现高吞吐量。因此,我们开始创建一个单独的TensorFlow Serving软件栈。

我们决定从一开始就把它变成开源的,开发从2015年9月开始。几个月后,我们创建了最初的端到端工作系统,然后就是上文提到的在2016年2月发布了我们的开源版本。

在过去一年半的时间里,TensorFlow Serving逐步拥有了先进的性能、最佳的实践和标准:

  • 开箱即用的优化服务和可定制性:我们现在提供了一个预先构建的规范化服务二进制文件,用AVX对CPU进行了优化,因此开发人员不需要从我们的库中组装他们自己的二进制文件,除非他们有特殊的需求。同时,我们添加了一个基于注册表(registry)的框架,允许我们的库被用于自定义(甚至是非Tensorflow)服务场景。
  • 多模型服务:从一个模型到多个并发的服务模型,呈现出几个性能障碍。我们通过(1)在隔离的线程池中加载多个模型,以避免在其他模型中出现延迟峰值;(2)在服务器启动时,加速所有模型的初始加载;(3)多模型批处理到多路复用硬件加速器(GPU/TPU)。
  • 标准化的模型格式:我们将SavedModel添加到TensorFlow 1.0中,为社群提供了一种可以跨训练和服务工作的标准的模型格式。
  • 易于使用的推理API:我们为常见的推理任务(分类、回归)发布了易于使用的API,而且这些API适用于我们的应用。为了支持更高级的用例,我们支持一个较低级的基于tensora的API(预测)和一个支持多任务建模的新的多推理(multi-inference)API。

我们所有的工作都是通过与:(a)Google的ML SRE团队的紧密合作来实现的,这个团队有助于确保我们的鲁棒性并满足内部服务等级协议(SLA);(b)其他谷歌机器学习基础设施团队,包括广告服务和TFX(一个基于Tensorflow的大规模的机器学习平台);(c)像Google Play这样的应用团队;(d)加州大学伯克利分校上升实验室的合作伙伴;(e)我们的开源用户群和贡献者。

TensorFlow Serving目前正在为1100多个项目,包括Google的Cloud ML Prediction,每秒处理数千万次的推论。我们的核心服务代码可以通过我们的开源获得。

地址:https://github.com/tensorflow/serving/releases

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

  • 粒度批处理(Granular batching):我们在专门的硬件(GPU和TPU)上实现高吞吐量的关键技术是“批处理”:为了效率而联合处理多个示例。我们正在开发技术和最佳实践来改进批处理:(a)使批处理只针对计算的GPU/TPU部分,以达到最大效率;(b)允许在递归神经网络中进行批处理,用于处理序列数据,例如文本和事件序列。我们正在尝试使用 Batch/Unbatch对任意子图进行批处理。
  • 分布式模型服务:因为这些模型太大而不能放在一个服务器节点上,或者以一种内存有效的方式共享子模型,所以我们将模型分片(sharding)技术作为一种处理模型的方法。我们最近在生产中推出了一个1TB+的模型,并取得了良好的效果,我们希望能尽快开源这一功能。

TensorFlow Serving项目地址:https://github.com/tensorflow/serving

原文发布于微信公众号 - ATYUN订阅号(atyun_com)

原文发表时间:2017-11-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏WOLFRAM

Wolfram Data Repository 正式推出!

1645
来自专栏携程技术中心

干货 | 携程AI模型引擎设计与实践

912
来自专栏人工智能快报

谷歌公司开发出高速、离线语音识别技术

据科技资讯网站zdnet(www.zdnet.com)报道,谷歌开发出了可在未联网的Nexus 5智能手机上实时运行的语音识别系统。该系统无需通过远程数据中心进...

3505
来自专栏华章科技

好文丨数据挖掘界领军人物谢邦昌:深度剖析Data Mining

谢邦昌教授,是台北医学大学医务管理学系研究所暨大数据研究中心及管理学院主任,也是数据挖掘界领军人物及世界知名统计学家,他对数据挖掘的定义是:Data Minin...

631
来自专栏AI研习社

TensorFlow在工程项目中的应用 视频+文字转录(下)

本周四,雷锋网 AI 研习社邀请了跨国 IT 巨头 Thoughtworks 的资深数据架构师白发川,主讲线上公开课,为大家讲解 TensorFlow 在工程项...

2845
来自专栏腾讯技术工程官方号的专栏

模仿黑产破解12306验证码,验证码产品的未来是?

3754
来自专栏AI研习社

走出并行计算的误区,你应该在什么时候用它?

AI 研习社按:本文为 Salesforce 知名数据科学家、机器学习工程师 Anmol Rajpurohit 对开发者的建议。对算法进行并行处理,是业内常见的...

32513
来自专栏大数据文摘

两个案例:展现高效的压缩的重要性

1112
来自专栏企鹅号快讯

总结:如何操作各大品牌工业机器人——认知篇

在这几年,各大工业机器人制造商,目前都热衷与人机协作,ABB的“玉米”,FANUC的“绿手臂”,KUKA的“伊娃”等等,在人机协作走的比较前的也就数UR了,我们...

1786
来自专栏祝威廉

Transformer架构解析

数据的变换依赖于数据的流转,只有流转的数据才能够被变换。基于这个理念,我们提出了Transformer架构。

381

扫描关注云+社区