0 / 0
Go back to the English version of the documentation
Amazon SageMaker 框架
Last updated: 2024年12月11日
Amazon SageMaker 框架

您可以使用 Amazon SageMaker 记录有效载荷和反馈数据,并测量性能准确性、偏差检测、可解释性和自动纠偏功能,以便进行模型评估。

模型评估支持以下 Amazon SageMaker 框架:

表 1. 框架支持详细信息

框架支持详细信息
框架 问题类型 数据类型
本机 分类 结构化
本机 回归1 结构化

1对回归模型的支持不包含漂移量级。

添加亚马逊SageMaker

您可以使用以下方法之一配置模型评估,以便与 AmazonSageMaker配合使用:

样本 Notebook

以下 Notebook 显示如何使用 Amazon SageMaker:

指定 Amazon SageMaker ML 服务实例

配置模型评估的第一步是指定 AmazonSageMaker服务实例。 Amazon SageMaker 服务实例是存储 AI 模型和部署的位置。

连接 Amazon SageMaker 服务实例

亚马逊SageMaker服务实例中的人工智能模型和部署。 要连接服务,请转到配置"配置选项卡图标选项卡,添加机器学习提供程序,然后点击编辑"将显示配置选项卡图标。图标。 除了名称和描述以及环境是预生产还是生产之外,还必须提供特定于此服务实例类型的以下信息:

  • 访问密钥标识:AWS 访问密钥标识 aws_access_key_id,用于验证您的身份并认证和授权您对 AWS 发出的调用。
  • 私密访问密钥:AWS 私密访问密钥 aws_secret_access_key,用于验证您的身份并认证和授权您对 AWS 发出的调用。
  • 区域:输入在其中创建访问密钥标识的区域。 密钥将在其创建所在的区域中存储和使用,而不能传输到其他区域。

现在您已准备好选择已部署模型并配置监视器。 您部署的模型会列在Insights仪表板上,您可以单击 "添加到仪表板"。 选中要监视的部署,然后单击配置

有关更多信息,请参阅配置监视器

Amazon SageMaker 机器学习引擎的有效内容日志记录

添加 Amazon SageMaker 机器学习引擎

IBMIBMwatsonx.aiRuntime 引擎通过使用元数据绑定为自定义引擎。 无法IBMIBMwatsonx.aiRuntime 服务直接集成。

SAGEMAKER_ENGINE_CREDENTIALS = {
                   'access_key_id':””,
                   'secret_access_key':””,
                   'region': '}

wos_client.service_providers.add(
        name="AWS",
        description="AWS Service Provider",
        service_type=ServiceTypes.AMAZON_SAGEMAKER,
        credentials=SageMakerCredentials(
            access_key_id=SAGEMAKER_ENGINE_CREDENTIALS['access_key_id'],
            secret_access_key=SAGEMAKER_ENGINE_CREDENTIALS['secret_access_key'],
            region=SAGEMAKER_ENGINE_CREDENTIALS['region']
        ),
        background_mode=False
    ).result

要查看服务预订,请运行以下代码:

client.service_providers.list()

SageMaker ML 绑定

添加 Amazon SageMaker ML 预订

要添加预订,请运行以下代码:

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='684e35eee8a479470cee05983e1f9d64'
for model_asset_details in asset_deployment_details['resources']:
    if model_asset_details['metadata']['guid']==deployment_id:
        break
 
  
aws_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',
        problem_type=ProblemType.BINARY_CLASSIFICATION,
        input_data_type=InputDataType.STRUCTURED,
    )
 
from ibm_watson_openscale.base_classes.watson_open_scale_v2 import ScoringEndpointRequest
deployment_scoring_endpoint = model_asset_details['entity']['scoring_endpoint']
scoring_endpoint = ScoringEndpointRequest(url = model_asset_details['entity']['scoring_endpoint']['url'] )
 
deployment = AssetDeploymentRequest(
        deployment_id=model_asset_details['metadata']['guid'],
        url=model_asset_details['metadata']['url'],
        name=model_asset_details['entity']['name'],
        #description="asset['entity']['description']",
        deployment_type=model_asset_details['entity']['type'],
        scoring_endpoint =  scoring_endpoint
    )
 
asset_properties = AssetPropertiesRequest(
        label_column="Risk",
        prediction_field='predicted_label',
        probability_fields=['score'],
        training_data_reference=training_data_reference,
        training_data_schema=None,
        input_data_schema=None,
        output_data_schema=None,
        feature_fields=feature_columns,
        categorical_fields=categorical_columns
    )
 
subscription_details = wos_client.subscriptions.add(
        data_mart_id=data_mart_id,
        service_provider_id=service_provider_id,
        asset=aws_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()

启用有效内容日志记录

要启用有效内容日志记录,请运行以下命令:

request_data = {'fields': feature_columns, 
                'values': [[payload_values]]}

要获取日志记录详细信息,请运行以下命令:

response_data = {'fields': list(result['predictions'][0]),
                 'values': [list(x.values()) for x in result['predictions']]}

评分和有效内容日志记录

要在有效内容日志记录表中存储请求和响应,请运行以下代码:

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
)])
 

对于非 Python 语言,还可以使用 REST API 记录有效内容。

上级主题: 受支持的机器学习引擎,框架和模型

Generative AI search and answer
These answers are generated by a large language model in watsonx.ai based on content from the product documentation. Learn more