0 / 0
Volver a la versión inglesa de la documentación
Infraestructuras de Amazon SageMaker
Última actualización: 21 ene 2025
Infraestructuras de Amazon SageMaker

Puede utilizar Amazon SageMaker para registrar datos de carga útil y retroalimentación, y para medir la precisión del rendimiento, la detección de sesgos, la explicabilidad y la función de autodebias para las evaluaciones de modelos.

Los siguientes marcos de Amazon SageMaker son compatibles con las evaluaciones de modelos:

Tabla 1. Detalles del soporte de las infraestructuras

Detalles del soporte de las infraestructuras
Infraestructura Tipo de problema Tipo de datos
Nativa Clasificación Estructurada
Nativa Regresión1 Estructurada

1El soporte de la regresión no incluye la magnitud de la desviación.

Añadir Amazon SageMaker

Puede configurar las evaluaciones de modelos para que funcionen con Amazon SageMaker utilizando uno de los métodos siguientes:

Cuadernos de ejemplo

Los siguientes cuadernos muestran cómo trabajar con Amazon SageMaker:

Especificación de una instancia de servicio de Amazon SageMaker ML

El primer paso para configurar las evaluaciones de modelos es especificar una instancia de servicio de Amazon SageMaker. La instancia de servicio de Amazon SageMaker es dónde se almacenan los despliegues y los modelos de IA.

Conecte su instancia de servicio de Amazon SageMaker

Modelos y despliegues de IA en una instancia de servicio de Amazon SageMaker. Para conectar su servicio, vaya a la pestaña Configurar ' El icono de pestaña de configuración, añada un proveedor de aprendizaje automático y haga clic en el icono Editar ' Se visualiza el icono de pestaña de configuración.. Además de especificar un nombre y una descripción y si es un entorno entorno de Preproducción o de Producción, debe proporcionar la información siguiente que es específica de este tipo de instancia de servicio:

  • ID de clave de acceso: El ID de clave de acceso de AWS, aws_access_key_id, que verifica quién es y autentica y autoriza las llamadas que realiza a AWS.
  • Clave de acceso secreta: Su clave de acceso secreta de AWS, aws_secret_access_key, que se requiere para verificar quién es y para autenticar y autorizar las llamadas que realiza a AWS.
  • Región: Especifique la región donde se ha creado su ID de clave de acceso. Las claves se almacenan y utilizan en la región en la que se han creado y no se pueden transferir a otra región. 

Ahora está preparado para seleccionar los modelos desplegados y configurar los supervisores. Los modelos desplegados aparecen en el panel de control de Insights, donde puede hacer clic en Añadir al panel de control. Seleccione los despliegues que desea supervisar y pulse Configurar.

Para obtener más información, consulte Configurar supervisores.

Registro de carga útil con el motor de aprendizaje automático de Amazon SageMaker

Añadir el motor de aprendizaje automático de Amazon SageMaker

Un motor de ejecución watsonx.ai que IBM sea de IBM se vincula como personalizado mediante metadatos. No es posible la integración directa con el servicio watsonx.ai Runtime que IBM sea de IBM.

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

Para ver la suscripción de servicio, ejecute el código siguiente:

client.service_providers.list()

Enlace de SageMaker ML

Añadir suscripción de aprendizaje automático de Amazon SageMaker

Para añadir la suscripción, ejecute el código siguiente:

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

Para obtener la lista de suscripciones, ejecute el mandato siguiente:

subscription_id = subscription_details.metadata.id
subscription_id
 
details: wos_client.subscriptions.get(subscription_id).result.to_dict()

Habilitar registro de carga útil

Para habilitar el registro de carga útil, ejecute el mandato siguiente:

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

Para obtener los detalles del registro, ejecute el mandato siguiente:

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

Puntuación y registro de carga útil

  • Puntúe el modelo.

Para almacenar la solicitud y la respuesta en la tabla de registro de carga útil, ejecute el siguiente código:

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

Para los idiomas distintos de Python, también puede registrar la carga útil utilizando una API REST.

Tema principal: Motores, infraestructuras y modelos de aprendizaje automático soportados