Model Card
了解模型卡是什么、包含哪些内容,以及它如何支持 AI 透明度、评估、治理、风险管理和负责任的部署。
模型卡是一份结构化文档,说明 AI 或机器学习模型的功能、开发和评估方式、适用场景,以及用户应了解的局限性或风险。它就像一份实用的信息说明,供开发者、审核人员、部署人员和受影响的利益相关者参考,帮助实现 AI 透明度,而无需访问源代码或模型内部信息。在此语境中,模型卡与时装模特的“模特资料卡”无关;后者是一份专业作品集。
模型卡包含哪些内容#
一份实用的模型卡会将技术证据与通俗易懂的指引结合起来。内容详略应与模型的影响相匹配:实验性图像分类器可能只需要简短的模型卡,而影响医疗或财务决策的模型则需要更详尽的文档。
常见组成部分包括:
- **用途、负责人和版本:**说明模型名称、负责团队、发布版本、任务、支持的输入和输出,以及联系人或维护信息。
- **训练数据和开发背景:**说明数据来源、收集条件、标注实践、预处理、模型架构、训练流程和重要假设。敏感或专有数据可以概述而不予披露。
- **评估和性能指标:**报告在明确标注的验证集或测试集上的指标。对于目标检测,这些指标可以包括精确率、召回率、平均精度均值、推理延迟,以及各类别或有意义数据子集的结果。
- **预期用途和排除场景:**说明适用场景、预期运行条件、所需的人工监督,以及模型并非为之设计的场景。
- **局限性和风险:**记录已知失效模式、不确定性、隐私问题、安全注意事项以及可能存在的数据集偏差。还应说明错误预测可能造成的后果。
Amazon SageMaker 模型卡文档提供了结构化生命周期记录的示例,涵盖预期用途、训练详情、评估、风险评级和建议。诸如Google DeepMind 模型卡这样的公开集合,展示了模型卡如何向更广泛的受众传达模型能力、安全评估和局限性。
模型卡为何重要#
模型卡能帮助团队在采用或部署模型之前做出明智决策。引人注目的指标可能掩盖模型在罕见类别、特殊环境或特定用户群体上的较差表现。通过记录评估数据集、测试条件和各群体的结果,模型卡能为读者提供解读这些数字所需的背景信息。
模型卡还能支持治理与问责。NIST AI 风险管理框架强调在整个 AI 生命周期中管理可信度,而OECD 透明度和可解释性原则则要求提供有关 AI 能力和局限性的有意义信息。模型卡为实现这些目标提供了一种实用的文档形式。
在组织内部,模型卡能改善数据科学家、产品团队、合规审核人员和运维工程师之间的交接。IBM AI Factsheets等系统通过收集开发、审批、部署和监控各阶段的模型元数据,进一步拓展了这一做法。
相关文档及主要区别#
几种相关文档各有不同用途:
- **数据卡:**说明数据集的来源、构成、收集流程、访问条件、预期用途和局限性。模型卡聚焦于训练后的模型,但应引用相关的数据集文档。
- **模型注册表:**存储和管理模型文件、版本、溯源信息和部署状态。MLflow 模型注册表工作流展示了这一运维角色。模型卡传达模型的含义和风险;注册表则管理模型资产。两者可以关联起来。
- **系统卡:**记录完整的 AI 系统,可能包括多个模型、提示词、检索组件、安全措施、接口和人工流程。模型卡的范围更窄,只关注模型层面。
- **可解释性报告:**分析模型为何生成特定输出。模型卡概述整体行为和局限性,但不能替代针对单次预测的解释。
实际应用#
-
**制造业视觉检测:**工厂可能会部署计算机视觉模型进行缺陷检测。模型卡可以列出支持检测的缺陷类别、相机位置、光照假设、罕见缺陷的检测性能、最小目标尺寸,以及边缘设备上的推理延迟。如果模型在反光光照下经常漏检划痕,记录这一局限性有助于操作人员要求人工复核或收集更多训练图像。
-
**临床影像辅助:**医学影像模型的模型卡可以说明评估期间涵盖的扫描类型、设备、患者群体和医疗机构。模型卡可以报告不同子群体的表现,并明确说明模型输出仅供合格临床医生参考,不能独立用于诊断。缺少这些背景信息,可能导致医院在模型不支持的设备或人群上使用模型,从而增加建议不可靠的风险。
选择第三方模型时也会遇到模型卡。例如,Microsoft Foundry 模型目录文档介绍了包含模型详情、基准测试、支持的数据类型、许可证和部署信息的模型卡。
创建和维护模型卡#
应在项目规划阶段开始编写模型卡,而不是等到部署之后。随着证据产生,及时记录数据集版本、训练设置、评估条件和审核决定。对于Ultralytics YOLO26目标检测模型,可以通过文档化的验证工作流生成评估部分所需的指标:
from ultralytics import YOLO
# Load the documented model version
model = YOLO("yolo26n.pt")
# Evaluate it on a labeled validation dataset
metrics = model.val(data="coco8.yaml")
# Record these results with the dataset and test conditions
print(f"mAP50-95: {metrics.box.map:.3f}")
print(f"mAP50: {metrics.box.map50:.3f}")
print(f"mAP75: {metrics.box.map75:.3f}")只有结合模型版本、数据集、数据划分、图像尺寸、硬件和评估配置,这些数值才有意义。团队可以使用 Ultralytics Platform标注数据集、跟踪训练任务、部署模型并监控端点,同时保留更新模型卡所需的证据。
模型卡应是带版本管理的动态文档。每当模型、数据集、评估流程、部署环境或已知局限性发生变化时,都应更新模型卡。最重要的是,要面向需要决定是否以及如何使用模型的人来撰写,而不仅仅是面向训练模型的团队。









