Skip to main content
工作流讲解见数据集管理

sf dataset prepare

按约定发现 common/data/prepare_*.py,本地执行产出数据目录。

sf dataset push

上传特性:流式分片、逐文件 SHA256、断点续传(中断后重跑自动跳过已传文件)。 目录里放一个 README.md,push 会把它一并发成数据集说明(见下)。

sf dataset card

说明是数据集的属性,不属于某一个版本:改说明不用重推一版数据。首段会被摘成一句话, 显示在 sf dataset ls 与控制台列表的每一行上。

sf dataset check —— 推送前先查污染

要挡住的是无意中把测试题训进去了:从同一个公开数据集切 train/test、拿别人清洗过的 混合语料(里面正好含 GSM8K)。后果是分数虚高且无人察觉——模型在背过的题上考了 90 分, 你据此上线,线上表现对不上。 查出来的是具体哪几条,因为你要做的动作是「把这几条删掉」:
有重合时退出码是 1——放进 CI 就能拦住一次带污染的推送。 --fields 限定只看题干:答案里恰好出现同一个词不该报警。 判定按归一化后的 13-gram(GPT-3 / PaLM 的污染分析用的窗口)。大小写、标点、全角半角 不影响判定;中文按字切分,否则一整句会变成一个 token、永远查不出重合。

sf dataset quality —— 这份数据自己干不干净

sf dataset push 会自动算一份随版本存,控制台数据集详情页顶部直接显示。这个命令用于推送之前先看看。 四个数各自防一类问题: 只统计机器能确定数出来的量。「这条回答好不好」是人或模型的判断,不在这里——那是人工偏好标注的范畴。 近重复用 MinHash 的小型版本:模板生成的数据(50 条只差一个数字)会被判成重复——那不是误报,它正是这份报告最该说出来的一类问题。

污染指纹(跨端比对)

sf dataset push 会顺带算一份 n-gram 指纹(抽样后的哈希集合,几百 KB)随版本上传。 推送时每个文件本来就要读一遍算 sha256,切 n-gram 几乎不额外花钱;而事后再算要把几 GB 数据拉回来,那件事贵到没人会做。 有了指纹,平台侧比对两个数据集只是两个小集合求交:
给平台外的数据(比如某个基准的测试集)也能单独算:
指纹比对给的是估算:抽样只允许假阴性,很小的数据集可能一条都没抽中。 小数据集用 sf dataset check 精确查——它给条目,指纹只给比例。 推送时还没有这个功能的老版本没有指纹,接口会明说「比不了」,而不是回一个 假的「没有污染」。

sf dataset ls / visibility

ls 每行给出最新版本、文件数、体积、格式与更新时间:

在训练中引用

作业启动自动分发到集群共享缓存并注入 <NAME>_DATA_DIR;推荐把引用固化在实验 config 的 data.train.dataset

sf dataset

Manage datasets

sf dataset card

Show/update a dataset description (README.md)

sf dataset check

Check training data for evaluation overlap

sf dataset fingerprint

Compute a dataset fingerprint

sf dataset ls

List the visible datasets

sf dataset prepare

Preprocess a dataset locally
--help 外没有其他选项。

sf dataset push

Upload one dataset version

sf dataset quality

Produce a dataset quality report

sf dataset visibility

Change a dataset’s visibility (owner or admin)