从研究到生产:使用 TFX 管道和 ML 元数据
2019 年 5 月 24 日
Jarek Wilkiewicz 代表 TFX 团队发布

如果您的代码在生产环境中运行,您可能已经熟悉版本控制/软件配置管理 (SCM)、持续集成和持续交付 (CI/CD) 以及许多其他软件工程最佳实践。这些 花了多年时间才开发出来,现在我们经常将它们视为理所当然。就像编写高效的算法实现只是软件工程师旅程的开始一样,机器学习 (ML) **模型代码通常只代表 整个系统 5%¹**,而将它部署到生产环境中还需要其他 95%。在 Google,我们也一直在努力改进剩余的 95% 多年²。我们努力的成果之一,TensorFlow Extended (TFX³),旨在将软件工程学科的优势引入快速增长的 ML 空间。在即将发布的一系列博文中,我们将重点介绍 TFX 中的新内容,并向您展示 TFX 如何帮助您构建和部署 ML 模型到生产环境。

直到最近,只有底层的 TFX *库* (TensorFlow 数据验证TensorFlow 变换TensorFlow 模型分析TensorFlow Serving) 在开源中可用,这意味着开发人员仍然需要使用这些库构建自己的 ML 管道组件。现在,您可以 **使用 几个现成的组件** 创建一个完整的 TFX ML 管道,**使用高级 Python API 为许多典型的 ML 用例对其进行配置**,并使用您选择的编排系统(例如 Apache AirflowKubeflow)执行它们,如下面的图所示。
 TFX ML pipeline
当 TFX 管道执行时,**ML 元数据** (MLMD,另一个 Google 开源项目) 会跟踪管道组件所依赖的工件(例如训练数据)和所生成的工件(例如词汇表和模型)。ML 元数据作为 独立库 可用,并且为了您的方便,它也已与 TFX 组件集成。MLMD 允许您发现工件的谱系(例如,模型是在哪些数据上训练的),查找从工件创建的所有工件(例如,在特定数据集上训练的所有模型),并支持许多其他用例。

要更好地了解这一切如何协同工作,请查看 Google I/O ’19 演示文稿:“TensorFlow Extended (TFX):机器学习管道和模型理解”.



在下一篇 TFX 博客文章中,我们将更详细地描述 TFX 管道组件。在此之前,请 **尝试 TFX 开发人员教程**。您将遵循典型的 ML 开发流程,从检查数据集开始,最后构建一个完整的 ML 管道。如果您有关于 TFX 的问题,请 在 Stack Overflow 上联系我们,错误报告和拉取请求始终 在 GitHub 上受到欢迎,我们也邀请您在 [email protected] 上进行一般性讨论。

- - - - - - - -

[1] Sculley, D.,Gary Holt,Daniel Golovin,Eugene Davydov,Todd Phillips,Dietmar Ebner,Vinay Chaudhary,Michael Young,Jean-François Crespo 和 Dan Dennison。 “机器学习系统中的隐藏技术债务。” NIPS (2015).

[2] Tushar Chandra,“Sibyl:Google 大规模机器学习系统”,IEEE DSN(可靠系统和网络)会议主题演讲,美国佐治亚州亚特兰大,2014 年 6 月 25 日。

[3] Denis Baylor,Eric Breck,Heng-Tze Cheng,Noah Fiedel,Chuan Yu Foo,Zakaria Haque,Salem Haykal,Mustafa Ispir,Vihan Jain,Levent Koc,Chiu Yuen Koo,Lukasz Lew,Clemens Mewald,Akshay Naresh Modi,Neoklis Polyzotis,Sukriti Ramesh,Sudip Roy,Steven Euijong Whang,Martin Wicke,Jarek Wilkiewicz,Xin Zhang 和 Martin Zinkevich。2017。TFX:基于 TensorFlow 的生产规模机器学习平台。在第 23 届 ACM SIGKDD 国际知识发现与数据挖掘大会 (KDD '17) 论文集。ACM,美国纽约州纽约,1387–1395。DOI:https://doi.org/10.1145/3097983.3098021.
下一篇
From Research to Production with TFX Pipelines and ML Metadata

Jarek Wilkiewicz 代表 TFX 团队发布

如果您的代码在生产环境中运行,您可能已经熟悉版本控制/软件配置管理 (SCM)、持续集成和持续交付 (CI/CD) 以及许多其他软件工程最佳实践。这些 花了多年时间才开发出来,现在我们经常将它们视为理所当然。就像编写高效的算法实现只是软件工程师旅程的开始一样,机器学习 (ML) **模型代码通常只代表 整个系统 5%¹**,而将它部署到生产环境中还需要其他 95%。在 Google,我们也一直在努力改进剩余的 95% 多年²。我们努力的成果之一,TensorFlow Extended (TFX³),旨在将软件工程学科的优势引入快速增长的 ML 空间。在即将发布的一系列博文中,我们将重点介绍 TFX 中的新内容,并向您展示 TFX 如何帮助您构建和部署 ML 模型到生产环境。