「机器学习」DVC:面向机器学习项目的开源版本控制系统

出境入境2024-03-15 17:50小乐

「机器学习」DVC:面向机器学习项目的开源版本控制系统

DVC 跟踪ML 模型和数据集

DVC 旨在使ML 模型可共享和可复制。它旨在处理大型文件、数据集、机器学习模型、指标和代码。

ML 项目版本控制版本控制机器学习模型、数据集和中间文件。 DVC 通过代码将它们连接起来,并使用Amazon S3、Microsoft Azure Blob Storage、Google Drive、Google Cloud Storage、Aliyun OSS、SSH/SFTP、HDFS、HTTP、网络附加存储或光盘来存储文件内容。完整的代码和数据来源有助于跟踪每个机器学习模型的完整演变。这确保了可重复性,并且可以轻松地在实验之间来回切换。

ML 实验管理利用Git 分支的全部功能来尝试不同的想法,而不是在代码中使用马虎的文件后缀和注释。使用自动度量跟踪来导航,而不是使用纸和笔。 DVC 旨在保持分支像Git 一样简单和快速- 无论数据文件大小如何。除了一流的公民指标和机器学习管道之外,这意味着项目具有更清晰的结构。比较想法并选择最好的一个很容易。中间工件缓存可以加速迭代。

部署和协作使用推/拉命令将一致的机器学习模型、数据和代码包移动到生产、远程计算机或同事的计算机,而不是临时脚本。 DVC 引入了轻量级管道作为Git 中的一级公民机制。它们与语言无关,并将多个步骤连接到DAG 中。这些管道用于消除将代码投入生产过程中的摩擦。

特点:Git Compatible DVC 运行在任何Git 存储库之上,并且与任何标准Git 服务器或提供商(GitHub、GitLab 等)兼容。数据文件内容可以通过网络可访问的存储或任何支持的云解决方案共享。 DVC 提供了分布式版本控制系统的所有优点——无锁、本地分支和版本控制。

与存储无关使用Amazon S3、Microsoft Azure Blob Storage、Google Drive、Google Cloud Storage、Aliyun OSS、SSH/SFTP、HDFS、HTTP、网络附加存储或光盘存储数据。支持的远程存储列表正在不断扩展。

可重现单个“dvc repro”命令即可端到端地重现实验。 DVC 通过一致地维护最初用于运行实验的输入数据、配置和代码的组合来保证可重复性。

低摩擦分支DVC 完全支持即时Git 分支,即使对于大文件也是如此。分支完美地反映了机器学习过程的非线性结构和高度迭代的本质。数据不重复——一个文件版本可以属于数十个实验。创建任意数量的实验,立即来回切换,并保存所有尝试的历史记录。

指标跟踪指标是DVC 的一等公民。 DVC 包含一个命令,用于列出所有分支以及用于跟踪进度或选择最佳版本的指标。

ML 管道框架DVC 有一种内置方法可以将ML 步骤连接到DAG 并端到端运行整个管道。 DVC 处理中间结果的缓存,如果输入数据或代码相同,则不会再次运行步骤。

语言与框架无关的语言框架无论使用什么编程语言或库,或者代码的结构如何,可再现性和管道都基于输入和输出文件或目录。 Python、R、Julia、Scala Spark、自定义二进制文件、笔记本、平面文件/TensorFlow、PyTorch 等均受支持。

HDFS、Hive 和Apache SparkHDFS、Hive 和Apache Spark 将Spark 和Hive 作业以及本机ML 建模步骤包含在DVC 数据版本控制周期中,或使用DVC 端到端管理Spark 和Hive 作业。通过将繁重的集群作业分解为更小的DVC 管道步骤,可以大大减少反馈循环。独立于依赖关系迭代这些步骤。

错误跟踪糟糕的想法有时比成功的想法在同事中激发出更多的想法。保留失败尝试的知识可以在将来节省时间。 DVC 旨在以可重复且易于访问的方式跟踪所有内容。

随时保存并复制您的实验,以获得您或您的同事执行的实验的完整背景。 DVC 确保所有文档和指标保持一致,并且在正确的位置复制实验或用作新迭代的基线。

版本控制模型和数据DVC 将元文件保存在Git 而不是Google Docs 中来描述和控制数据集和模型的版本。 DVC 支持多种外部存储类型作为大文件的远程缓存。

建立部署和协作工作流程DVC 定义了团队高效、一致工作的规则和流程。它充当在生产环境中协作、共享结果以及获取和运行完整模型的协议。本文:http://jiagoushi.pro/dvc-open-source-version-control-system-machine-learning-projects

(此处已添加圈卡,请前往今日头条客户端查看)

猜你喜欢