前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >TensorFlow工程师分享了TensorFlow Serving最近的创新进展

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

作者头像
AiTechYun
发布2018-03-05 16:55:21
1.5K0
发布2018-03-05 16:55:21
举报
文章被收录于专栏:ATYUN订阅号ATYUN订阅号

近日,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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-11-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 ATYUN订阅号 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯云 TI 平台
腾讯云 TI 平台(TencentCloud TI Platform)是基于腾讯先进 AI 能力和多年技术经验,面向开发者、政企提供的全栈式人工智能开发服务平台,致力于打通包含从数据获取、数据处理、算法构建、模型训练、模型评估、模型部署、到 AI 应用开发的产业 + AI 落地全流程链路,帮助用户快速创建和部署 AI 应用,管理全周期 AI 解决方案,从而助力政企单位加速数字化转型并促进 AI 行业生态共建。腾讯云 TI 平台系列产品支持公有云访问、私有化部署以及专属云部署。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档