AB
AiBoss站
百科

什么是模型卡(Model Card)?随模型发布的性能与用途说明文档

模型卡(Model Card)是随训练好的机器学习模型一同发布的简短文档,用于说明模型的预期用途、评测条件与分群体性能表现。该概念由 Margaret Mitchell 等人在 2018 年提交的论文中提出,Hugging Face 等模型托管平台将其落地为模型仓库中的 README.md 文件。

模型卡(Model Card)是随训练好的机器学习模型一同发布的简短文档,用来记录模型的预期使用场景、性能评测结果以及评测所依据的条件。它要解决的问题是:模型被发布之后,使用者往往只拿到权重和一句简介,无从判断这个模型在什么人群、什么场景下表现如何,也就容易把它用在并不适合的地方。模型卡试图通过一份结构化的说明,把「这个模型能做什么、在什么条件下做得怎么样、不该拿它做什么」写清楚。

为什么重要

在模型卡这一提法出现之前,机器学习模型的发布通常只包含模型本身和少量技术描述。论文里的评测数字往往是在单一数据集、单一总体分布上算出来的平均值,而模型实际部署时面对的人群、语言、地域、设备条件可能与评测时并不一致。论文《Model Cards for Model Reporting》指出,训练好的机器学习模型越来越多地被用于执法、医疗、教育和就业等高风险领域,因此有必要明确模型的预期使用场景,并尽量减少它们在并不适合的语境中被使用。

痛点集中在两处。一是信息不对称:模型发布方知道训练数据、评测流程和已知缺陷,使用方却看不到,只能靠试错。二是平均值掩盖差异:一个在总体指标上表现良好的模型,可能在某个特定人群上明显更差,而单一汇总数字不会暴露这一点。模型卡要求把评测结果按不同文化、人口统计或表型群体(例如种族、地理位置、性别、Fitzpatrick 皮肤类型)以及交叉群体(例如年龄与种族、性别与皮肤类型)分别列出,正是为了让这类差异可见。

工作机制

按原论文的设想,模型卡是一份伴随已训练模型的短文档,核心内容包括:

  • 分条件的基准评测:不只给出总体指标,还要给出在不同群体和交叉群体上的评测数字,这些群体应当与模型的预期应用领域相关。
  • 预期使用语境:说明模型被设计用来解决什么问题、面向什么场景。
  • 评测流程细节:说明性能数字是怎么算出来的,包括评测数据与方法的说明。
  • 其他相关信息:论文将其概括为「其他相关信息」,并未限定为固定字段。

论文作者强调,虽然他们的讨论主要聚焦于计算机视觉和自然语言处理这两个应用领域中以人为本的机器学习模型,但这一框架可以用来记录任何已训练的机器学习模型。

在工程落地层面,模型托管平台给出了更具体的形态。Hugging Face 官方文档称,模型卡是伴随模型提供信息的文件,本质上是一个带有额外元数据的简单 Markdown 文件;在任何模型仓库中,模型卡就是 README.md 文件。该文档认为模型卡对可发现性、可复现性和分享都必不可少,并列出模型卡应当描述的内容:模型本身;预期用途与潜在局限,包括偏见与伦理考量(文档注明这些内容详见 Mitchell, 2018);训练参数与实验信息(可以嵌入或链接到实验追踪平台作为参考);训练模型所用的数据集;以及模型的评测结果。

该文档把 Hub 上的模型卡分为两个关键部分,二者信息有重叠:

  1. 元数据(Metadata):写在 Markdown 文件顶部的 YAML 区块中。文档称,加入元数据有助于模型的发现和更便捷的使用,例如允许用户在模型列表页按条件筛选模型、显示模型许可证;把数据集加入元数据后,模型页面会出现「Datasets used to train:」的提示,并在数据集同样位于 Hub 上时链接到相应数据集。数据集与语言的标识符取自 Hub 的数据集页和语言页所列的值。
  2. 文本描述(Text descriptions):即模型卡正文部分。

关于如何添加元数据,该文档给出三种途径:使用元数据界面;直接编辑 README.md 的 YAML 区块;或通过 huggingface_hub Python 库。文档还提到,许多与 Hub 集成的库在上传模型时会自动向模型卡添加元数据。元数据界面位于模型页面右上角的「Edit model card」按钮,打开后可以同时编辑 README.md 文件和元数据;文档称用界面是添加元数据最简单的方式,但它并不支持全部元数据字段,若需要界面不支持的字段,可以直接编辑 YAML 区块。若模型卡原本没有 YAML 区块,可以在文件顶部加三个连字符,写入相关元数据,再用另一组三个连字符闭合该区块。

典型例子

原论文为落实这一概念,给出了两个监督学习模型的模型卡:一个是用于检测图像中人脸是否微笑的模型,另一个是用于检测文本中是否含有有毒评论的模型。这两个例子分别对应计算机视觉与自然语言处理两个领域。

在平台实践中,Hugging Face 模型仓库中的 README.md 就是模型卡的载体,其顶部 YAML 区块可包含语言、缩略图、标签、许可证、数据集等字段。文档中给出的 YAML 示例包含 language、thumbnail、tags、license、datasets 等条目,其中 language 使用 ISO 639-1 语言代码列表,license 使用有效的许可证标识符。

边界与常见误解

首先需要区分「论文提出的框架」与「平台的具体实现」。模型卡这一概念由 Margaret Mitchell 等人提出,其主张是:发布模型时应附带详细说明性能特征与预期用途的文档,这是迈向负责任地普及机器学习及相关 AI 技术的一步,目的是提高 AI 技术表现如何的透明度。而 Hugging Face 文档中关于 Markdown 文件、YAML 元数据、界面编辑方式等描述,是该平台自身的实现约定,属于平台层面的工程规范,不能等同于行业统一标准。

其次,模型卡本身并不保证模型质量。它是一份说明文档,记录的是发布方选择披露的内容;文档中列出的评测结果取决于发布方所选的评测数据与方法,读者仍需自行判断这些评测是否覆盖了自己关心的场景。原论文的表述是「鼓励」发布者附带类似的详细评测数字和相关文档,而非强制要求。

第三,模型卡不是模型的技术架构说明,也不等同于许可证或使用条款。在 Hugging Face 的实现中,许可证是元数据中的一个字段,用于在模型页面显示,但它与模型卡正文所描述的用途限制是两回事。

第四,元数据界面存在覆盖范围限制。该文档明确指出,界面方式不支持全部元数据字段,需要更完整的元数据时只能直接编辑 YAML。这意味着依赖界面填写的模型卡,其元数据完整度可能低于手写 YAML 的模型卡。

最后,模型卡所记录的群体划分方式本身带有选择。原论文列举的群体维度包括种族、地理位置、性别、Fitzpatrick 皮肤类型以及年龄与种族、性别与皮肤类型等交叉组合,这些维度与具体应用领域相关,并非通用清单;换一个应用领域,需要重新判断哪些群体划分是有意义的。

参考资料