Skip to content

记录数据集与模型:数据规格表、数据声明与模型卡

关于标注数据及其上所构建模型的三种标准文档框架的参考指南:每种框架涵盖什么、何时选用哪一种,以及可复现性报告如何将它们串联起来。

三种文档标准已成为机器学习数据的惯例:数据声明和数据规格表用于数据集本身,模型卡用于你在其上训练出来的模型。它们大量重叠,若你希望数据受到信任并被复用,任何一种都不是可有可无的。本指南是一份参考,说明每种标准涵盖什么、何时该选用它。 若想以叙述方式一步步了解如何撰写其中一种,请参阅配套文章记录你的标注数据集;本页是各标准之间的对比。

为什么要用结构化文档,而不是 README

没有文档的标注数据集会随着时间变得很糟。半年之后,没人能说清它是怎么采样的、由谁标注、某个标签本应表示什么,于是数据变成一个黑箱,人们要么盲目信任它,要么弃之不用。有两种具体代价反复出现:不可复现性(没有采样方法、指南版本和标注者群体,你既无法重建数据集,也无法解释某处差异)和隐性偏差(来自一个未经记录的狭窄群体的标签,带着在投入生产前始终看不见的盲点)。下面这些框架的存在,正是为了在这两者中的任何一个引发问题之前,把怎么做讲清楚。

三种标准

每种框架针对不同的产物和读者,但它们被设计为彼此衔接。

数据声明(Bender and Friedman, 2018) 是面向自然语言处理的专用模式。它刻画一个语言数据集、整理理据、语言变体及其使用者、标注者的人口统计、指南以及预期用途,以便读者判断结果将如何泛化,以及数据对哪些人群代表不足。当数据是文本且语言变体很重要时,就选用数据声明。

面向数据集的数据规格表(Gebru et al., 2021) 是通用版本,借鉴自电子行业——每个元件出厂时都附带一份规格表。它就动机、构成、采集过程、预处理、推荐用途和维护提出一套标准问题。任何机器学习数据集,无论是否为文本,都可以使用数据规格表;它与数据声明大量重叠,因此在语言数据集上,你实际上是在选择围绕哪一套问题来组织,而不是从头把两者都做一遍。

模型卡(Mitchell et al., 2019) 记录的是模型而非数据:它的预期用途,以及尤为关键的一点——按人口统计等群体分解的性能,而不是笼统的单一汇总数字。模型卡正是公平性问题变得可见的地方。

这三者构成一条链。数据规格表或数据声明记录数据;模型卡记录在其上构建出来的东西;而前者中标注者人口统计一节,恰恰是让后者的分组评估变得可解释的关键。把标注记录清楚,你就已经在通往一份经得起推敲的模型卡的路上走了大半。

框架记录对象最适用于关键章节
数据声明一个语言数据集自然语言处理 / 文本数据整理理据、语言变体、使用者与标注者的人口统计、指南
数据规格表任意机器学习数据集一般机器学习数据动机、构成、采集、用途、维护
模型卡一个训练好的模型任意发布的模型预期用途、分组评估、局限性

可复现性是第四条腿

文档与可复现性是同一目标的两个角度。Pineau et al. (2021) 报告了 NeurIPS 的可复现性计划,并将其提炼为一份可复现性检查清单:报告确切的数据、采集与预处理步骤、评估设置,以及足以让工作重新运行的细节。具体到一个标注项目,对可复现性至关重要的事实,正是数据规格表本就要问的那些:条目是如何采样的、使用了哪个版本的指南、由谁标注,以及分歧是如何处理的。如果你能回答这些,那么数据集既有文档又可复现;如果不能,那就是一个应在发布之前而非之后补上的缺口。

一份发布检查清单

在发布之前,确认你能回答:

  • 条目是如何采样的,来自何处?
  • 这是哪种语言变体,源文本由谁撰写?
  • 由谁标注、有多少人,以及这个群体的人口统计构成如何?
  • 他们遵循了哪些指南,哪个版本?
  • 分歧是被汇总为一个金标签,还是被保留为一个分布?无论哪种,都要报告一致性
  • 这个数据集是做什么用的,又不应用于什么?

在 Potato 中的做法

一个数据集的大部分文档其实已经作为项目产物存在,所以你并非从一张白纸开始。配置文件本身就是文档:YAML 记录了标注方案、标签集和任务结构,与数据一起纳入版本控制,而你写下的说明就是逐字逐句的指南章节。如果你运行过预研阶段,标注者人口统计早已按标注者逐一存储;把它们汇总成分布,用于标注者人口统计一节。而导出会在每个标签上保留标注者和时间戳,于是来源信息随数据一同流转,而不会被剥离:

json
{
  "id": "doc_001",
  "annotations": { "sentiment": "positive" },
  "annotator": "user_1",
  "timestamp": "2024-01-15T10:30:00Z"
}

当你发布到 Hub 时,把生成数据集卡作为导出的最后一步,并用你已有的配置、指南和预研人口统计来填写它的各个章节。

延伸阅读