第 4 章 监控模型 bias


作为数据科学家,您可能需要监控机器学习模型的bias。这意味着监控对于这种算法的监控,这些算法可能会降低模型生成的结果或决策。最重要的是,这种类型的监控可帮助您确保模型不会针对特定的受保护的组或功能进行计费。

Red Hat OpenShift AI 提供了一组指标,可帮助您监控 bias 的模型。您可以使用 OpenShift AI 接口来选择可用的指标,然后配置特定于模型的详细信息,如受保护的属性、特权和非特权组、您要监控的结果,以及 bias 的阈值。然后,您会看到一个计算的值的图表,以了解指定数量的模型推测。

有关特定 bias 指标的更多信息,请参阅支持的 bias 指标

4.1. 创建一个 bias 指标

要监控部署的模型 bias,您必须首先创建 bias 指标。当您创建 bias 指标时,您可以指定与模型相关的详细信息,如受保护的属性、特权和非特权组、模型结果和您要监控的值,以及 bias 可接受的阈值。

有关特定 bias 指标的详情,请参考 支持的 bias 指标

有关 TrustyAI 指标的完整列表,请参阅 TrustyAI 服务 API

您可以使用 OpenShift AI 仪表板或使用 OpenShift 命令行界面(CLI)为模型创建一个 bias 指标。

4.1.1. 使用仪表板创建一个 bias 指标

您可以使用 OpenShift AI 仪表板为模型创建一个 bias 指标。

先决条件

  • 熟悉 OpenShift AI 支持的 bias 指标 以及如何解释它们。
  • 您熟悉特定的数据集模式,并了解输入和输出的名称和含义。
  • 您的 OpenShift 集群管理员作为用户添加到 OpenShift 集群,并为包含部署模型的数据科学项目安装了 TrustyAI 服务。
  • 为您的数据科学项目设置 TrustyAI,如 为项目设置 TrustyAI 中所述。

流程

  1. 可选: 要设置 TRUSTY_ROUTE 变量,请按照以下步骤操作。

    1. 在终端窗口中,登录部署了 OpenShift AI 的 OpenShift 集群。

      oc login
      Copy to Clipboard Toggle word wrap
    2. TRUSTY_ROUTE 变量设置为 TrustyAI 服务 pod 的外部路由。

      TRUSTY_ROUTE=https://$(oc get route/trustyai-service --template={{.spec.host}})
      Copy to Clipboard Toggle word wrap
  2. 在 OpenShift AI 仪表板的左侧菜单中,单击 Model Serving
  3. Deployed models 页面中,从下拉列表中选择您的项目。
  4. 点您要为其配置 bias 指标的模型名称。
  5. 在模型的指标页面上,单击 Model bias 选项卡。
  6. 单击 Configure
  7. Configure bias metrics 对话框中,完成以下步骤以配置 bias 指标:

    1. Metric name 字段中,为您的 bias 指标输入唯一名称。请注意,以后您无法更改此指标的名称。
    2. Metric type 列表中,选择 OpenShift AI 中提供的一个指标类型。
    3. Protected 属性 字段中,在您要监控的模型中键入要监控的属性名称。

      提示

      您可以使用 curl 命令查询元数据端点,并查看输入属性名称和值。例如: curl -H "Authorization: Bearer $TOKEN" $TRUSTY_ROUTE/info | jq ".[0].data.inputSchema"

    4. Privileged value 字段中,为您指定的 protected 属性输入特权组的名称。
    5. Unprivileged value 字段中,为您指定的 protected 属性输入非特权组的名称。
    6. Output 字段中,键入您要监控的模型结果的名称。

      提示

      您可以使用 curl 命令查询元数据端点,并查看输出属性名称和值。例如: curl -H "Authorization: Bearer $TOKEN" $TRUSTY_ROUTE/info | jq ".[0].data.outputSchema"

    7. Output value 字段中,键入您要监控 bias 的结果值。
    8. Violation threshold 字段中,输入您选择的指标类型的 bias 阈值。此阈值定义指定指标从指标公平值到多少,然后模型被视为计费。
    9. Metric batch size 字段中,键入 OpenShift AI 包括每次计算指标时的模型 inferences 数。
  8. 确保您输入的值正确。

    注意

    您不能在创建模型后编辑模型 bias 指标配置。相反,您可以复制指标,然后编辑(配置)它;但是,原始指标的历史记录不会应用到副本。

  9. 单击 Configure

验证

  • Bias 指标配置 页面显示您为模型配置的 bias 指标。

后续步骤

要查看指标,请在 Bias 指标配置 页面中,单击右上角的 View metrics

4.1.2. 使用 CLI 创建 bias 指标

您可以使用 OpenShift 命令行界面(CLI)为模型创建 bias 指标。

先决条件

  • 熟悉 OpenShift AI 支持的 bias 指标 以及如何解释它们。
  • 您熟悉特定的数据集模式,并了解输入和输出的名称和含义。
  • 您的 OpenShift 集群管理员作为用户添加到 OpenShift 集群,并为包含部署模型的数据科学项目安装了 TrustyAI 服务。
  • 为您的数据科学项目设置 TrustyAI,如 为项目设置 TrustyAI 中所述。

流程

  1. 在终端窗口中,登录部署了 OpenShift AI 的 OpenShift 集群。

    oc login
    Copy to Clipboard Toggle word wrap
  2. TRUSTY_ROUTE 变量设置为 TrustyAI 服务 pod 的外部路由。

    TRUSTY_ROUTE=https://$(oc get route/trustyai-service --template={{.spec.host}})
    Copy to Clipboard Toggle word wrap
  3. (可选)获取 TrustyAI 服务端点和有效负载的完整列表。

    curl -H "Authorization: Bearer $TOKEN" --location $TRUSTY_ROUTE/q/openapi
    Copy to Clipboard Toggle word wrap
  4. 使用 POST /metrics/group/fairness/spd/request 来调度重复的 bias 监控指标,语法和有效负载结构:

    语法

    curl -sk -H "Authorization: Bearer $TOKEN" -X POST --location $TRUSTY_ROUTE/metrics/spd/request \
     --header 'Content-Type: application/json' \
     --data <payload>
    Copy to Clipboard Toggle word wrap

    有效负载结构

    modelId
    要查询的模型的名称。
    protectedAttribute
    可区分您要检查的组的特性名称。
    privilegedAttribute
    怀疑更倾向于(混合)课程。
    unprivilegedAttribute
    怀疑无疑(假假)类。
    outcomeName
    提供您要检查输出的输出名称。
    favorableOutcome
    描述可替代或所需模型预测的 result Name 输出值。
    batchSize
    计算中包含的前差异数量。

例如:

curl -sk -H "Authorization: Bearer $TOKEN" -X POST --location $TRUSTY_ROUTE/metrics/group/fairness/spd/ \
     --header 'Content-Type: application/json' \
     --data "{
                 \"modelId\": \"demo-loan-nn-onnx-alpha\",
                 \"protectedAttribute\": \"Is Male-Identifying?\",
                 \"privilegedAttribute\": 1.0,
                 \"unprivilegedAttribute\": 0.0,
                 \"outcomeName\": \"Will Default?\",
                 \"favorableOutcome\": 0,
                 \"batchSize\": 5000
             }"
Copy to Clipboard Toggle word wrap

验证

bias 指标请求应返回类似如下的输出:

{
   "timestamp":"2023-10-24T12:06:04.586+00:00",
   "type":"metric",
   "value":-0.0029676404469311524,
   "namedValues":null,
   "specificDefinition":"The SPD of -0.002968 indicates that the likelihood of Group:Is Male-Identifying?=1.0 receiving Outcome:Will Default?=0 was -0.296764 percentage points lower than that of Group:Is Male-Identifying?=0.0.",
   "name":"SPD",
   "id":"d2707d5b-cae9-41aa-bcd3-d950176cbbaf",
   "thresholds":{"lowerBound":-0.1,"upperBound":0.1,"outsideBounds":false}
}
Copy to Clipboard Toggle word wrap

specificDefinition 字段可帮助您了解这些指标值的真实解释。在本例中,模型在 Male-Identifying? 字段中公平,正结果的速率仅与大约 -0.3% 有所不同。

4.1.3. 复制一个 bias 指标

如果要编辑现有指标,您可以在 OpenShift AI 接口中复制(复制),然后编辑副本中的值。但请注意,原始指标的历史记录不会应用到副本。

先决条件

  • 熟悉 OpenShift AI 支持的 bias 指标 以及如何解释它们。
  • 您熟悉特定的数据集模式,并了解输入和输出的名称和含义。
  • 存在一个您要复制的现有 bias 指标。

流程

  1. 在 OpenShift AI 仪表板的左侧菜单中,单击 Model Serving
  2. Deployed model 页面中,单击带有您要重复的 bias 指标的模型 名称。
  3. 在模型的指标页面上,单击 Model bias 选项卡。
  4. 单击 Configure
  5. Bias 指标配置 页面中,点您要复制的指标旁的操作菜单(rules),然后点 Duplicate
  6. Configure bias 指标 对话框中,按照以下步骤操作:

    1. Metric name 字段中,为您的 bias 指标输入唯一名称。请注意,以后您无法更改此指标的名称。
    2. 根据需要更改字段的值。有关这些字段的描述,请参阅使用 仪表板创建双向指标
  7. 确保您输入的值正确,然后单击 Configure

验证

  • Bias 指标配置 页面显示您为模型配置的 bias 指标。

后续步骤

要查看指标,请在 Bias 指标配置 页面中,单击右上角的 View metrics

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat