LLM 课程文档

构建模型卡

Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

开始

构建模型卡

Ask a Question

模型卡是一个文件,可以说它与模型仓库中的模型和分词器文件同等重要。它是模型的核心定义,确保社区成员的重用性和结果的可重现性,并为其他成员构建他们的工件提供平台。

记录训练和评估过程有助于其他人了解对模型的期望 —— 并提供关于所用数据以及已完成的预处理和后处理的充分信息,确保可以识别和理解模型有用和无用的局限性、偏差和上下文。

因此,创建清晰定义模型的模型卡是非常重要的一步。在这里,我们提供一些技巧来帮助您完成此操作。创建模型卡是通过您之前看到的 README.md 文件完成的,这是一个 Markdown 文件。

“模型卡”概念源于 Google 的一项研究方向,最初在 Margaret Mitchell 等人撰写的论文 “模型报告的模型卡” 中分享。这里包含的许多信息都基于该论文,我们建议您查看该论文,以了解为什么模型卡在一个重视可重现性、可重用性和公平性的世界中如此重要。

模型卡通常以非常简短、高层次的概述模型用途开始,然后在以下部分中提供更多详细信息

  • 模型描述
  • 预期用途和局限性
  • 如何使用
  • 局限性和偏差
  • 训练数据
  • 训练过程
  • 评估结果

让我们来看看每个部分应该包含什么。

模型描述

模型描述提供关于模型的基本细节。这包括架构、版本、是否在论文中介绍过、是否有原始实现、作者以及关于模型的一般信息。任何版权都应在此处注明。关于训练过程、参数和重要免责声明的一般信息也可以在本节中提及。

预期用途和局限性

在这里,您描述模型旨在用于的用例,包括可以应用它的语言、领域和领域。模型卡的这一部分还可以记录已知超出模型范围的区域,或者模型可能表现欠佳的区域。

如何使用

本节应包含一些关于如何使用模型的示例。这可以展示 pipeline() 函数的用法、模型和分词器类的用法,以及您认为可能有帮助的任何其他代码。

训练数据

这部分应指出模型在哪个或哪些数据集上训练。也欢迎对数据集进行简要描述。

训练过程

在本节中,您应从可重现性的角度描述训练的所有相关方面。这包括对数据进行的任何预处理和后处理,以及诸如模型训练的 epoch 数、批大小、学习率等详细信息。

评估指标

在这里,您应该描述用于评估的指标,以及您正在衡量的不同因素。提及使用了哪些指标、在哪个数据集以及哪个数据集拆分上使用,可以轻松地将您的模型性能与其他模型的性能进行比较。这些应根据前面的部分(例如预期用户和用例)进行告知。

评估结果

最后,提供模型在评估数据集上的表现如何的指示。如果模型使用决策阈值,则提供评估中使用的决策阈值,或者提供关于针对预期用途在不同阈值下评估的详细信息。

示例

查看以下内容,了解一些精心制作的模型卡的示例

更多来自不同组织和公司的示例可在此处获取:here

注意

模型卡不是发布模型的必需条件,并且在制作模型卡时,您无需包含上述所有部分。但是,对模型的明确文档记录只能使未来的用户受益,因此我们建议您在您的知识和能力范围内尽可能多地填写这些部分。

模型卡元数据

如果您对 Hugging Face Hub 进行了一些探索,您应该已经看到某些模型属于特定类别:您可以按任务、语言、库等对其进行过滤。模型所属的类别是根据您在模型卡标头中添加的元数据来识别的。

例如,如果您查看 camembert-base 模型卡,您应该在模型卡标头中看到以下几行

---
language: fr
license: mit
datasets:
- oscar
---

此元数据由 Hugging Face Hub 解析,然后将此模型识别为法语模型,具有 MIT 许可证,并在 Oscar 数据集上进行训练。

完整的模型卡规范 允许指定语言、许可证、标签、数据集、指标以及模型在训练时获得的评估结果。

< > 在 GitHub 上更新