ML 元数据:机器学习的版本控制
2021 年 1 月 8 日

由 TFX 团队的 Ben Mathes 和 Neoklis Polyzotis 发表


当您编写代码时,您需要版本控制来跟踪它。机器学习的版本控制相当于什么?如果您正在构建生产机器学习系统,您需要能够回答以下问题

  • 这个模型是在哪个数据集上训练的?
  • 使用了哪些超参数?
  • 使用哪个管道创建了这个模型?
  • 使用哪个版本的 TensorFlow(和其他库)创建了这个模型?
  • 是什么导致了这个模型失败?
  • 这个模型的哪个版本最后部署?

谷歌的工程师通过多年的经验教训了解到,机器学习工件的历史和谱系远比简单的线性日志复杂。您使用 Git(或类似工具)来跟踪您的代码;您需要一些东西来跟踪您的模型、数据集等等。例如,Git 可能会让您的生活变得简单很多,但在底层,它是一个包含许多事物的关系图。机器学习代码和模型、数据集等工件的复杂性需要类似的方法。

这就是我们构建机器学习元数据(MLMD)的原因。它是一个库,用于跟踪整个机器学习工作流的完整谱系。完整谱系是数据摄取、数据预处理、验证、训练、评估、部署等所有步骤。MLMD 是一个独立库,并且也集成在 TensorFlow Extended 中。还提供了一个演示笔记本,展示如何将 MLMD 集成到您现有的机器学习基础设施中。

ML Metadata icon
除了对模型进行版本控制之外,ML 元数据还捕获了训练过程的完整谱系,包括数据集、超参数和软件依赖项。

以下是 MLMD 如何帮助您

  • 如果您是机器学习工程师:您可以使用 MLMD 将不良模型追溯到其数据集,或者从不良数据集追溯到您在该数据集上训练的模型,等等。
  • 如果您从事机器学习基础设施工作:您可以使用 MLMD 记录管道的当前状态并启用基于事件的编排。您还可以启用优化,例如,如果输入和代码相同,则跳过步骤,在管道中记忆步骤。您可以将 MLMD 集成到您的训练系统中,以便它自动创建日志以供以后查询。我们发现,这种对完整谱系的自动记录作为训练的副作用是使用 MLMD 的最佳方式。然后,您将拥有完整的历史记录,而无需额外努力。

MLMD 不仅仅是 TFX 的研究项目。它是谷歌多个内部 MLOps 解决方案的关键基础。此外,谷歌云将 MLMD 等工具集成到其核心 MLOps 平台中。

所有这些新服务的基石是我们 AI 平台中新的 ML 元数据管理服务。这项服务允许 AI 团队跟踪他们运行的所有重要工件和实验,提供一个经过整理的操作分类账和详细的模型谱系。这将使客户能够确定在 AI 平台上训练的任何模型的模型来源,用于调试、审计或协作。AI 平台管道将自动跟踪工件和谱系,AI 团队也可以直接使用 ML 元数据服务进行自定义工作负载、工件和元数据跟踪。

想知道您的模型来自哪里吗?使用了哪些训练数据?是否有人已经在该数据集上训练过模型,他们的性能是否更好?是否存在我们需要清理的受污染数据集?

如果您希望为您的用户回答这些问题,请查看 MLMDgithub,作为TensorFlow Extended的一部分,或者在我们演示笔记本中。

下一篇文章
ML Metadata: Version Control for ML

由 TFX 团队的 Ben Mathes 和 Neoklis Polyzotis 发表
当您编写代码时,您需要版本控制来跟踪它。机器学习的版本控制相当于什么?如果您正在构建生产机器学习系统,您需要能够回答以下问题:这个模型是在哪个数据集上训练的?使用了哪些超参数?使用哪个管道创建了这个模型?W…