写点什么

谷歌发布 TensorFlow Serving 开源项目:更快的将深度学习模型产品商业化

  • 2016-02-19
  • 本文字数:1377 字

    阅读完需:约 5 分钟

机器学习现在变得越来越流行了,不仅被大力应用于像 Google 和 Facebook 这样的网络公司,也被普遍应用到大量的创业公司当中。

机器学习经过几十年软件工业的实践已达到产品级别,现已应用在 Google 各系列产品中, 从 Google app 中的语音识别,Google Mail 中的自动回复到 Google Photo 的搜索。但要把这些机器学习模型做成服务对外提供使用是一种新的挑战。

TensorFlow 开源之后,今天 Google 又宣布发布面向生产环境的 TensorFlow Serving,旨在解决上述挑战。Google 软件工程师 Noah Fiedel 在博文中介绍,“TensorFlow Serving 是一个高性能、开源的机器学习服务系统,为生产环境及优化 TensorFlow 而设计。它更适合运行多个大规模模型,并支持模型生命周期管理、多种算法实验及有效地利用 GPU 资源。TensorFlow Serving 能够让训练好的模型更快、更易于投入生产环境使用。

这里有必要先科普下 TensorFlow 和 TensorFlow Serving 的区别:
TensorFlow 项目主要是基于各种机器学习算法构建模型,并为某些特定类型的数据输入做适应学习,而 TensorFlow Serving 则专注于让这些模型能够加入到产品环境中。开发者使用 TensorFlow 构建模型,然后 TensorFlow Serving 基于客户端输入的数据使用前面 TensorFlow 训练好的模型进行预测。
个人认为 TensorFlow Serving 是将 tensorflow 训练出来的模型更好的应用于生产环境中,通过它的 API 等支持的方式来方便对外提供稳定可靠的服务。TensorFlow Serving 的意义就在于能够很方便的将深度学习生产化,解决了模型无法提供服务的弊端,并且用的是 c++ 语言,性能上应该不错。这样以后深度学习方向的创业公司都能很方便的将产品商业化,保证 7*24 小时的可靠服务。

如谷哥所说,TensorFlow Serving 可以在不改变现有模型架构和 API 的基础上发布新的模型和实验数据到产品中。它不仅仅支持 TensorFlow 训练的模型,也可以扩展到其他类型的模型 (比如 Scikit Learn 生成的模型)。
下面讲下 TensorFlow Serving 使用的具体例子:
给个简单的监督学习的训练 pipeline,如图 1

图 1
在图 1 中,输入训练数据 (Data) 到学习者 (Learner) 中,输出训练成功的模型 (Model 1)。

一旦新版本的模型训练好就可以发布到服务系统 (TensorFlow Serving) 上,如图 2

图 2
在图 2 中,TensorFlow Serving 利用上面训练好的模型基于客户端 (Clients) 提供的数据进行预测结果。这里客户端和服务端之间的通信采用的是 RPC 协议 (Google 开源的一个高性能 RPC 的实现,gRPC 源代码见 http://www.grpc.io )。

对于生产环境来说,启动模型,随着时间不断迭代模型,新的训练数据出现需要训练优化模型,这些都是常态。现在有了 TensorFlow Serving 就可以在不停止服务的情况下更新模型和数据,Google 内部许多 pipelines 一直在运行。

TensorFlow Serving 采用 C++ 编写,支持 Linux。为性能做有优化,在 16 核至强 CPU 设备上,每核每秒能够处理超过 10 万个请求,这里包括 gRPC 和 TensorFlow 接口之间的处理时间。 TensorFlow Serving 代码和教程已经能够在GitHub 获取。


感谢杜小芳对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群(已满),InfoQ 读者交流群(#2))。

2016-02-19 18:005690
用户头像

发布了 43 篇内容, 共 31.5 次阅读, 收获喜欢 7 次。

关注

评论

发布
暂无评论
发现更多内容

融云获 51CTO 年终评选「中国 IT 行业政企数智办公优秀解决方案奖」

融云 RongCloud

IT 数智化 51cto

部门来了个JAVA开发,听说是00后,上来一顿操作给我看呆了...

程序知音

Java JAVA开发 java面试 java架构 后端技术

泰山众筹4.0合约系统开发技术

薇電13242772558

智能合约

如何用Alluxio加速云上深度学习训练?

Alluxio

机器学习 分布式, Alluxio 大数据 开源 数据编排

开个脑洞,带你写一个自己的极狐GitLab CI Runner

极狐GitLab

DevOps 持续集成 CI/CD runner 极狐GitLab

零基础3Dmax入门教程

Finovy Cloud

软件 3DMAX

华为云低代码技术:让矿区管理“智变”,一览无遗

科技怪授

复杂并发场景下的并发调度模型在转转的演进之路

转转技术团队

Java 性能 后端 高并发

转转支付网关之注解式HTTP客户端

转转技术团队

后端 Java、 注解 http client

华为云数据融合集成平台ROMA Connect,推进企业数字化转型

科技怪授

Web应用怎样获取Access Token?

HarmonyOS SDK

HMS Core

OneAccess | 面对庞大复杂的身份和权限管理,企业该怎么办?

爱尚科技

Vertically Federated Graph Neural Network for Privacy-Preserving Node Classification

1+1=王

联邦学习 Fl 图神经网络 GNN 节点分类

和鲸科技入选 2022 中国数据智能领域最具商业潜力的科技 Cool Vender丨甲子20 榜单

ModelWhale

数字化转型 数据智能 科技企业 榜单

阿里妈妈内容风控模型预估引擎的探索和建设

阿里技术

风控模型

OCR在转转游戏的应用

转转技术团队

后端

和鲸科技入选2022中国企业数智化创新TOP50

ModelWhale

数字化转型 数智化 榜单

华为云CSE 关键特性,支持托管Nacos注册配置中心

与时俱进的时代

“数字·进化”——2022数字化发展峰会圆满落幕

创业邦

深度学习入门篇 | 常用的经典神经网络模型

九章云极DataCanvas

神经网络 深度学习

运维工作汇报那天,集团领导过来视察...

嘉为蓝鲸

自动化运维 嘉为蓝鲸

软件测试 | 掌握高频 Docker 命令,夯实内功基础

测试人

Docker 软件测试 自动化测试 测试开发 环境搭建

一家可靠的HDI板厂,需要具备哪些基本条件?

华秋PCB

生产 工艺 PCB PCB电路板

干货 | 如何进行CMDB数据运营?

嘉为蓝鲸

数据运营 CMDB 自动化运维 嘉为蓝鲸

“云-网-边-端”融合,汽车新势力的DevOps建设

嘉为蓝鲸

DevOps 自动化运维 嘉为蓝鲸

图查询语言 nGQL 简明教程 vol.01 快速入门

NebulaGraph

图数据库

说透IO多路复用模型

C++后台开发

socket linux开发 epoll IO多路复用 C++开发

动态配置开发模式在转转的落地实践

转转技术团队

Java 后端 可视化 动态配置

正式毕业!Apache Kyuubi 成为 Apache 基金会顶级项目!

网易数帆

大数据 spark 开源 Apache Kyuubi

探讨丨SaaS软件是否正在“毁掉”数字化转型企业?

优秀

数字化转型

谷歌发布TensorFlow Serving开源项目:更快的将深度学习模型产品商业化_语言 & 开发_侠天_InfoQ精选文章