TensorFlow TFX 中存储在 MLMD 中的数据

Jos*_*osh 6 deep-learning tensorflow tfx mlmd

据我了解,TensorFlow 使用MLMD来记录和检索与工作流相关的元数据。这可能包括:

  1. 管道组件的结果
  2. 关于通过管道组件生成的工件的元数据
  3. 有关这些组件执行的元数据
  4. 关于管道和相关血统信息的元数据

特征:

以上(例如#1 又名“组件结果”)是否暗示 MLMD 存储实际数据?(例如机器学习训练的输入特征?)。如果不是,管道组件的结果是什么意思?

编排和管道历史:

此外,当使用 TFX 与例如 AirFlow 时,它使用自己的元存储(例如关于 DAG、它们的运行和其他 Airflow 配置(如用户、角色和连接)的元数据)MLMD 是否存储冗余信息?它会取代它吗?

小智 0

TFX 是一个 ML 管道/工作流程,因此当您编写 TFX 应用程序时,您所做的本质上是构建工作流程的结构,并准备 WF 接受一组特定的数据并处理或使用它(转换、模型构建、推理、部署等)。因此,在这方面,它从不存储实际数据,而是存储信息(元数据)以便处理或使用数据。例如,在检查异常的情况下,它需要记住以前的数据模式/统计信息(而不是实际数据),因此它将该信息作为元数据保存在 MLMD 中;除了实际运行的元数据之外。就 Airflow 而言,它还将保存运行元数据。这可以被视为所有元数据的子集,与 MLMD 中保存的元数据相比非常有限。不过,这会涉及到冗余。控制器是 TFX,它定义并使用底层的 Airflow 编排。它不会取代,但如果发生冲突,它肯定会失败。