机器人与人工智能爱好者论坛

 找回密码
 立即注册
查看: 10187|回复: 2
打印 上一主题 下一主题

谷歌发布TensorFlow Serving:机器学习模型应用于产品更方便

[复制链接]

271

主题

293

帖子

1296

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1296
跳转到指定楼层
楼主
发表于 2016-2-20 12:22:21 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
谷歌发布TensorFlow Serving:机器学习模型应用于产品更方便

2016-02-17 20:31:46

摘要:谷歌今天发布了TensorFlow Serving,这是个旨在帮助开发者将机器学习模型加入产品中的开源项目。很明显,TensorFlow Serving必然是为谷歌自家的TensorFlow机器学习库优化,不过谷歌也表示它可扩展到支持其它模型和数据。


如TensorFlow这样的项目更易于构建机器学习算法,并为某些特定类型的数据输入做适应学习,而TensorFlow Serving则专注于让这些模型能够加入到产品环境中。开发者使用TensorFlow构建模型,然后使用TensorFlow Serving的API从客户端对输入做回应。谷歌同时还表示,TensorFlow Serving能够利用GPU资源加速处理过程。
如谷歌所说,有了这样的系统并不仅仅意味着开发者能够将其构建的模型更快的应用到产品中,而且还能够实验不同的算法和模型,并且仍保持稳定的结构。开发者还能够基于新的数据改善模型或者其输出,而架构的其它部分仍保持稳定。
谷歌表示,TensorFlow Serving采用C++编写,为性能做有优化,在16核至强设备上,每核每秒能够处理超过10万个请求。当前TensorFlow Serving的code以及教程已经能够在GitHub获取到(点击这里)。


回复

使用道具 举报

271

主题

293

帖子

1296

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1296
沙发
 楼主| 发表于 2016-2-20 12:24:42 | 只看该作者

机器学习现在变得越来越流行了,不仅被大力应用于像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获取。


回复 支持 反对

使用道具 举报

0

主题

120

帖子

251

积分

中级会员

Rank: 3Rank: 3

积分
251
板凳
发表于 2016-2-28 14:23:07 | 只看该作者
沙发,板凳都没偶的份了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|Archiver|手机版|小黑屋|陕ICP备15012670号-1    

GMT+8, 2024-5-19 23:38 , Processed in 0.124893 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表