专栏名称: 机器学习研究会
机器学习研究会是北京大学大数据与机器学习创新中心旗下的学生组织,旨在构建一个机器学习从事者交流的平台。除了及时分享领域资讯外,协会还会举办各种业界巨头/学术神牛讲座、学术大牛沙龙分享会、real data 创新竞赛等活动。
目录
相关文章推荐
宝玉xp  ·  经常用 OpenAI Whisper ... ·  昨天  
爱可可-爱生活  ·  【Anthropic Computer ... ·  3 天前  
宝玉xp  ·  对当前 AI ... ·  4 天前  
爱可可-爱生活  ·  【Agent-0:一个旨在模拟OpenAI新 ... ·  5 天前  
宝玉xp  ·  Cursor 编辑器的 Chat 和 ... ·  5 天前  
51好读  ›  专栏  ›  机器学习研究会

【学习】TensorFlow在产品环境中运行模型的实践经验总结

机器学习研究会  · 公众号  · AI  · 2017-03-17 19:21

正文



点击上方“机器学习研究会”可以订阅哦
摘要
 

转自:大数据杂谈

Zendesk是美国一家做客户服务的公司,提供产品创新和定价等服务,他们的机器学习平台使用的是TensorFlow;之前InfoQ从TensorFlow与Kubernetes/Docker的结合上给出了一些企业实践文章,而在模型部署上,这篇文章是个好例子;Zendesk使用TensorFlow Serving来加载TensorFlow模型,使用修改后的protobuf生成原生可用(bazel-free)的Python gRPC客户端,同时介绍了模型压缩、AB测试等经验。此文由原作者授权,InfoQ中文站翻译并分享。


我们如何开始使用TensorFlow  

在Zendesk,我们开发了一系列机器学习产品,比如最新的自动答案(Automatic Answers)。它使用机器学习来解释用户提出的问题,并用相应的知识库文章来回应。当用户有问题、投诉或者查询时,他们可以在线提交请求。收到他们的请求后,Automatic Answers将分析请求,并且通过邮件建议客户阅读相关的可能最有帮助的文章。

Automatic Answers使用一类目前最先进的机器学习算法来识别相关文章,也就是深度学习。 我们使用Google的开源深度学习库TensorFlow来构建这些模型,利用图形处理单元(GPU)来加速这个过程。Automatic Answers是我们在Zendesk使用Tensorflow完成的第一个数据产品。在我们的数据科学家付出无数汗水和心血之后,我们才有了在Automatic Answers上效果非常好的Tensorflow模型。


但是构建模型只是问题的一部分,我们的下一个挑战是要找到一种方法,使得模型可以在生产环境下服务。模型服务系统将经受大量的业务。所以需要确保为这些模型提供的软件和硬件基础架构是可扩展的、可靠的和容错的,这对我们来说是非常重要的。接下来介绍一下我们在生产环境中配置TensorFlow模型的一些经验。


顺便说一下我们的团队——Zendesk的机器学习数据团队。我们团队包括一群数据科学家、数据工程师、一位产品经理、UX /产品设计师以及一名测试工程师。

Data Team At Zendesk Melbourne


TensorFlow模型服务  

经过数据科学家和数据工程师之间一系列的讨论,我们明确了一些核心需求:

  • 预测时的低延迟

  • 横向可扩展

  • 适合我们的微服务架构

  • 可以使用A/B测试不同版本的模型

  • 可以与更新版本的TensorFlow兼容

  • 支持其他TensorFlow模型,以支持未来的数据产品


TensorFlow Serving  

经过网上的调研之后,Google的TensorFlow Serving成为我们首选的模型服务。TensorFlow Serving用C++编写,支持机器学习模型服务。开箱即用的TensorFlow Serving安装支持:

  • TensorFlow模型的服务

  • 从本地文件系统扫描和加载TensorFlow模型

(小编注:TensorFlow和TensorFlow Serving的区别:TensorFlow项目主要是基于各种机器学习算法构建模型,并为某些特定类型的数据输入做适应学习,而TensorFlow Serving则专注于让这些模型能够加入到产品环境中。开发者使用TensorFlow构建模型,然后TensorFlow Serving基于客户端输入的数据使用前面TensorFlow训练好的模型进行预测。)

TensorFlow Serving将每个模型视为可服务对象。它定期扫描本地文件系统,根据文件系统的状态和模型版本控制策略来加载和卸载模型。这使得可以在TensorFlow Serving继续运行的情况下,通过将导出的模型复制到指定的文件路径,而轻松地热部署经过训练的模型。

TensorFlow Serving Architecture


根据这篇Google博客中报告的基准测试结果,他们每秒记录大约100000个查询,其中不包括TensorFlow预测处理时间和网络请求时间。

有关TensorFlow Serving架构的更多信息,请参阅TensorFlow Serving文档。


原文链接:

http://mp.weixin.qq.com/s/M3E8t19I5a5fR6a5vkQFAQ

“完整内容”请点击【阅读原文】
↓↓↓