趋近智
TensorFlow Extended (TFX) 提供了一个结构化框架,用于构建适用于生产环境的端到端机器学习 (machine learning)流水线。TFX 的主要组成部分是其标准组件,这些是预构建、可复用的单元,旨在在典型的机器学习工作流程中执行特定任务。这些组件作为构建可靠且自动化流水线的基本单元。
每个 TFX 组件都设计用于执行一个独立的步骤,例如数据摄取、验证、转换、模型训练或模型评估。它们通过明确定义的工件进行通信,这些工件存储在由 ML 元数据 (MLMD) 管理的中央位置。MLMD 追踪每个组件运行的输入、输出和执行参数 (parameter),提供重要的血缘和来源信息。这种以工件为中心的设计确保数据和模型在流水线中一致流动,便于重现和调试。
我们来看看主要的标准 TFX 组件及其作用:
这些组件专注于摄取、理解、验证和准备数据以进行模型训练。
ExampleGen: 这通常是 TFX 流水线中的第一个组件。其主要功能是从各种来源(如 CSV 文件、TFRecord 文件、BigQuery 表)摄取数据,并将其转换为 tf.Example 格式,这是许多 TensorFlow 操作的标准输入格式。它通常将数据分成训练集和评估集。
tf.Example 记录(通常是 TFRecord 文件)。StatisticsGen: 此组件计算 ExampleGen 生成的数据集的描述性统计信息。它为每个特征计算计数、均值、方差、最小值、最大值和频率等指标。
ExampleGen 生成的 tf.Example 记录。DatasetFeatureStatisticsList proto)。SchemaGen: 使用 StatisticsGen 生成的统计信息,此组件自动推断数据模式。该模式定义了每个特征的预期数据类型、值范围和存在约束。您可以审查并可能修改此初始模式。
StatisticsGen 生成的统计工件。Schema proto)。ExampleValidator: 此组件将输入数据的统计信息与 SchemaGen 生成的模式进行比较。它识别异常,例如缺失值、类型不匹配或超出范围的值,并可以检测不同数据集(例如,训练数据与服务数据)之间的显著漂移或倾斜。
Transform: 此组件进行大规模特征工程。它使用模式和数据统计信息创建预处理逻辑(使用 tf.Transform 等库),该逻辑可以在训练和推理 (inference)时一致应用。这可以防止与特征转换相关的训练-服务偏差。
tf.Example 记录、模式工件、用户定义的预处理代码。tf.Example 记录,一个包含预处理逻辑的 TransformGraph 工件。数据准备好后,这些组件处理模型训练和优化。
Tuner: (可选但常用)此组件帮助寻找模型的最佳超参数 (parameter) (hyperparameter)(例如,学习率、层数)。它与 KerasTuner 等库集成,以便在全面训练前进行系统性超参数搜索。
Trainer: 这是实际模型训练发生的地方。它接收转换后的数据、模式、来自 Tuner 的可选超参数以及用户提供的模型代码(通常是 TensorFlow/Keras 模型)来训练模型。它还使用 Transform 组件的 TransformGraph 来确保预处理正确应用。
TransformGraph、可选超参数、用户定义模型代码。训练后,这些组件评估模型质量并管理其部署。
Evaluator: 此组件对训练好的模型在评估数据集上的性能进行详细分析。它计算各种指标(不仅仅是准确率),并允许进行切片分析(评估数据特定子集上的性能)。它还可以根据基线性能或以前的版本验证模型。
InfraValidator: (常用于生产环境)在推送模型之前,此组件检查它是否可以被目标基础设施(例如 TensorFlow Serving)实际加载和提供服务。它启动一个沙盒模型服务,加载候选模型,并可选地发送示例请求以验证基本功能。
Pusher: 这是许多流水线中的最后一个组件。根据 Evaluator(以及可能的 InfraValidator)的验证结果,Pusher 将经过验证(“通过”)的模型部署到指定目标,例如 TensorFlow Serving、TensorFlow Lite 或文件系统目录。
Evaluator、InfraValidator)。这些组件通常按顺序排列,形成有向无环图 (DAG),其中一个组件的输出(工件)成为后续组件的输入。
典型的 TFX 流水线流程,展示了标准组件以及它们之间传递的工件。数据从摄取和验证,经过转换、训练、评估,最终到部署。
尽管这些标准组件涵盖了许多常见的机器学习 (machine learning)任务,但 TFX 是可扩展的。您可以开发自定义组件以包含专用逻辑或与其他系统集成,为独特需求提供灵活性。然而,理解这些标准构建块,对于使用 TFX 构建可维护的生产机器学习流水线非常重要。后续章节将详细介绍 TFX 框架内的数据验证、转换和训练等重要组件。
这部分内容有帮助吗?
tf.Transform进行数据预处理的指南,这是TFX Transform组件不可或缺的一部分。© 2026 ApX Machine LearningAI伦理与透明度•