模型卡片生成器界面:为AI模型提供清晰的洞察

社区文章 发布于2024年9月27日

简介

机器学习模型越来越多地被部署,以推动影响从商业策略到医疗保健结果的一切决策。随着这种日益增长的影响力,对透明度和问责制的需求变得至关重要。模型卡片提供了一种结构化的方式来记录模型的能力、公平性和伦理考虑。

在本博客中,我们将探讨 **模型卡片生成器界面**——一个旨在简化这些重要报告创建的工具。模型卡片生成器界面使用户能够轻松创建交互式HTML报告或静态Markdown报告,展示模型的详细洞察,无需任何编码。

Model Card UI GIF

目录

为什么选择模型卡片生成器?

想象一下创建你的终极视频游戏角色。你花费无数小时构建和完善你的角色。你如何展示所有这些努力?你需要一个角色档案——一个详细、视觉吸引力强的摘要,突出优点、缺点以及角色在各种场景中的表现。同样,将模型卡片生成器视为你的机器学习模型的角色档案。它帮助你的受众理解关于你的模型的关键问题——谁以及如何使用模型,模型在哪里表现出色,它的局限性是什么?等等。

Character Card

无论你是与同行开发者、利益相关者还是最终用户分享你的模型,模型卡片生成器都将复杂数据转换为用户友好、交互式、引人入胜的格式,让每个人都能轻松掌握你的机器学习创作的能力和局限性。

运行UI

有两种方式运行模型卡片生成器UI

方法1:本地运行模型卡片UI

  • 步骤1:使用以下命令将XAI GitHub存储库克隆到本地计算机
git clone https://github.com/Intel/intel-xai-tools.git 
  • 步骤2:克隆存储库后,导航到Model Card UI目录
cd intel-xai-tools/model_card_gen/model_card_ui 
  • 步骤3:设置虚拟环境并安装依赖项

运行UI之前,应设置虚拟环境。以下是如何使用virtualenv进行操作

python3 -m virtualenv <virtual environment name> 
source mgc_ui_venv/bin/activate 

将<virtual environment name>替换为您想要的虚拟环境名称。这将创建并激活一个带有您给定名称的新虚拟环境。

接下来,使用以下命令安装所需的Python包

pip install -r requirements.txt 
  • 步骤4:运行Streamlit应用程序

准备好环境并安装依赖项后,现在可以启动Streamlit应用程序

streamlit run home.py 

此命令启动Streamlit服务器。您将看到类似以下内容

Collecting usage statistics. To deactivate, set browser.gatherUsageStats to false. 


You can now view your Streamlit app in your browser. 
Network URL: http://<network-ip>:8501  
External URL: http://<external-ip>:8501 

请注意,<network-ip>和<external-ip>是您服务器实际网络和外部IP地址的占位符。要访问您的Streamlit应用程序,如果您在与服务器相同的机器上,可以使用本地URL,或者如果您从不同的机器访问,则使用适当的网络或外部URL。

方法2:使用Docker运行模型卡片UI

  • 步骤1:将XAI GitHub存储库克隆到本地计算机
git clone https://github.com/Intel/intel-xai-tools.git 
  • 步骤2:克隆存储库后,导航到Model Card UI目录
cd intel-xai-tools/docker  
  • 步骤3:构建Docker镜像

您可以使用以下命令构建Docker镜像

docker compose build model_card_gen_ui 
  • 步骤4:验证Docker镜像

为确保镜像已成功构建,请检查您的Docker镜像

docker images | grep -i mcg-ui 

在您的终端中,您应该会看到类似以下的输出

intel/ai-tools                               intel-ai-safety-1.1.0-mcg-ui       ab0521fc99ef   About an hour ago     2.7GB
  • 步骤5:运行模型卡片生成器UI

最后,要运行模型卡片生成器UI,请使用docker run命令

docker run --rm -p 8051:8051 --name mcg-ui intel/ai-tools:intel-ai-safety-1.1.0-mcg-ui 

此命令运行容器,并通过端口8051访问UI。

  • 步骤6:访问UI

最后,要访问模型卡片生成器UI,请在您的Web浏览器中导航到<HOST_NAME>:8051。将HOST_NAME替换为运行容器的服务器名称或IP地址。

通过使用这两种方法中的任何一种,您可以有效地运行Model Card UI,并开始为您的机器学习模型创建详细的模型卡片。

UI入门

有两种方法填写模型卡片详细信息

  1. 上传现有的JSON格式模型卡片,请参阅JSON文件示例作为JSON模板的参考。上传模型卡片JSON后,字段将自动填充从JSON文件中提取的信息。

  2. 通过从侧边栏选择相应的部分,手动填写您的模型卡片详细信息。

模型卡片生成器部分

模型卡片模板分为4个子部分:*模型详情*、*模型参数*、*注意事项*和*定量分析*或*性能分析*。

注意:每个字段的标题格式如下:<UI字段名>: <JSON变量名>

模型详情:model_details

此部分包含与模型元数据相关的信息。

模型名称name

提供模型的名称。

模型路径path

提供模型存储和可访问的路径。

模型卡片概述overview

提供模型卡片的简要描述或摘要。

模型文档documentation

此部分包含模型的通用信息,包括其用法和版本,以及其实现细节,指明是基于现有架构还是原创设计。任何免责声明或版权也应在此处注明。此外,还应包括用于训练、微调和验证的数据集详情。尽可能提供链接或参考。

模型所有者owners
列出拥有模型的个人或团队。您可以从下拉列表中选择所有者数量。对于每个所有者,在以下一个或两个字段中提供信息

  • 所有者姓名name
    模型所有者的姓名。

  • 所有者联系方式contact
    模型所有者的联系信息。这可以是个人电子邮件地址或团队邮件列表。

模型版本version

模型版本相关信息,包括以下字段

  • 版本名称name
    模型的版本名称。

  • 版本日期date
    模型版本发布的日期。

  • 与上一版本的差异diff
    与上一模型版本的更改。

许可证licenses

列出模型的名称或指定自定义许可证。您可以从下拉列表中选择许可证数量。对于每个许可证,在以下一个或两个字段中提供信息

  • 标识符identifier
    提供标准SPDX许可证标识符,或用于未授权模块的专有标识符。

  • 自定义许可证文本custom_text
    提及模型的自定义许可证。

参考资料references

列出提供更多模型信息的链接。您可以从下拉列表中选择参考资料数量。对于每个参考资料,在以下字段中提供信息

  • 参考资料reference

提供有关模型的更多信息的链接。您可以链接到基础研究、技术文档或对受众可能有用的其他材料。

引用citations

列出如何引用此模型卡片的详细信息。您可以从下拉列表中选择引用数量。对于每个引用,在以下一个或两个字段中提供信息

  • 样式style
    引用样式,例如MLA、APA、Chicago或IEEE。

  • 引用citation
    引用模型。

模型概述图示graphics

说明模型概述的静态图示。

  • 已上传的图示collection
    上传静态图示(PNG格式)以说明模型概述。使用UI界面时,图示或图像名称(name)会自动从上传文件的名称中提取。上传的图像(image)以base64字符串编码。

  • 图示描述description
    提供概述图示集合的描述。

模型参数:model_parameters

此部分包含模型构建的参数详情。这有助于对模型开发过程感兴趣的用户。

模型架构model_architecture

包含模型的架构。

输入数据格式input_format

包含模型输入的数据格式。

输入格式映射input_format_map

以键值对形式列出模型输入的数据格式。

输出数据格式output_format

包含模型输出的数据格式。

输入格式映射output_format_map

以键值对形式列出模型输出的数据格式。

注意事项:considerations

本节详细说明了模型的应用、其可预见的用例以及在模型构建、训练和应用方面应考虑的因素

用户users

提及或列出模型的预期用户,其中可能包括研究人员、开发人员和/或客户。此外,还应考虑提供有关预期与模型交互或受模型影响的下游用户的信息。

用例use_cases

提及或列出模型的预期用例。同时提及超出范围的用例。

局限性limitations

提及或列出模型的已知局限性。这可能包括技术限制或可能降低模型性能的条件。

权衡tradeoffs

描述模型的准确性/性能权衡。

伦理考量ethical_considerations

提及或列出与模型应用相关的伦理风险。您可以从下拉列表中选择伦理风险的数量。对于每种风险,您可以选择在以下一个或两个字段中提供信息

  • 风险名称name
    提及所涉及的伦理风险。

  • 缓解策略mitigation_strategy
    对于提及的风险,提供您已实施或建议用户使用的缓解策略。

性能定量分析:

本节提供有关模型性能指标的详细信息。

性能图示graphics

说明模型性能的静态图示。

  • 已上传的图示collection
    上传说明模型性能的静态图示(PNG格式)。使用UI界面时,图示或图像名称(name)会自动从上传文件的名称中提取。上传的图像(image)以base64字符串编码。

  • 图示描述description
    提供性能图示集合的描述。

模型卡片生成器允许用户以CSV格式上传按不同阈值或组分类的模型性能指标。相应地,它会自动为HTML模型卡片生成交互式图表,或为Markdown模型卡片生成静态图表。要查看可上传到模型卡片生成器的CSV文件格式示例,请点击此处。有关创建这些文件的分步指南,请点击此链接获取更多说明。

Model Card Metrics Graph

按阈值划分的指标:

“按阈值划分的指标”功能允许用户直观地探索指标值如何随不同分类概率阈值而变化。它有助于根据性能权衡选择最佳阈值。此外,图表有助于识别产生极端指标值的阈值,这可能表明过拟合或其他问题,指导用户就模型调优做出明智的决策,以实现其特定目标。整体指标性能图表进一步提供了所有指标在不同阈值下的性能的全面概述。

Model Card Metrics by Threshold Graph

按组划分的指标:

“按组划分的指标”用于按数据中的不同组或子类别组织和显示模型的性能指标。这对于分析模型在数据集不同段或类别中的性能特别有用,这对于理解模型在不同上下文中的行为和识别偏差至关重要。

Model Card Metrics by Group Graph

后续步骤:

现在我们已经了解了如何使用模型卡片生成器UI,请继续尝试我们的界面!创建模型卡片后,您可以根据所选的模板类型查看它,并将其导出为JSON、HTML或Markdown格式。

我们不断为模型卡片生成器添加更多的用例和模板。同时,我们欢迎您对我们的模型卡片界面UI提出反馈,并就扩展模型卡片生成器以满足您的需求提出建议。

为了提高我们工具的可用性,我们计划在公共平台上托管该界面,为用户提供直观的UI来生成模型卡片,完全无需命令行交互。请继续关注此更新,因为我们努力使机器学习模型的文档和理解过程对每个人都更加无缝。

如果您对我们的模型卡片生成器及其UI背后的代码感兴趣,或者如果您想根据自己的目的调整我们的UI,请访问我们的GitHub存储库

结论:

总之,模型卡片对于透明地展示机器学习模型的优点和局限性至关重要,就像详细的角色档案对于理解视频游戏角色至关重要一样。模型卡片生成器界面在制作这些信息丰富的报告中发挥着关键作用,确保个人无论其技术专长如何,都能负责任地欣赏和使用这些先进的AI工具。

致谢

我要感谢我的同事Tyler WilbersDaniel De LeónAbolfazl Shahbazi的贡献以及对本博客的审阅。

社区

注册登录以评论