AI项目的可追溯之路

Discover tools, trends, and innovations in eu data.
Post Reply
suchona.kani.z
Posts: 260
Joined: Sat Dec 21, 2024 5:40 am

AI项目的可追溯之路

Post by suchona.kani.z »

机器学习在生产环境中可能会以多种方式失败。可能会出现错误的预测或扭曲的结果。通常很难检测到这种意外行为,尤其是当操作看似成功时。一旦发生事件,可追溯性使我们能够确定问题的原因并迅速采取行动。我们可以轻松确定哪个代码版本负责训练和预测以及使用了哪些数据。

开发可追踪数据管道的分步指南
通过为数据从源到结果创建清晰的路径,可追溯的管道使团队能够检测错误,识别问题的根本原因,并最终提高结果的质量。它们为可重复研究、协作工作以及有效处理数据或模型更改的能力提供了坚实的基础。

数字化VC
在这个实际示例中,我们将使用 DVC 创建可追踪的数据管道。数据版本控制是一款免费的开源工具,用于数据管理、自动化 ML 管道和管理实验。它可以帮助机器学习团队管理大型数据集,跟踪模型、数据和管道的版本,并通常使项目可重复。您可以在此处了解有关 DVC 的更多信息。

设置
我使用Python3进行配置。我将 DVC 添加 医疗实践电子邮件列表 到我的环境(conda 或诗歌,具体取决于我的偏好)并使用命令初始化 DVC dvc init。

DVC 初始化后,会.dvc/创建一个名为 的新目录。它包含用户通常看不到的内部设置、缓存文件和目录。该目录会使用 git add 自动添加到暂存区,因此可以轻松地使用 Git 提交。

第 1 步:数据版本控制
通过dvc add指定要监控的目标,我们可以轻松监控数据集、模型或大文件。 DVC 管理相应的 .dvc 文件并确保工作区中的数据一致性。


执行该命令后,将创建一个data.xml.dvc文件。


图中显示的MD5值是DVC正在监控的文件或目录的哈希值。在本例中,它是 data.xml 文件的哈希值。该文件包含随着时间的推移跟踪目标数据所需的信息。

对于尚未跟踪的新文件和目录,DVC 会创建新的 .dvc 文件来跟踪添加的数据并将其存储在缓存中。DVC 还支持不同的存储类型:云提供商上的远程存储,甚至是自存储托管/本地存储。 。

Withdvc pull允许下载同事创建的数据工件,而无需花费时间和资源在本地重新创建它们。
最新的更改dvc push可以上传到远程或本地存储。
第2步:数据管道定义
此示例通过在 dvc.yaml 文件中定义三个阶段来创建 DVC 管道:

预处理阶段准备原始数据以供进一步处理。
训练阶段使用预处理的数据训练任何模型。
评估阶段根据模型的输出评估性能。
这些阶段要么在“dvc.yaml”文件中手动定义,要么直接从命令行创建:dvc add stage


必须遵守以下规则:

n舞台名称
d本阶段的依赖关系
o结果的输出
p使用文件中的特定参数parameters.yaml
下面创建一个名为 dvc.yaml 的配置文件,它定义了以下几点:

cmd:阶段执行的命令行
deps:依赖项列表
params:从 params.yaml 文件获取的任何参数或超参数。
outs:输出文件或输出文件夹的列表。

步骤 3:数据管道复制
要使用 DVC 重现管道,我使用以下命令:dvc repro

该命令根据dvc.yaml中定义的步骤以正确的顺序重现整个管道。

但是,如果没有发现任何变化,则将跳过此步骤。如果您想运行各个阶段,请添加阶段名称,如下所示:dvc repro <stage-name>。这将创建一个名为 dvc.lock 的状态文件来记录再现结果。

运行后dvc repro,我使用 dvc Push 将更改推送到远程存储库。当我想从 DVC 存储库下载数据时(类似于 git pull),我使用以下命令:dvc pull

良好实践:建议dvc.lock立即提交以保存当前状态和结果:git add dvc.lock && git commit -m “Save current reproduction state”

DVC 和工作流程自动化工具的组合
通过将 DVC 链接到 GitHub Actions 等工作流程自动化工具,我们可以确保对数据的更改保持一致且可重现。版本控制过程的每一步都可以自动化和监控,以最大限度地减少错误并确保可追溯性。

前景
DVC 可用于跟踪数据和模型,类似于 Git - 它基本上是数据的 Git。 DVC 帮助我们构建一个易于理解的机器学习管道。我们可以在模型上运行实验并可视化模型之间的差异,从而提高可追溯性。

您想了解更多关于 adesso 世界中令人兴奋的话题吗?那么请看一下我们之前发布的博客文章。
Post Reply