0 / 0

Framework Amazon SageMaker

Ultimo aggiornamento: 21 gen 2025
Framework Amazon SageMaker

È possibile utilizzare Amazon SageMaker per registrare i dati di payload e feedback e per misurare l'accuratezza delle prestazioni, il rilevamento dei bias, la spiegabilità e la funzione di auto-debias per le valutazioni dei modelli.

I seguenti framework Amazon SageMaker sono supportati per le valutazioni dei modelli:

Tabella 1. Dettagli supporto framework

Dettagli supporto framework
Framework Tipo di problema Tipo di dati
Nativo Classificazione Structured
Nativo Regressione1 Structured

1Il supporto per i modelli di regressione non include l'evidenziazione della deviazione.

Aggiunta di Amazon SageMaker

È possibile configurare le valutazioni dei modelli per lavorare con Amazon SageMaker utilizzando uno dei seguenti metodi:

Notebook di esempio

I seguenti notebook mostrano come operare con Amazon SageMaker:

Specifica di un'istanza del servizio Amazon SageMaker ML

Il primo passo per configurare le valutazioni dei modelli è specificare un'istanza del servizio Amazon SageMaker. L'istanza del servizio Amazon SageMaker è il luogo dove si memorizzano i modelli AI e le distribuzioni.

Connessione dell'istanza del servizio Amazon SageMaker

Modelli e implementazioni AI in un'istanza del servizio Amazon SageMaker. Per collegare il servizio, andare alla scheda Configura 'L'icona della scheda di configurazione, aggiungere un provider di apprendimento automatico e fare clic sull'icona Modifica 'L'icona della scheda di configurazione visualizza.. Oltre ad un nome e una descrizione e se l'ambiente Preproduzione o Produzione, è necessario fornire le seguenti informazioni specifiche per questo tipo di istanza di servizio:

  • ID chiave di accesso: l'ID chiave di accesso AWS, aws_access_key_id, che verifica chi è l'utente e autentica e autorizza le chiamate che si fanno a AWS.
  • Chiave di accesso segreta: la chiave di accesso segreta AWS, aws_secret_access_key, che è richiesta per verificare chi è l'utente e per autenticare e autorizzare le chiamate che si fanno a AWS.
  • Regione: immettere la regione in cui è stato creato l'ID chiave di accesso. Le chiavi sono memorizzate e utilizzate nella regione in cui sono state create e non possono essere trasferite in un'altra regione.

Ora si è pronti per selezionare i modelli distribuiti e configurare i monitor. I modelli distribuiti sono elencati nella dashboard Insights, dove è possibile fare clic su Aggiungi alla dashboard. Selezionare le distribuzioni che si desidera monitorare e fare clic su Configura.

Per ulteriori informazioni, consultare Configura monitor.

Registrazione del payload con il motore di machine learning Amazon SageMaker

Aggiungi il tuo motore di machine learning Amazon SageMaker

Un motore Runtime watsonx.ai IBM IBM è vincolato come Custom utilizzando i metadati. Non è possibile un'integrazione diretta con il servizio watsonx.ai Runtime non 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

Per vedere la sottoscrizione del servizio, eseguire il seguente codice:

client.service_providers.list()

Bind SageMaker ML

Aggiungere la sottoscrizione Amazon SageMaker ML

Per aggiungere l'abbonamento, eseguire il seguente codice:

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

Per ottenere l'elenco di abbonamento, eseguire il seguente comando:

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

Abilitare la registrazione del payload

Per abilitare la registrazione del payload, eseguire il seguente comando:

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

Per ottenere i dettagli di registrazione, eseguire il seguente comando:

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

Calcolare il punteggio e registrare il payload

  • Calcolare il punteggio del modello.

Per memorizzare la richiesta e la risposta nella tabella di registrazione del payload, eseguire il seguente codice:

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

Per le lingue diverse da Pythonè possibile anche registrare payload utilizzando un'API REST.

Argomento principale: Motori di machine learning supportati, quadri e modelli