模型风险评估引擎
模型风险评估引擎通过计算与风险维度相关的指标来衡量基础模型的风险,帮助您确定能够实现风险容忍度目标的最佳模型。
模型风险评估引擎是 ibm-watsonx-gov Python SDK 中的一个模块,可以帮助您了解生成式人工智能的风险,并制定有效的风险测量和缓解方法。 该模块有助于对基础模型进行定量风险评估,并支持对 watsonx.ai 大型语言模型和其他供应商提供的外部模型进行评估。
评估计算以下风险维度的指标:
- 有毒物质排放
- 有害输出
- 漏油
- 幻觉
- 提示注入
- 越狱
- 输出偏差
- 有害代码生成
风险维度是指在使用生成人工智能资产和机器学习模型时可能出现的风险集合。 更多信息,请参阅 《人工智能风险地图集 》。 可用的风险维度是风险地图中可用风险的一个子集。
您必须提供 watsonx.ai 凭证,以便计算越狱、提示信息泄露、有害代码生成和提示信息注入的风险指标。 对于每个风险维度,使用一个或多个标准数据集来评估风险水平。
风险评估完成后,您可以将结果保存在“治理”控制台中,或者将结果导出为PDF报告,其中汇总了计算出的指标。
您可以使用模型风险评估引擎完成以下任务:
- 使用 watsonx.ai 作为推理引擎计算指标。
- 在 watsonx.ai 中计算基础模型的风险指标。
- 通过为任何模型实施自己的评分函数并对其进行评估,计算不在 watsonx.ai 中的基础模型的指标。
- 在治理控制台( OpenPages )中存储计算指标。
- 从治理控制台( OpenPages )检索计算指标。
- 生成计算指标的PDF报告。
- 以表格或图表的形式在笔记本单元格中显示指标。
要使用模型风险评估模块,必须安装 ibm-watsonx-gov Python SDK 并进行特定设置:
pip install "ibm-watsonx-gov[mre]"
输入
使用模型风险评估引擎时,您可以指定以下输入参数:
| 参数 | 描述 |
|---|---|
wx_gc_configuration (可选) |
用于存储计算指标结果的治理控制台配置。 将评估结果保存在治理控制台中,可避免在下次评估时重新计算指标。 评估引擎会检索已保存的指标。 |
foundation_model_name |
正在评估的基金会模型的名称。 |
risk_dimensions (可选) |
需要评估的风险列表。 如果没有提供,则对所有已知风险进行评估。 |
max_sample_size (可选) |
用于评估的最大数据实例数。 指定较小的值(例如50)以加快评估速度,或将其设置为“无”,以使用所有数据进行评估,这会花费更长的时间,但能确保获得有意义的结果。 |
model_details |
基础车型详情。 值可以是 WxAIFoundationModel 或 CustomFoundationModel ,其中 WxAIFoundationModel 是一个对象,它代表调用 watsonx.ai 推理的逻辑,而 CustomFoundationModel 是一个对象,它包含调用外部LLM逻辑的逻辑。 |
pdf_report_output_path (可选) |
用户指定的文件路径,用于保存生成的PDF报告。 |
输出
模型风险评估引擎可以帮助您计算每个风险维度的指标作为输出。 该输出结果可以保存在笔记本单元格中,存储在 OpenPages, 中,或导出为PDF格式的报告。 模型风险评估引擎计算以下风险维度的指标:
| 风险 | 描述 |
|---|---|
| 有毒物质排放 | 该模型产生仇恨、辱骂、亵渎(HAP)或淫秽内容。 |
| 有害输出 | 该模型可能生成导致人身伤害的语言,或者包含明显暴力、隐含危险或其他间接不安全言论的语言。 |
| 幻觉 | 关于模型训练数据或输入的事实不准确或不真实的内容。 这种风险有时也被称为缺乏忠诚或缺乏根基。 |
| 提示注入 | 一种攻击,它迫使生成模型将提示作为输入,通过操纵提示中的结构、指令或信息来产生意想不到的输出。 |
| 越狱 | 一种试图突破模型中为执行受限操作而设置的护栏的攻击。 |
| 输出偏差 | 生成的内容可能对某些群体或个人有失公允。 |
| 漏油 | 尝试提取模型的系统提示 |
| 有害的代码生成 | 模型生成的代码可能会造成损害或无意中影响其他系统。 |
示例
您可以使用模型风险评估引擎进行评估并生成结果,如下例所示:
第一步:配置
创建模型风险评估引擎配置:
from ibm_watsonx_gov.config.model_risk_configuration import ModelRiskConfiguration, WxGovConsoleConfiguration
configuration = ModelRiskConfiguration(
model_details = model_details,
risk_dimensions=risk_dimensions,
max_sample_size=max_sample_size,
pdf_report_output_path=pdf_report_output_path,
# wx_gc_configuration=wx_gc_configuration, # uncomment this line if the result should be pushed to Governance Console (OpenPages)
)
第二步:运行评估
进行风险评估:
from ibm_watsonx_gov.evaluators.model_risk_evaluator import ModelRiskEvaluator
from ibm_watsonx_gov.clients.api_client import APIClient
from ibm_watsonx_gov.credentials import Credentials
wxgov_client = APIClient(credentials=Credentials(api_key=""))
evaluator = ModelRiskEvaluator(
configuration=config, api_client=wxgov_client)
result = evaluator.evaluate()
result.to_json()
第三步:生成PDF报告
将评估数据和指标导出为PDF报告:
evaluator.download_model_risk_report()
更多信息,请参阅模型风险评估引擎笔记本。