Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Creazione manuale di entità di monitoraggio
È possibile creare manualmente entità di tracciamento per qualsiasi proprietà per stabilire un modello di governance, riprodurre il flusso di lavoro e conservare una registrazione della cronologia lavorativa. Per informazioni sulle entità di tracciamento create SageMaker automaticamente da Amazon, consultaAmazon SageMaker: entità di tracciamento create. Il seguente tutorial illustra i passaggi necessari per creare e associare manualmente gli elementi tra un processo di SageMaker formazione e un endpoint, quindi tenere traccia del flusso di lavoro.
Puoi aggiungere tag a tutte le entità tranne le associazioni. I tag sono coppie chiave-valore arbitrarie che forniscono informazioni personalizzate. È possibile filtrare o ordinare un elenco o una query di ricerca per tag. Per ulteriori informazioni, consulta AWS Taggare le risorse in. Riferimenti generali di AWS
Per un notebook di esempio che dimostra come creare entità di derivazione, consulta il notebook Amazon SageMaker Lineage
Creazione manuale di entità
La procedura seguente mostra come creare e associare artefatti tra un processo di formazione e un SageMaker endpoint. Completa la seguente procedura:
Importazione di entità e associazioni di monitoraggio
-
Importa le entità di monitoraggio del lineage.
import sys !{sys.executable} -m pip install -q sagemaker from sagemaker import get_execution_role from sagemaker.session import Session from sagemaker.lineage import context, artifact, association, action import boto3 boto_session = boto3.Session(region_name=
region
) sagemaker_client = boto_session.client("sagemaker") -
Crea gli artefatti di input e output.
code_location_arn = artifact.Artifact.create( artifact_name='source-code-location', source_uri='s3://...', artifact_type='code-location' ).artifact_arn # Similar constructs for train_data_location_arn and test_data_location_arn model_location_arn = artifact.Artifact.create( artifact_name='model-location', source_uri='s3://...', artifact_type='model-location' ).artifact_arn
-
Addestra il modello e ottieni
trial_component_arn
che rappresenta il processo di addestramento. -
Associa gli artefatti di input e gli artefatti di output al processo di addestramento (componente di prova).
input_artifacts = [code_location_arn, train_data_location_arn, test_data_location_arn] for artifact_arn in input_artifacts: try: association.Association.create( source_arn=artifact_arn, destination_arn=trial_component_arn, association_type='ContributedTo' ) except: logging.info('association between {} and {} already exists', artifact_arn, trial_component_arn) output_artifacts = [model_location_arn] for artifact_arn in output_artifacts: try: association.Association.create( source_arn=trial_component_arn, destination_arn=artifact_arn, association_type='Produced' ) except: logging.info('association between {} and {} already exists', artifact_arn, trial_component_arn)
-
Crea l'endpoint di inferenza.
predictor = mnist_estimator.deploy(initial_instance_count=1, instance_type='ml.m4.xlarge')
-
Crea il contesto dell'endpoint.
from sagemaker.lineage import context endpoint = sagemaker_client.describe_endpoint(EndpointName=predictor.endpoint_name) endpoint_arn = endpoint['EndpointArn'] endpoint_context_arn = context.Context.create( context_name=predictor.endpoint_name, context_type='Endpoint', source_uri=endpoint_arn ).context_arn
-
Associa il processo di addestramento (componente di prova) e il contesto dell'endpoint.
association.Association.create( source_arn=trial_component_arn, destination_arn=endpoint_context_arn )
Monitoraggio manuale di un flusso di lavoro
È possibile monitorare manualmente il flusso di lavoro creato nella sezione precedente.
Dato l'endpoint Amazon Resource Name (ARN) dell'esempio precedente, la procedura seguente mostra come tracciare il flusso di lavoro fino ai set di dati utilizzati per addestrare il modello distribuito sull'endpoint. Completa la seguente procedura:
Monitorare un flusso di lavoro dall'endpoint all'origine dati di addestramento
-
Importa le entità di monitoraggio.
import sys !{sys.executable} -m pip install -q sagemaker from sagemaker import get_execution_role from sagemaker.session import Session from sagemaker.lineage import context, artifact, association, action import boto3 boto_session = boto3.Session(region_name=region) sagemaker_client = boto_session.client("sagemaker")
-
Ottieni il contesto dell'endpoint dall'endpoint. ARN
endpoint_context_arn = sagemaker_client.list_contexts( SourceUri=endpoint_arn)['ContextSummaries'][0]['ContextArn']
-
Ottieni il componente di prova dall'associazione tra il componente di prova e il contesto dell'endpoint.
trial_component_arn = sagemaker_client.list_associations( DestinationArn=endpoint_context_arn)['AssociationSummaries'][0]['SourceArn']
-
Ottieni l'artefatto relativo alla posizione dei dati di addestramento dall'associazione tra il componente di prova e il contesto dell'endpoint.
train_data_location_artifact_arn = sagemaker_client.list_associations( DestinationArn=trial_component_arn, SourceType='Model')['AssociationSummaries'][0]['SourceArn']
-
Ottieni la posizione dei dati di addestramento dall'artefatto relativo alla posizione dei dati di addestramento.
train_data_location = sagemaker_client.describe_artifact( ArtifactArn=train_data_location_artifact_arn)['Source']['SourceUri'] print(train_data_location)
Risposta:
s3://sagemaker-sample-data-us-east-2/mxnet/mnist/train
Limiti
È possibile creare un'associazione tra qualsiasi entità, esperimento e lineage, ad eccezione di quanto segue:
-
Non è possibile creare un'associazione tra due entità esperimento. Le entità esperimento sono costituite da esperimenti, prove e componenti di prova.
-
È possibile creare un'associazione con un'altra associazione.
Se si tenta di creare un'entità già esistente, si verifica un errore.
Numero massimo di entità di lineage create manualmente
Operazioni: 3000
Artefatti: 6000
Associazioni: 6000
Contesti: 500
Non c'è limite al numero di entità derivate automaticamente da Amazon SageMaker.