Google 开发者大会 (Google Developer Days,简称 GDD) 是展示 Google 最新开发者产品和平台的全球盛会,旨在帮助你快速开发优质应用,发展和留住活跃用户群,充分利用各种工具获得更多收益。2018 Google 开发者大会于 9 月 20 日和 21 日于上海举办。?
2018 年 9 月 21 日 丘天豪(Google Brain 软件工程师)带来一场《使用 TensorFlow Extended (TFX) 在生产环境中部署机器学习》的演讲,本文将对演讲做一个回顾。
TensorFlow Extended
如上图所示,在实际生产环境中部署机器学习是一件让工程师非常头痛的事情,除了完成机器学习代码之外,工程师们还要考虑茫茫多的生产环境适配。换句话说,工程师们在生产环境中部署机器学习的难点并不在于机器学习的代码,而是在处理各种环境适配上,这些问题消耗了大量的时间,所以 TensorFlow Extended 平台就是为了解决这个难题而诞生。目前 Google 只是开源了一些库,而不是平台本身,所以需要引用一些库文件来使用部分功能。TensorFlow Extended 平台的组成结构如上图所示,下面将根据 Google 开源的 四个部分进行介绍。
数据转换 (TensorFlow Trainsform)
在使用数据集之前,往往需要对数据进行转换,TFT 允许将数据转换成 TF 计算图,同时也可以定义一些特殊的转换来表达特殊的特征。生成的 TF 计算图是完成密封的,包含所有的特征值信息,这也就意味着可以应用于训练和部署中。这个是十分重要的一点,在生产环境中,有可能我们训练和部署所使用的语言和路径是不相同的,而 TF 计算图是完成密封的,很好的解决了这个问题。
示例:
出租车给小费实例
GitHub:
模型训练 (Estimators or Keras)
使用 TensorFlow Estimators 进行模型训练
训练好的模型会以 SavedModel
形式输出。
使用 tf.Keras 进行模型训练
模型评估和验证(TensorFlow Model Analysis)
在完成模型训练之后,往往需要重新编写代码对模型进行评估和验证。TFMA 就是为了解决这个问题出现。
在运行上图所示代码后,会出现如下图这样的图形界面,更加直观的对模型就行评估。
GitHub:
模型部署 (TensorFlow Serving)
在使用 TensorFlow Serving 部署模型之后,使用 Serving 接口即可进行访问。
GitHub:
数据分析和验证 (TensorFlow Data Validation)
在机器学习过程中,数据是十分重要的,错误的数据将对模型产生或多或少的影响。垃圾数据对存在回路的机器学习模型来说影响因子更大,可能原始数据中很少的垃圾数据会被无限放大,因此数据的分析和验证显得尤为重要。Data Validation 模块组成如下:
计算统计数据与统计数据可视化
推导初始 Schema
数据验证
训练/线上数据偏差检测
GitHub:
总结
实际生产环境中使用 TFX 流程如下:
论文:TFX: A TensorFlow-Based Production-Scale Machine Learning Platform,KDD(2017)
以上就是本次演讲的全部内容,希望对大家有所帮助。