03 数据集版本管理与数据治理:把数据集像代码一样管起来
这是「高质量数据集」专题的第三篇。
上一篇我们横向对比了五款开源标注工具——Label Studio、CVAT、Argilla、doccano、Prodigy,帮你把"原油"炼成"汽油"的工序选对了兵器。但工具只是起点。数据集一旦开始建,真正的麻烦才刚来:版本乱了回不去、质量烂了查不出、多人改了分不清、换个人接手看不懂。这跟写代码早期"没有 Git"的状态一模一样——而今天没人会裸写代码不版本管理,数据集也该如此。
这篇我们就把"数据集怎么管、怎么不烂尾"这件事讲透,介绍五款各有所长的工具:DVC、DataHub、LakeFS、Cleanlab、Great Expectations。它们不是互相替代,而是分别补上"版本、目录、血缘、清洗、质检"五块不同的短板。
一、先建立一把"评测尺"
工具没有绝对好坏,只有"补不补得上你的短板"。在逐个看之前,先摆四把尺——后面每款都按这个框架过:
- 版本与可回溯:能不能像 Git 一样记录"数据集在某个时间点的样子",改坏了能一键回到上个版本?这是防烂尾的底线。
- 血缘与溯源:一份数据从哪来、经过哪些加工、被谁改过,能不能一条线追到底?这直接对应政策里"来源合法、过程可溯源"的合规要求。
- 质量门禁:能不能写一组自动检查(字段类型对不对、有没有空值、分布漂没漂移),在"入库前"就把脏数据挡住?呼应上一篇的"AI-Ready 四项标准"。
- 治理与发现:成千上万份数据集 / 字段,团队怎么搜、怎么看懂、怎么管权限?这是"管得住"的那根支柱。
四把尺一摆,五款工具的分工就清楚了:DVC 和 LakeFS 主攻"版本",DataHub 主攻"治理与血缘",Cleanlab 和 Great Expectations 主攻"质量"。
二、五款工具逐一点评
1. DVC —— 给数据装上 Git(Apache 2.0)
定位:DVC(Data Version Control)由 Iterative 公司开源,思路非常直白:用 Git 管代码和元数据,用外部存储管真正的大文件。它在 Git 仓库里只放一个轻量的 .dvc 指针文件(记录文件名、大小、内容哈希),真正的图片、模型、CSV 存在 S3、GCS、Azure、NAS 或本地缓存里。
解决什么痛点:你改了一版标注,push 之后同事 dvc pull 就能拿到完全一致的版本;训练脚本、数据版本、模型输出三者靠 dvc.yaml 串成一条可复现的 pipeline。它本质上是把"机器学习工程"当软件工程来管。
坑点:
- 存储后端要自己配(remote 指向哪、凭证怎么给),新手第一次接 S3 容易卡在权限;
- 它管的是"文件版本",不是"数据库里的行级变更"——如果你要的是数据湖里对象的 Git 式分支,那是 LakeFS 的活;
- 团队大了之后,
.dvc文件散落、缓存空间膨胀,需要约定好清理策略。
适合谁:已经用 Git 的团队,想把"数据 + 模型 + 代码"做成一条可复现链路。它是"版本管理"这条路线上最通用的那一个。
2. DataHub —— 数据的"通讯录 + 家谱"(Apache 2.0)
定位:DataHub 由 Acryl Data 维护(最早源自 LinkedIn 的 WhereHows),是一个元数据治理与数据目录平台。它的核心不是"存数据",而是"描述和连接数据"——把表、字段、数据集、流水线、负责人、业务术语统统登记进一个统一的元数据图。
解决什么痛点:当你有几百份数据集,没人说得清"哪份数据在哪、谁负责、字段什么意思、被哪些任务依赖"时,DataHub 提供搜索、血缘可视化(这张表被哪条 pipeline 消费、改动会影响谁)、schema 变更追踪。它对应政策里"管理服务 / 管得住"那根支柱。
坑点:
- 它是一个偏平台的系统,部署依赖 Kafka、数据库、索引服务,初次搭建不轻;
- 价值取决于"元数据填得全不全"——录得敷衍,搜出来也是一堆废条目;
- 它和"版本 / 质检"是不同维度,不能拿它当 DVC 或 Great Expectations 的替代品。
适合谁:中大型团队,数据资产多到"找都找不着、改都不敢改"的阶段。它是"治理与发现"的默认答案。
3. LakeFS —— 给数据湖装上 Git 分支(Apache 2.0)
定位:LakeFS 的思路最"极客":它让对象存储(S3 兼容)拥有 Git 一样的 branch / commit / merge / revert。你在数据湖上开个分支做实验,随便改,搞砸了 lakefs revert 一键回滚,不影响主干;验证没问题再 merge 进主分支。
解决什么痛点:传统数据湖"改了就是改了",没有中间态、没有隔离。LakeFS 把"先开分支再改、改完再合并"的软件工程纪律,原样搬到了 PB 级对象存储上,而且零拷贝(靠元数据指针,不真的复制数据),成本极低。
坑点:
- 前提是你的存储得是 S3 兼容的对象存储,否则用不了;
- 它管的是"对象存储层"的版本与隔离,不做元数据目录(那是 DataHub 的事),也不做内容质检(那是 GX 的事);
- 概念虽简单,但和既有数据管道集成、权限模型对接需要规划。
适合谁:已经在用对象存储 / 数据湖,想要"实验隔离 + 可回滚"的团队。它是"数据湖版 Git"。
4. Cleanlab —— 自动揪出"脏标签"的质检员(开源)
定位:Cleanlab 是一个 Python 库,专攻数据质量自动检测,最出名的能力是"用置信学习(confident learning)找出标注错误的样本"——也就是在不人工复查全部数据的前提下,给你排出"最可能标错"的那一批。
解决什么痛点:标注再认真也难免出错,而错标签会悄悄拖垮模型。Cleanlab 直接告诉你"这 200 张图里大概有 30 张标错了,优先看这些",把有限的人力用在刀刃上。它还覆盖离群点检测、重复样本、文本 / 图像的各种质量问题。
坑点:
- 它聚焦"检测与排序",不负责"版本管理"和"目录治理",是工具链里的一颗螺丝;
- 检测质量依赖你喂的模型 / 特征够不够好,"垃圾进垃圾出";
- 对超大规模数据要做采样或分批,否则内存吃紧。
适合谁:已经有一批标注数据、怀疑里面有错、但没人力全量复查的团队。它是"标签质量"的守门员。
5. Great Expectations —— 给数据写"单元测试"(开源,核心 Apache 2.0)
定位:Great Expectations(社区常称 GX)把"数据质量"变成一组可执行的断言(Expectation):这一列不应该有空值、这个字段的取值必须在某个枚举里、这张表行数不能比昨天少 20%……写好之后,每次新数据进来跑一遍,自动生成一份"数据文档"报告哪里过关、哪里翻车。
解决什么痛点:它把"质量门禁"自动化——对应政策"AI-Ready 四项标准"里的结构完整性、内容干净性。把 Expectation 接进 pipeline,脏数据在"入库训练前"就被挡下,而不是等模型训崩了才回头查。
坑点:
- 期望规则要靠人先定义、随业务演进持续维护,前期投入不小;
- 核心开源,但云版 / 调度等高级能力在向商业产品倾斜;
- 它验证"数据长什么样",不做"数据从哪来、被谁改"的治理。
适合谁:想把"数据质量"变成 CI 里一道自动卡口的工程团队。它是"质量门禁"的事实标准。
三、一张清单看懂五款差异
- DVC:许可证——Apache 2.0;主攻——数据 / 模型版本与可复现 pipeline;最强项——和 Git 无缝衔接、轻量指针;最该警惕的坑——只管文件版本、存储后端要自配
- DataHub:许可证——Apache 2.0;主攻——元数据目录与血缘治理;最强项——搜索 + 血缘可视化 + 权限;最该警惕的坑——平台重、价值取决于元数据填充质量
- LakeFS:许可证——Apache 2.0;主攻——对象存储的 Git 式分支 / 回滚;最强项——零拷贝分支、PB 级可回滚;最该警惕的坑——需 S3 兼容、只管存储层
- Cleanlab:许可证——开源;主攻——标签错误与脏数据自动检测;最强项——用模型挑出最该复查的样本;最该警惕的坑——只做检测、依赖喂入的模型质量
- Great Expectations:许可证——开源(核心 Apache 2.0);主攻——数据质量断言与门禁;最强项——把质量变成自动测试、出文档;最该警惕的坑——规则需人维护、商业能力分化
一句话总结分工:DVC / LakeFS 管"版本与隔离",DataHub 管"目录与血缘",Cleanlab / GX 管"质量"。 它们不打架,常常是被一起用进同一条数据平台里。
四、怎么选:一张决策树
再看一眼它们怎么拼成一条"管得住"的数据链路——这正是政策"管理服务行动"的技术落点:
五、落到你自己的项目
给你四条最实用的落地规则:
- 个人或小团队刚起步 → 先把 DVC 接上,哪怕只是
git+.dvc管住训练数据和模型,就已经甩开"裸奔"一大截; - 数据已经在对象存储 / 数据湖,要做实验隔离 → 上 LakeFS,分支随便开、搞砸就回滚,零拷贝不怕贵;
- 团队数据多到找不着、改不敢改 → 上 DataHub,把目录和血缘建起来,搜索和权限才有抓手;
- 质量总在训练后才爆雷 → Cleanlab 排错标签 + Great Expectations 立规则,把"质量门禁"卡进 pipeline 最前面。
最后提醒一句合规(呼应前两篇的"红线"):无论用哪款工具,版本可追溯、来源可证明、质量可验证这三件事,本身就是政策合规的"技术证据"。工具帮你"管得住",而管得住,才敢谈"流得动、卖得掉"。