

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Buat Entitas Pelacakan Secara Manual
<a name="lineage-tracking-manual-creation"></a>

Anda dapat secara manual membuat entitas pelacakan untuk properti apa pun untuk membuat tata kelola model, mereproduksi alur kerja, dan memelihara catatan riwayat pekerjaan Anda. Untuk informasi tentang entitas pelacak yang dibuat Amazon SageMaker AI secara otomatis, lihat[Entitas Pelacakan SageMaker yang Dibuat Amazon AI](lineage-tracking-auto-creation.md). Tutorial berikut menunjukkan langkah-langkah yang diperlukan untuk membuat dan mengaitkan artefak secara manual antara pekerjaan SageMaker pelatihan dan titik akhir, lalu melacak alur kerja. 

Anda dapat menambahkan tag ke semua entitas kecuali asosiasi. Tag adalah pasangan nilai kunci arbitrer yang memberikan informasi khusus. Anda dapat memfilter atau mengurutkan daftar atau kueri pencarian berdasarkan tag. Untuk informasi selengkapnya, lihat [Menandai AWS sumber daya](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) di. *Referensi Umum AWS*

[Untuk contoh buku catatan yang menunjukkan cara membuat entitas garis keturunan, lihat [notebook Amazon SageMaker AI Lineage](https://github.com/aws/amazon-sagemaker-examples/tree/master/sagemaker-lineage) di repositori contoh Amazon. SageMaker GitHub ](https://github.com/awslabs/amazon-sagemaker-examples)

**Topics**
+ [Buat Entitas Secara Manual](#lineage-tracking-manual-create)
+ [Melacak Alur Kerja Secara Manual](#lineage-tracking-manual-track)
+ [Batas](#lineage-tracking-manual-track-limits)

## Buat Entitas Secara Manual
<a name="lineage-tracking-manual-create"></a>

Prosedur berikut menunjukkan cara membuat dan mengaitkan artefak antara pekerjaan pelatihan SageMaker AI dan titik akhir. Anda harus melakukan langkah-langkah berikut ini:

**Impor entitas dan asosiasi pelacak**

1. Impor entitas pelacak garis keturunan.

   ```
   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")
   ```

1. Buat artefak input dan 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
   ```

1. Latih model dan dapatkan `trial_component_arn` yang mewakili pekerjaan pelatihan.

1. Kaitkan artefak input dan artefak keluaran dengan pekerjaan pelatihan (komponen percobaan).

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

1. Buat titik akhir inferensi.

   ```
   predictor = mnist_estimator.deploy(initial_instance_count=1,
                                        instance_type='ml.m4.xlarge')
   ```

1. Buat konteks titik akhir.

   ```
   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
   ```

1. Kaitkan pekerjaan pelatihan (komponen percobaan) dan konteks titik akhir.

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

## Melacak Alur Kerja Secara Manual
<a name="lineage-tracking-manual-track"></a>

Anda dapat melacak alur kerja yang dibuat di bagian sebelumnya secara manual.

Mengingat titik akhir Amazon Resource Name (ARN) dari contoh sebelumnya, prosedur berikut menunjukkan cara melacak alur kerja kembali ke kumpulan data yang digunakan untuk melatih model yang diterapkan ke titik akhir. Anda harus melakukan langkah-langkah berikut ini:

**Untuk melacak alur kerja dari titik akhir ke sumber data pelatihan**

1. Impor entitas pelacakan.

   ```
   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")
   ```

1. Dapatkan konteks titik akhir dari ARN titik akhir.

   ```
   endpoint_context_arn = sagemaker_client.list_contexts(
       SourceUri=endpoint_arn)['ContextSummaries'][0]['ContextArn']
   ```

1. Dapatkan komponen uji coba dari asosiasi antara komponen uji coba dan konteks titik akhir.

   ```
   trial_component_arn = sagemaker_client.list_associations(
       DestinationArn=endpoint_context_arn)['AssociationSummaries'][0]['SourceArn']
   ```

1. Dapatkan artefak lokasi data pelatihan dari asosiasi antara komponen uji coba dan konteks titik akhir.

   ```
   train_data_location_artifact_arn = sagemaker_client.list_associations(
       DestinationArn=trial_component_arn, SourceType='Model')['AssociationSummaries'][0]['SourceArn']
   ```

1. Dapatkan lokasi data pelatihan dari artefak lokasi data pelatihan.

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

   Respons:

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

## Batas
<a name="lineage-tracking-manual-track-limits"></a>

Anda dapat membuat asosiasi antara entitas, eksperimen, dan garis keturunan apa pun, kecuali yang berikut ini:
+ Anda tidak dapat membuat asosiasi antara dua entitas eksperimen. Entitas eksperimen terdiri dari eksperimen, uji coba, dan komponen percobaan.
+ Anda dapat membuat asosiasi dengan asosiasi lain.

Terjadi kesalahan jika Anda mencoba membuat entitas yang sudah ada.

**Jumlah maksimum entitas garis keturunan yang dibuat secara manual**
+ Tindakan: 3000
+ Artefak: 6000
+ Asosiasi: 6000
+ Konteks: 500

Tidak ada batasan jumlah entitas garis keturunan yang secara otomatis dibuat oleh Amazon SageMaker AI.