2023 年 2 月 7 日 — 由 Hannes Hapke 和 Robert Crowe 发布 为了生成生产级别的机器学习模型,TensorFlow 在 TensorFlow Extended (TFX) 的框架下提供了一系列库。只需执行 pip install,TFX 就已经包含了许多功能多样的管道组件——被称为“标准组件”——这些组件提供了大部分用于训练和批处理推理的基本功能。标准组件可以帮助大多数开发者入门,但开发者通常会发现需要额外的功能,可以通过开发自定义组件来添加这些功能。任何 TFX 管道,无论包含哪些组件,都可以与许多管道编排器一起使用,例如 Google Cloud Vertex AI Pipelines、Apache Beam、Apache Airflow 或 Kubeflow Pipelines。
由 Hannes Hapke 和 Robert Crowe 发布
为了生成生产级别的机器学习模型,TensorFlow 在 TensorFlow Extended (TFX) 的框架下提供了一系列库。只需执行 pip install,TFX 就已经包含了许多功能多样的管道组件——被称为“标准组件”——这些组件提供了大部分用于训练和批处理推理的基本功能。标准组件可以帮助大多数开发者入门,但开发者通常会发现需要额外的功能,可以通过开发自定义组件来添加这些功能。任何 TFX 管道,无论包含哪些组件,都可以与许多管道编排器一起使用,例如 Google Cloud Vertex AI Pipelines、Apache Beam、Apache Airflow 或 Kubeflow Pipelines。
虽然标准 TFX 组件很棒,但来自 Twitter、Spotify、Digits 和 Apple 等多家公司的机器学习工程师社区组成了一个 TFX 特别兴趣小组,并开始为 TFX 的一个扩展版本贡献新的组件、库和示例,该扩展版本被称为 TFX-Addons。
TFX 是一个用于部署生产 ML 管道的端到端平台。当您准备好将模型从研究阶段迁移到生产阶段时,可以使用 TFX 创建和管理用于训练和/或批处理推理的自动化生产管道。TFX 管道是一系列组件,这些组件实现了一个 ML 管道,专门设计用于可扩展、高性能机器学习任务。组件通常可以使用 TFX 库构建——TensorFlow 数据验证、TensorFlow 转换和 Tensorflow 模型分析——这些库也可以单独使用。组件还可以构建为运行完全自定义代码,甚至通过 Apache Beam 将处理分布到计算集群。
TFX 提供以下内容
TFX 是一个基于 TensorFlow 的行星级生产学习工具包。它提供了一个配置框架和共享库,用于集成定义、启动和监控机器学习系统所需的通用组件。
TFX-Addons 是一个专门针对 TFX 用户的特别兴趣小组 (SIG),这些用户正在扩展 Google TensorFlow 团队提供的标准组件集。这些附加组件是由其他机器学习公司和开发者实现的,这些公司和开发者在他们的生产机器学习操作中严重依赖 TFX。
通过 TFX 组件解决了常见的 MLOps 模式,例如将数据导入机器学习管道。例如,TFX-Addons 的成员开发并开源了 用于从 Feast 特征存储中导入数据的 TFX 组件,该组件由 Twitter 和 Apple 的机器学习工程师维护。
可以通过简单的 pip 安装访问 TFX-Addons 组件和示例。要安装最新版本,请运行以下命令
pip install tfx-addons
为了确保您拥有任何给定项目的依赖项的兼容版本,您可以在安装期间指定项目名称作为额外要求
pip install tfx-addons[feast_examplegen]
要使用 TFX-Addons
from tfx import v1 as tfx
import tfx_addons as tfxa
# Then you can easily load projects tfxa.{project_name}. Ex:
tfxa.feast_examplegen.FeastExampleGen(...)
TFX-Addons 组件可以在任何 TFX 管道中使用。大多数组件支持所有 TFX 编排器,包括 Google Cloud 的 Vertex Pipelines、Apache Beam、Apache Airflow 或 Kubeflow Pipelines。
组件、库和示例列表在不断增长,目前正在开发几个新项目。截至撰写本文时,以下是目前可用的组件。
示例生成器允许您从 Feast 特征存储 中导入数据样本。
此组件为 TFX 管道提供了一个退出处理程序,该处理程序通过 Slack 消息通知用户有关管道最终状态(失败或成功)的信息。如果管道失败,该组件将提供错误消息。消息组件支持许多消息提供者(例如 Slack、stdout、日志记录提供者),并且可以轻松扩展以支持 Twilio。它还用作编写 TFX 管道退出处理程序的示例。
此组件允许其用户更新/更改 SchemaGen 组件生成的模式,并根据领域知识对其进行整理。如果检测到特征漂移,可以使用整理后的模式来停止管道。
此组件允许用户从数据集中选择特征。如果要根据统计特征选择指标选择特征,则此组件非常有用。
此组件扩展了标准 TFX 评估器组件以支持训练后的 XGBoost 模型,以便对模型性能进行深入分析。
此组件允许用户通过随机欠采样或过采样来平衡其训练数据集,从而将数据减少到频率最低或最高的类别。
此组件可以替代标准 TFX 转换组件,并允许您使用 Pandas 数据帧进行特征工程。使用 Beam 进行分布式处理以实现可扩展性。
此项目帮助用户将训练后的模型直接从 TFX 管道发布到 Firebase ML。
HuggingFace 模型推送器 (HFModelPusher
) 将经过验证的模型推送到 HuggingFace 模型中心。此外,它还选择性地将应用程序推送到 HuggingFace 空间中心。
TFX-Addons SIG 致力于分享可重复使用的组件和最佳实践。如果您对 MLOps 感兴趣,请加入我们的双周电话会议。无论您是 TFX 新手还是经验丰富的 ML 工程师,都欢迎您参加,SIG 接受所有参与者的开源贡献。
如果您想加入我们的下次会议,请注册我们的列表组 [email protected]。
其他资源
如果您已经在使用 TFX-Addons,我们很乐意听到您的反馈! 使用此表格 向我们发送您的故事!
非常感谢以下成员的所有开源组件贡献
Badrul Chowdhury、Daniel Kim、Fatimah Adwan、Gerard Casas Saez、Hannes Hapke、Marcus Chang、Kshitijaa Jaglan、Pratishtha Abrol、Robert Crowe、Nirzari Gupta、Thea Lamkin、Wihan Booyse、Michael Hu、Vulko Milev、Sayak Paul、Chansung Park,以及所有其他贡献者!只有像您这样的人贡献才能实现开源!
2023 年 2 月 7 日 — 由 Hannes Hapke 和 Robert Crowe 发布 为了生成生产级的机器学习模型,TensorFlow 在 TensorFlow Extended (TFX) 的框架下提供了一系列库。只需一个 pip install 命令,TFX 就包含了许多功能强大的管道组件,称为“标准组件”,它们提供了用于训练和批量推理的大多数基本功能。…