构建模型卡片
模型卡片是一个文件,可以说在模型存储库中与模型和分词器文件一样重要。它是模型的核心定义,确保了社区成员之间的可重用性和结果的可重复性,并提供了一个平台,供其他成员在其上构建其工件。
记录训练和评估过程有助于其他人了解对模型的预期——并提供有关使用的数据以及所做的预处理和后处理的足够信息,确保可以识别和理解模型有用和无用的限制、偏差和上下文。
因此,创建清楚地定义模型的模型卡片是一个非常重要的步骤。在这里,我们提供一些提示来帮助您完成此操作。模型卡片的创建是通过您之前看到的README.md文件完成的,该文件是一个 Markdown 文件。
“模型卡片”的概念源于 Google 的一个研究方向,首次在 Margaret Mitchell 等人的论文“模型卡片用于模型报告”中分享。这里包含的大量信息都基于该论文,我们建议您阅读它以了解为什么模型卡片在重视可重复性、可重用性和公平性的世界中如此重要。
模型卡片通常以对模型用途的非常简短的高级概述开始,然后在以下部分中提供更多详细信息
- 模型描述
- 预期用途和局限性
- 使用方法
- 局限性和偏差
- 训练数据
- 训练过程
- 评估结果
让我们看看每个部分应该包含什么。
模型描述
模型描述提供了有关模型的基本详细信息。这包括架构、版本、是否在论文中介绍、原始实现是否可用、作者以及有关模型的一般信息。任何版权都应在此处注明。有关训练过程、参数和重要免责声明的一般信息也可以在本节中提及。
预期用途和局限性
在这里,您描述了模型的预期用例,包括可以应用的语言、领域和范围。模型卡片的这一部分还可以记录已知超出模型范围的区域,或模型可能表现不佳的区域。
使用方法
本节应包含一些有关如何使用模型的示例。这可以展示pipeline()
函数的使用、模型和分词器类的使用以及您认为可能有帮助的任何其他代码。
训练数据
这部分应指出模型训练所使用的数据集。欢迎简要描述数据集。
训练过程
在本节中,您应该描述训练中所有与可重复性相关的方面。这包括对数据进行的任何预处理和后处理,以及模型训练的轮次数量、批次大小、学习率等详细信息。
变量和指标
在这里,您应该描述用于评估的指标以及您测量的不同因素。提及在哪个数据集和哪个数据集拆分上使用了哪些指标,可以轻松地将您模型的性能与其他模型的性能进行比较。这些应根据前面的部分(例如预期用户和用例)提供信息。
评估结果
最后,请提供模型在评估数据集上性能表现的指示。如果模型使用了决策阈值,请提供评估中使用的决策阈值,或者提供针对预期用途的不同阈值下评估的详细信息。
示例
查看以下内容,了解一些精心制作的模型卡片示例
更多来自不同组织和公司的示例,请访问 此处。
注意
发布模型时,模型卡片不是强制要求,并且在创建模型卡片时,您不需要包含上面描述的所有部分。但是,模型的明确文档只会对未来的用户有益,因此我们建议您根据您的知识和能力尽可能多地填写各个部分。
模型卡片元数据
如果您对Hugging Face Hub进行了一些探索,您应该已经看到某些模型属于特定的类别:您可以按任务、语言、库等进行筛选。模型所属的类别是根据您在模型卡片头部添加的元数据来识别的。
例如,如果您查看 camembert-base
模型卡片,您应该会在模型卡片头部看到以下几行
---
language: fr
license: mit
datasets:
- oscar
---
此元数据由Hugging Face Hub解析,然后将此模型识别为法语模型,使用MIT许可证,并在Oscar数据集上进行训练。
完整的模型卡片规范 允许指定语言、许可证、标签、数据集、指标,以及模型在训练时获得的评估结果。