想象一下磁盘驱动器的文件系统。文件的内容存储在磁盘中,但索引和指向这些数据的指针称为文件系统。该元数据为用户带来价值,用户可以在需要时通过搜索或浏览文件系统找到相关数据。
与 MLMD 类似,它存储 ML 管道的元数据,例如您在执行中使用了哪些超参数、训练数据的版本、特征的分布情况等。但它不仅仅是运行的注册表. 这些元数据可用于增强ML 管道工具的两个杀手级功能:
- 其组件的异步执行,例如在有新数据时重新训练模型,而无需生成新的词汇表
- 重用以前运行的结果,或步骤级输出缓存。例如,如果输入参数未更改,则不要运行步骤,而是重用缓存中上一次运行的输出来提供下一个组件。
所以,是的,实际数据确实存储在存储中,也许是云存储桶,以跨转换的镶木地板文件的形式,或模型文件和模式 protobufs 的形式。并且 MLMD 将这些数据的 uri 与一些元信息一起存储。例如,保存的模型存储在 中s3://mymodels/1
,它在 MLMD 表中有一个条目,与表中的运行及其参数Artifacts
有关系。Trainer
TrainArgs
ContextProperty
如果不是,那么管道组件的结果是什么意思?
它是指指向组件运行所产生的数据的指针,包括输入参数。在我们之前的示例中,如果输入数据以及组件的数据TrainArgs
在Trainer
运行中没有发生变化,那么它不应该再次运行那个昂贵的组件,而是重用缓存中的模型文件。
连续 ML 管道的这种要求使得工作流管理器的使用与Tekton
MLMDArgo
相比更相关Airflow
,而 MLMD 与后者相比成为更集中的元数据存储。