首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在TensorFlow TFX中存储在MLMD中的数据

在TensorFlow TFX中存储在MLMD中的数据
EN

Stack Overflow用户
提问于 2020-07-06 20:52:35
回答 2查看 429关注 0票数 9

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

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

特性:

以上(例如#1,也就是“组件的结果”)是否意味着MLMD存储实际的数据?(例如,输入功能用于ML培训?)如果不是,管道组件的结果意味着什么?

编排和管道历史记录:

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

EN

回答 2

Stack Overflow用户

发布于 2020-11-19 10:14:42

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

票数 1
EN

Stack Overflow用户

发布于 2021-11-05 15:05:53

想象一下磁盘驱动器的文件系统。文件的内容存储在磁盘中,但这些数据的索引和指针称为文件系统。为用户带来价值的元数据,用户可以通过搜索或浏览文件系统在需要时找到相关数据。

与MLMD类似,它存储ML管道的元数据,比如在执行过程中使用了哪些超参数、培训数据的哪个版本、特性的分布情况等等。但它不仅仅是运行的注册中心。这些元数据可用于增强ML管道工具的两个致命特性功能。

  1. 异步执行其组件,例如,在有新数据时对模型进行重新训练,而不必生成新的词汇表。
  2. 重用是以前运行步骤级输出缓存的结果。例如,如果一个步骤的输入参数没有改变,就不要运行它,而是重用以前从缓存运行的输出,以满足下一个组件的需求。

因此,是的,实际的数据确实存储在存储中,可能是云桶,以跨转换的parquet文件的形式存储,或者以模型文件和模式原型的形式存储。而MLMD用一些元信息存储这些数据的uri。例如,保存模型存储在s3://mymodels/1中,它在MLMD的Artifacts表中有一个条目,与Trainer运行和ContextProperty表上的TrainArgs参数有关。

如果不是,管道组件的结果意味着什么?

它意味着通过运行组件(包括输入参数)生成数据的指针。在前面的示例中,如果输入数据以及Trainer组件的Trainer在运行过程中没有更改,则不应该再次运行该昂贵的组件,而是从缓存中重用模型文件。

连续ML管道的这一要求使得使用工作流管理器(如TektonArgo )比使用Airflow更加相关,而与后者相比,MLMD是一个更集中的元数据存储。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62764336

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档