Tracking-Entitäten manuell erstellen - Amazon SageMaker

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Tracking-Entitäten manuell erstellen

Sie können manuell Tracking-Entitäten für jede Immobilie erstellen. Informationen zu den Nachverfolgungs-Entitäten, die Amazon SageMaker automatisch erstellt, finden Sie unter Amazon SageMaker– Erstellte Tracking-Entitäten.

Sie können allen Entitäten außer Assoziationen Tags hinzufügen. Tags sind beliebige Schlüssel-Wert-Paare, die benutzerdefinierte Informationen bereitstellen. Sie können eine Liste oder eine Suchabfrage nach Stichwörtern filtern oder sortieren. Weitere Informationen finden Sie unter Kennzeichnen Ihrer AWS-Ressourcen im Allgemeine AWS-Referenz.

Ein Beispiel-Notebook, das zeigt, wie Abstammungs-Entitäten erstellt werden, finden Sie im Amazon SageMaker-Lineage-Notebook im Amazon- SageMaker Beispiel- GitHub Repository .

Manuell Entitäten erstellen

Das folgende Verfahren zeigt Ihnen, wie Sie Artefakte zwischen einem Trainingsauftrag und einem SageMaker Endpunkt erstellen und zuordnen. Führen Sie die folgenden Schritte aus:

Importieren Sie Tracking-Entitäten und -Verknüpfungen
  1. Importieren Sie die Entitäten zur Herkunftsverfolgung.

    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")
  2. Erstellen Sie die Eingabe- und Ausgabe-Artefakte.

    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
  3. Schjulen Sie das Modell und holen Sie sich trial_component_arn, der den Schulungsauftrag represäntiert.

  4. Ordnen Sie die Eingabeartefakte und Ausgabeartefakte dem Schulungsauftrag zu (Testkomponente).

    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)
  5. Erstellen Sie den Inferenzendpunkt.

    predictor = mnist_estimator.deploy(initial_instance_count=1, instance_type='ml.m4.xlarge')
  6. Erstellen Sie den Endpunktkontext.

    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
  7. Ordnen Sie den Schulungsauftrag (Testkomponente) und den Endpunktkontext zu.

    association.Association.create( source_arn=trial_component_arn, destination_arn=endpoint_context_arn )

Manuelles Verfolgen eines Workflows

Sie können den im vorherigen Abschnitt erstellten Workflow manuell verfolgen.

Ausgehend vom Endpunkt Amazon Resource Name (ARN) aus dem vorherigen Beispiel zeigt Ihnen das folgende Verfahren, wie Sie den Workflow bis zu den Datensätzen zurückverfolgen können, die zum Schulen des Modells verwendet wurden, das für den Endpunkt bereitgestellt wurde. Führen Sie die folgenden Schritte aus:

Um einen Workflow vom Endpunkt bis zur Schulungsdatenquelle zu verfolgen
  1. Importieren Sie die Tracking-Entitäten.

    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")
  2. Ruft den Endpunktkontext vom Endpunkt-ARN ab.

    endpoint_context_arn = sagemaker_client.list_contexts( SourceUri=endpoint_arn)['ContextSummaries'][0]['ContextArn']
  3. Ruft die Testkomponente aus der Zuordnung zwischen der Testkomponente und dem Endpunktkontext ab.

    trial_component_arn = sagemaker_client.list_associations( DestinationArn=endpoint_context_arn)['AssociationSummaries'][0]['SourceArn']
  4. Ruft das Artefakt zum Standort der Schulungsdaten aus der Assoziation zwischen der Testkomponente und dem Endpunktkontext ab.

    train_data_location_artifact_arn = sagemaker_client.list_associations( DestinationArn=trial_component_arn, SourceType='Model')['AssociationSummaries'][0]['SourceArn']
  5. Ruft den Standort der Schulungsdaten aus dem Artefakt für den Standort der Schulungsdaten ab.

    train_data_location = sagemaker_client.describe_artifact( ArtifactArn=train_data_location_artifact_arn)['Source']['SourceUri'] print(train_data_location)

    Antwort:

    s3://sagemaker-sample-data-us-east-2/mxnet/mnist/train

Einschränkungen

Sie können eine Assoziation zwischen beliebigen Entitäten, Experimenten und Abstammungen erstellen, mit Ausnahme der folgenden:

  • Sie können keine Assoziation zwischen zwei Experimententitäten erstellen. Experimententitäten bestehen aus Experimenten, Versuchen und Versuchskomponenten.

  • Sie können eine Assoziation mit einer anderen Assoziation erstellen.

Wenn Sie versuchen, eine Entität zu erstellen, die bereits vorhanden ist, tritt ein Fehler auf.

Maximale Anzahl manuell erstellter Lineage-Entitäten
  • Aktionen: 3000

  • Artefakte: 6000

  • Zuordnungen: 6000

  • Kontexte: 500

Es gibt keine Begrenzung für die Anzahl der Lineage-Entitäten, die automatisch von Amazon erstellt werden SageMaker.