您可以使用 Microsoft Azure ML Studio 记录有效载荷或反馈数据,并在评估模型时测量已部署模型的性能准确性、运行时偏差检测、可解释性和自动纠偏结果。
以下Microsoft Azure Machine LearningStudio 框架完全支持模型评估:
表 1. 框架支持详细信息
框架 | 问题类型 | 数据类型 |
---|---|---|
本机 | 分类 | 结构化 |
本机 | 回归 | 结构化 |
Azure 设计器容器实例端点支持模型评估。
添加Microsoft AzureML Studio
可以使用以下方法之一配置模型评估,以便与Microsoft AzureML Studio 配合使用:
- 首次添加机器学习提供程序时,可以使用配置界面。 有关更多信息,请参阅指定 Microsoft Azure ML Studio 实例。
- 还可以使用 Python SDK 添加机器学习提供程序。 如果要拥有多个提供程序,必须使用此方法。 有关以编程方式执行此操作的更多信息,请参阅添加 Microsoft Azure 机器学习引擎。
样本 Notebook
以下 Notebook 显示如何使用 Microsoft Azure ML Studio:
进一步探索
Consume an Azure Machine Learning model that is deployed as a web service
指定 Microsoft Azure ML Studio 实例
Watson OpenScale 工具中的第一步是指定 Microsoft Azure ML Studio 实例。 Azure ML Studio 实例是存储 AI 模型和部署的位置。
还可以使用 Python SDK 添加机器学习提供程序。 有关更多信息,请参阅添加 Microsoft Azure 机器学习引擎。
连接 Azure ML Studio 实例
您可以连接到AzureML Studio 实例中的人工智能模型和部署,以进行模型评估。 要连接服务,请转到配置"选项卡,添加机器学习提供程序,然后点击编辑"图标。 除了名称和描述以及环境是预生产还是生产之外,还必须提供以下信息:
- 客户机标识:客户机标识的实际字符串值,用于验证您的身份并认证和授权您对 Azure Studio 发出的调用。
- 客户机私钥:私钥的实际字符串值,用于验证您的身份并认证和授权您对 Azure Studio 发出的调用。
- 租户:您的租户标识对应于您的组织,并且是 Azure AD 的专用实例。 要查找租户标识,请将鼠标悬停在帐户名称上以获取目录和租户标识,或者在 Azure 门户网站中选择 Azure Active Directory > Properties> Directory ID。
- 预订标识:用于唯一识别您的 Microsoft Azure 预订的预订凭证。 每个服务调用的 URI 中的预订 IDforms 部分。 请参阅 How to: Use the portal to create an Azure AD application and service principal that can access resources,以了解有关如何获取 Microsoft Azure 凭证的指示信息。
Microsoft Azure Machine Learning Studio 引擎的有效内容日志记录
添加 Microsoft Azure 机器学习引擎
IBMIBMwatsonx.aiRuntime 引擎绑定为自定义,这意味着这只是元数据;与非IBM watsonx.aiRuntime 服务没有直接集成。
AZURE_ENGINE_CREDENTIALS = {
"client_id": "",
"client_secret": "",
"subscription_id": "",
"tenant": ""
}
wos_client.service_providers.add(
name=SERVICE_PROVIDER_NAME,
description=SERVICE_PROVIDER_DESCRIPTION,
service_type=ServiceTypes.AZURE_MACHINE_LEARNING,
#deployment_space_id = WML_SPACE_ID,
#operational_space_id = "production",
credentials=AzureCredentials(
subscription_id= AZURE_ENGINE_CREDENTIALS['subscription_id'],
client_id = AZURE_ENGINE_CREDENTIALS['client_id'],
client_secret= AZURE_ENGINE_CREDENTIALS['client_secret'],
tenant = AZURE_ENGINE_CREDENTIALS['tenant']
),
background_mode=False
).result
要查看服务预订,请运行以下命令:
client.service_providers.list()
添加 Microsoft Azure ML Studio 预订
通过调整以下代码样本来添加预订:
asset_deployment_details = wos_client.service_providers.list_assets(data_mart_id=data_mart_id, service_provider_id=service_provider_id).result
asset_deployment_details
deployment_id=''
for model_asset_details in asset_deployment_details['resources']:
if model_asset_details['metadata']['guid']==deployment_id:
break
azure_asset = Asset(
asset_id=model_asset_details["entity"]["asset"]["asset_id"],
name=model_asset_details["entity"]["asset"]["name"],
url=model_asset_details["entity"]["asset"]["url"],
asset_type=model_asset_details['entity']['asset']['asset_type'] if 'asset_type' in model_asset_details['entity']['asset'] else 'model',
input_data_type=InputDataType.STRUCTURED,
problem_type=ProblemType.BINARY_CLASSIFICATION
)
deployment_scoring_endpoint = model_asset_details['entity']['scoring_endpoint']
scoring_endpoint = ScoringEndpointRequest(url = model_asset_details['entity']['scoring_endpoint']['url'],request_headers = model_asset_details['entity']['scoring_endpoint']['request_headers'],
credentials = None)
deployment = AssetDeploymentRequest(
deployment_id=model_asset_details['metadata']['guid'],
url=model_asset_details['metadata']['url'],
name=model_asset_details['entity']['name'],
description=model_asset_details['entity']['description'],
deployment_type=model_asset_details['entity']['type'],
scoring_endpoint = scoring_endpoint
)
asset_properties = AssetPropertiesRequest(
label_column="Risk ",
prediction_field='Scored Labels',
probability_fields=['Scored Probabilities'],
training_data_reference=training_data_reference,
training_data_schema=None,
input_data_schema=None,
output_data_schema=None,
)
subscription_details = wos_client.subscriptions.add(
data_mart_id=data_mart_id,
service_provider_id=service_provider_id,
asset=azure_asset,
deployment=deployment,
asset_properties=asset_properties,
background_mode=False
).result
要获取预订列表,请运行以下代码:
subscription_id = subscription_details.metadata.id
subscription_id
details: wos_client.subscriptions.get(subscription_id).result.to_dict()
启用有效内容日志记录
要启用有效内容日志记录,请运行以下代码:
payload_data_set_id = None
payload_data_set_id = wos_client.data_sets.list(type=DataSetTypes.PAYLOAD_LOGGING,
target_target_id=subscription_id,
target_target_type=TargetTypes.SUBSCRIPTION).result.data_sets[0].metadata.id
payload store:
wos_client.data_sets.store_records(data_set_id=payload_data_set_id, request_body=[PayloadRecord(
scoring_id=str(uuid.uuid4()),
request=request_data,
response=response_data,
response_time=460
)])
要获取日志记录详细信息,请运行以下命令:
subscription.payload_logging.get_details()
评分和有效内容日志记录
对模型评分。 有关完整示例,请参阅使用 Azure Machine Learning Studio 引擎 Notebook。
要在有效内容日志记录表中存储请求和响应,请使用以下代码:
records_list = [PayloadRecord(request=request_data, response=response_data, response_time=response_time),
PayloadRecord(request=request_data, response=response_data, response_time=response_time)]
for i in range(1, 10):
records_list.append(PayloadRecord(request=request_data, response=response_data, response_time=response_time))
subscription.payload_logging.store(records=records_list)
对于非 Python 语言,还可以使用 REST API 记录有效内容。
上级主题: 受支持的机器学习引擎,框架和模型