为您的人工智能数据提供类似 Git 的版本管理功能

embedded/2024/10/22 12:22:31/
github-gist">

您过去肯定有过版本控制代码。但是,您是否对数据进行了版本控制?您是否曾经想过与不同的团队协作处理大量数据,而无需提交大量数据?想象一下,使用类似 git 的命令来运行类似存储库的生态系统,在该生态系统中,您可以提交数据、创建分支、检查历史记录并在整个数据生命周期中跟踪更改,那将是多么酷。最终,这可确保大型组织中的团队以与协作处理代码相同的方式协作处理数据。Pachyderm 的支柱是其文件系统 PFS。它本质上构建在 Postgres 和 Object Store 之上,例如 MinIO。这可确保数据在所有请求中都是安全和一致的。这可确保用户可以使用分支和提交对其数据进行版本控制,以管理和跟踪随时间的变化。

我们来看看如何以 MinIO Enterprise Store 作为主干来设置 Pachyderm。

MinIO Enterprise Store 和 Pachyderm

您应该已经有一个 Kubernetes 集群,并使用 Kubernetes 的支持版本运行。完成后,请继续下载并解压缩 MinIO Enterprise Store 的 Kubernetes YAML 文件。

wget https://dl.min.io/enterprise/console.tar.gztar xvf console.tar.gz

启动 MinIO Enterprise 控制台


kubectl apply -k console

接下来让我们安装 Pachyderm。

添加 Helm Chart 仓库和更新

helm repo add pachyderm https://helm.pachyderm.comhelm repo update

使用以下步骤创建 MinIO 存储桶

<div><script async src="https://js.storylane.io/js/v2/storylane.js"></script><div class="sl-embed" style="position:relative;padding-bottom:calc(79.17% + 25px);width:100%;height:0;transform:scale(1)"><iframe loading="lazy" class="sl-demo" src="https://app.storylane.io/demo/cesgrcyf9wnq?embed=inline" name="sl-embed" allow="fullscreen" allowfullscreen style="position:absolute;top:0;left:0;width:100%!important;height:100%!important;border:1px solid rgba(63,95,172,0.35);box-shadow: 0px 0px 18px rgba(26, 19, 72, 0.15);border-radius:10px;box-sizing:border-box;"></iframe></div></div>

使用 MinIO 终端节点、存储桶名称、访问密钥 ID 和私有密钥更新 Pachyderm Helm 值文件。

pachd:storage:backend: "AMAZON"storageURL: "s3://pachyderm-test?endpoint=minio.default.svc.cluster.local:9000&disableSSL=true&region=dummy-region"

部署 Pachyderm

helm install pachyderm -f values.yaml pachyderm/pachyderm --version <your_chart_version>

添加和检索数据

有两种方法可以添加和检索数据。

MC

MC 是最好和最简单的方法。您可以像添加任何其他 S3 终端节点一样添加 Pachyderm 终端节点

mc alias set pachyderm_minio <pachyderm-address> <YOUR-PACHYDERM-AUTH-TOKEN> <YOUR-PACHYDERM-AUTH-TOKEN>

列出 Pachyderm 存储库和项目的内容

mc ls local/master.<repo>.<project>

命令行界面

您还可以使用 aws cli 将数据放入 MinIO 中

aws --endpoint-url <pachyderm-address> s3 cp myfile.csv s3://minio.default.svc.cluster.local:9000

从 MinIO Enterprise Store 检索数据同样简单

aws --endpoint-url <pachyderm-address> s3 cp s3://minio.default.svc.cluster.local:9000/myfile.csv

如果您在 Kubernetes 集群之外,则可以使用端口转发,但我建议将其限制为测试用例。

AI 数据的版本控制

我们发布代码,现在很明显我们为什么要这样做。我们将基础设施版本化为代码,这在过去并不是常态,但慢慢地,即使对于小型设置,对基础设施代码进行版本控制也与应用程序代码一样重要。从根本上说,我们这样做的原因是为了合作。了解大数据和 AI/ML 是同一枚硬币的两面非常重要,你不能缺一不可,随着模型的发展,它们都会相互影响。因此,您希望能够确保其他团队可以以有意义的方式处理您生成的数据,而无需再次重做整个数据,想象一下每次有人在没有适当的 git commit/merge 的情况下覆盖您的代码。在 MinIO,我们不仅注重简单性,还注重管理基础设施的最佳实践。


http://www.ppmy.cn/embedded/127642.html

相关文章

树莓派应用--AI项目实战篇来啦-3.OpenCV 读取写入和显示图像

1. 介绍 在计算机视觉和图像处理领域&#xff0c;读取和显示图像是最基础且常见的操作之一&#xff0c;OpenCV作为一个强大的计算机视觉库&#xff0c;提供了丰富的功能来处理图像数据。 读取、显示和写入图像是图像处理和计算机视觉的基础&#xff0c;即使裁剪、调整大…

Ubuntu:用户不在sudoers文件中

1、问题 执行sudo xxx命令时&#xff0c;显示&#xff1a; user 不在sudoers文件中 需要查看系统版本进入恢复模式修复。 2、重启进入恢复模式 查看系统命令&#xff1a;uname -r 可能显示为&#xff1a;6.8.0-45-generic 重启Ubuntu系统&#xff0c;在开机时按ESC进入模…

【论文翻译】TITAN:用于交通流量预测的异构专家混合模型

题目A TIME SERIES IS WORTH FIVE EXPERTS: HETEROGENEOUS MIXTURE OF EXPERTS FOR TRAFFIC FLOW PREDICTION论文链接https://arxiv.org/pdf/2409.17440源码地址https://github.com/sqlcow/TITAN&#xff08;作者说论文被接受后&#xff0c;代码将更新&#xff09; 摘要 准确的…

学习threejs,THREE.MeshBasicMaterial网格材质、THREE.MeshLambertMaterial漫反射材质

&#x1f468;‍⚕️ 主页&#xff1a; gis分享者 &#x1f468;‍⚕️ 感谢各位大佬 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍⚕️ 收录于专栏&#xff1a;threejs gis工程师 文章目录 一、&#x1f340;前言1.1 ☘️THREE.MeshBasicMaterial网…

Codeforces Round 950 (Div. 3) F1题 Field Division (easy version)(排序,单调栈)

题目链接 Codeforces Round 950 (Div. 3) F1题 Field Division (easy version) 思路 我们按 r r r从小到大&#xff0c; c c c从大到小进行排序。 预处理一个 n x t nxt nxt数组&#xff0c;表示 c c c的后缀最小值。这样&#xff0c;我们就可以利用 n x t nxt nxt数组直接…

centos7安装配置python3环境

1、wget https://www.python.org/ftp/python/3.11.2/Python-3.11.2.tgz 2、安装python依赖环境 切换到root用户&#xff0c;然后执行下面命令&#xff1a; 3、安装gcc&#xff0c;用于后续安装Python时编译源码&#xff1a; yum install gcc -y 4、安装Python3相关依赖&#…

Attention的总结

文章目录 Attention 机制计算过程实现维度设置具体维度多维张量乘法的基本规则广播的应用&#xff1a;code 矩阵乘法选择1. torch.bmm()&#xff08;Batch Matrix Multiplication&#xff09;2. torch.matmul()&#xff08;Matrix Multiplication&#xff09;3. np.dot()&#…

如何解锁业务数据价值:基于云器Lakehouse构建面向未来的ELT现代数据栈

随着企业数据量和数据架构的日益复杂&#xff0c;企业急需寻找更快、更高效、更节省成本的数据管理和分析方法。近年来&#xff0c;现代化数据栈&#xff08;Modern Data Stack&#xff0c;简称MDS&#xff09;不断创新发展&#xff0c;受到了广泛的关注。 MDS是什么&#xff…