likes
comments
collection
share

使用 TensorFlow Extended (TFX) 在生产环境中部署机器学习 丨 Google 开发者大会 2018

作者站长头像
站长
· 阅读数 18

2018 年 9 月 21 日 丘天豪(Google Brain 软件工程师)带来一场《使用 TensorFlow Extended (TFX) 在生产环境中部署机器学习》的演讲,本文将对演讲做一个回顾。

TensorFlow Extended

使用 TensorFlow Extended (TFX) 在生产环境中部署机器学习 丨 Google 开发者大会 2018 如上图所示,在实际生产环境中部署机器学习是一件让工程师非常头痛的事情,除了完成机器学习代码之外,工程师们还要考虑茫茫多的生产环境适配。换句话说,工程师们在生产环境中部署机器学习的难点并不在于机器学习的代码,而是在处理各种环境适配上,这些问题消耗了大量的时间,所以 TensorFlow Extended 平台就是为了解决这个难题而诞生。目前 Google 只是开源了一些库,而不是平台本身,所以需要引用一些库文件来使用部分功能。

使用 TensorFlow Extended (TFX) 在生产环境中部署机器学习 丨 Google 开发者大会 2018

TensorFlow Extended 平台的组成结构如上图所示,下面将根据 Google 开源的 四个部分进行介绍。

数据转换 (TensorFlow Trainsform)

使用 TensorFlow Extended (TFX) 在生产环境中部署机器学习 丨 Google 开发者大会 2018

在使用数据集之前,往往需要对数据进行转换,TFT 允许将数据转换成 TF 计算图,同时也可以定义一些特殊的转换来表达特殊的特征。生成的 TF 计算图是完成密封的,包含所有的特征值信息,这也就意味着可以应用于训练和部署中。这个是十分重要的一点,在生产环境中,有可能我们训练和部署所使用的语言和路径是不相同的,而 TF 计算图是完成密封的,很好的解决了这个问题。

示例:

出租车给小费实例

使用 TensorFlow Extended (TFX) 在生产环境中部署机器学习 丨 Google 开发者大会 2018

使用 TensorFlow Extended (TFX) 在生产环境中部署机器学习 丨 Google 开发者大会 2018

GitHub:github.com/tensorflow/…

模型训练 (Estimators or Keras)

使用 TensorFlow Estimators 进行模型训练

使用 TensorFlow Extended (TFX) 在生产环境中部署机器学习 丨 Google 开发者大会 2018

训练好的模型会以 SavedModel 形式输出。

使用 TensorFlow Extended (TFX) 在生产环境中部署机器学习 丨 Google 开发者大会 2018

使用 tf.Keras 进行模型训练

使用 TensorFlow Extended (TFX) 在生产环境中部署机器学习 丨 Google 开发者大会 2018

模型评估和验证(TensorFlow Model Analysis)

在完成模型训练之后,往往需要重新编写代码对模型进行评估和验证。TFMA 就是为了解决这个问题出现。

使用 TensorFlow Extended (TFX) 在生产环境中部署机器学习 丨 Google 开发者大会 2018

在运行上图所示代码后,会出现如下图这样的图形界面,更加直观的对模型就行评估。

使用 TensorFlow Extended (TFX) 在生产环境中部署机器学习 丨 Google 开发者大会 2018

GitHub:github.com/tensorflow/…

模型部署 (TensorFlow Serving)

使用 TensorFlow Extended (TFX) 在生产环境中部署机器学习 丨 Google 开发者大会 2018

在使用 TensorFlow Serving 部署模型之后,使用 Serving 接口即可进行访问。

使用 TensorFlow Extended (TFX) 在生产环境中部署机器学习 丨 Google 开发者大会 2018

GitHub:github.com/tensorflow/…

数据分析和验证 (TensorFlow Data Validation)

使用 TensorFlow Extended (TFX) 在生产环境中部署机器学习 丨 Google 开发者大会 2018 在机器学习过程中,数据是十分重要的,错误的数据将对模型产生或多或少的影响。垃圾数据对存在回路的机器学习模型来说影响因子更大,可能原始数据中很少的垃圾数据会被无限放大,因此数据的分析和验证显得尤为重要。

Data Validation 模块组成如下:

使用 TensorFlow Extended (TFX) 在生产环境中部署机器学习 丨 Google 开发者大会 2018

计算统计数据与统计数据可视化

使用 TensorFlow Extended (TFX) 在生产环境中部署机器学习 丨 Google 开发者大会 2018

推导初始 Schema

使用 TensorFlow Extended (TFX) 在生产环境中部署机器学习 丨 Google 开发者大会 2018

数据验证

使用 TensorFlow Extended (TFX) 在生产环境中部署机器学习 丨 Google 开发者大会 2018

使用 TensorFlow Extended (TFX) 在生产环境中部署机器学习 丨 Google 开发者大会 2018

使用 TensorFlow Extended (TFX) 在生产环境中部署机器学习 丨 Google 开发者大会 2018

训练/线上数据偏差检测

使用 TensorFlow Extended (TFX) 在生产环境中部署机器学习 丨 Google 开发者大会 2018

GitHub:github.com/tensorflow/…

总结

实际生产环境中使用 TFX 流程如下:

使用 TensorFlow Extended (TFX) 在生产环境中部署机器学习 丨 Google 开发者大会 2018

论文:TFX: A TensorFlow-Based Production-Scale Machine Learning Platform,KDD(2017)

转载自:https://juejin.cn/post/6844903684665524238
评论
请登录