View a markdown version of this page

Mengkompilasi Model (AWS Command Line Interface) - Amazon SageMaker AI

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

Mengkompilasi Model (AWS Command Line Interface)

Bagian ini menunjukkan cara mengelola pekerjaan kompilasi Amazon SageMaker Neo untuk model pembelajaran mesin menggunakan AWS Command Line Interface (CLI). Anda dapat membuat, mendeskripsikan, menghentikan, dan membuat daftar pekerjaan kompilasi.

  1. Buat Pekerjaan Kompilasi

    Dengan operasi CreateCompilationJob API, Anda dapat menentukan format input data, bucket S3 tempat menyimpan model Anda, bucket S3 untuk menulis model yang dikompilasi, dan perangkat atau platform perangkat keras target.

    Tabel berikut menunjukkan cara mengkonfigurasi CreateCompilationJob API berdasarkan apakah target Anda adalah perangkat atau platform.

    Device Example
    { "CompilationJobName": "neo-compilation-job-demo", "RoleArn": "arn:aws:iam::<your-account>:role/service-role/AmazonSageMaker-ExecutionRole-yyyymmddThhmmss", "InputConfig": { "S3Uri": "s3://<your-bucket>/sagemaker/neo-compilation-job-demo-data/train", "DataInputConfig": "{'data': [1,3,1024,1024]}", "Framework": "MXNET" }, "OutputConfig": { "S3OutputLocation": "s3://<your-bucket>/sagemaker/neo-compilation-job-demo-data/compile", # A target device specification example for a ml_c5 instance family "TargetDevice": "ml_c5" }, "StoppingCondition": { "MaxRuntimeInSeconds": 300 } }

    Anda dapat secara opsional menentukan versi kerangka kerja yang Anda gunakan dengan FrameworkVersion bidang jika Anda menggunakan PyTorch kerangka kerja untuk melatih model Anda dan perangkat target Anda adalah ml_* target.

    { "CompilationJobName": "neo-compilation-job-demo", "RoleArn": "arn:aws:iam::<your-account>:role/service-role/AmazonSageMaker-ExecutionRole-yyyymmddThhmmss", "InputConfig": { "S3Uri": "s3://<your-bucket>/sagemaker/neo-compilation-job-demo-data/train", "DataInputConfig": "{'data': [1,3,1024,1024]}", "Framework": "PYTORCH", "FrameworkVersion": "1.6" }, "OutputConfig": { "S3OutputLocation": "s3://<your-bucket>/sagemaker/neo-compilation-job-demo-data/compile", # A target device specification example for a ml_c5 instance family "TargetDevice": "ml_c5", # When compiling for ml_* instances using PyTorch framework, use the "CompilerOptions" field in # OutputConfig to provide the correct data type ("dtype") of the model’s input. Default assumed is "float32" "CompilerOptions": "{'dtype': 'long'}" }, "StoppingCondition": { "MaxRuntimeInSeconds": 300 } }
    Catatan:
    • Jika Anda menyimpan model dengan menggunakan PyTorch versi 2.0 atau yang lebih baru, DataInputConfig bidang tersebut bersifat opsional. SageMaker AI Neo mendapatkan konfigurasi input dari file definisi model yang Anda buat PyTorch. Untuk informasi selengkapnya tentang cara membuat file definisi, lihat PyTorch bagian di bawah Meny impan Model untuk SageMaker AI Neo.

    • Bidang API ini hanya didukung untuk PyTorch.

    Platform Example
    { "CompilationJobName": "neo-test-compilation-job", "RoleArn": "arn:aws:iam::<your-account>:role/service-role/AmazonSageMaker-ExecutionRole-yyyymmddThhmmss", "InputConfig": { "S3Uri": "s3://<your-bucket>/sagemaker/neo-compilation-job-demo-data/train", "DataInputConfig": "{'data': [1,3,1024,1024]}", "Framework": "MXNET" }, "OutputConfig": { "S3OutputLocation": "s3://<your-bucket>/sagemaker/neo-compilation-job-demo-data/compile", # A target platform configuration example for a p3.2xlarge instance "TargetPlatform": { "Os": "LINUX", "Arch": "X86_64", "Accelerator": "NVIDIA" }, "CompilerOptions": "{'cuda-ver': '10.0', 'trt-ver': '6.0.1', 'gpu-code': 'sm_70'}" }, "StoppingCondition": { "MaxRuntimeInSeconds": 300 } }
    catatan

    Untuk operasi OutputConfig API, operasi TargetDevice dan TargetPlatform API saling eksklusif. Anda harus memilih salah satu dari dua opsi.

    Untuk menemukan contoh string JSON DataInputConfig tergantung pada kerangka kerja, lihat Bentuk data input apa yang diharapkan Neo.

    Untuk informasi selengkapnya tentang menyiapkan konfigurasi, lihat operasi InputConfig OutputConfig,, dan TargetPlatform API di referensi SageMaker API.

  2. Setelah Anda mengkonfigurasi file JSON, jalankan perintah berikut untuk membuat pekerjaan kompilasi:

    aws sagemaker create-compilation-job \ --cli-input-json file://job.json \ --region us-west-2 # You should get CompilationJobArn
  3. Jelaskan pekerjaan kompilasi dengan menjalankan perintah berikut:

    aws sagemaker describe-compilation-job \ --compilation-job-name $JOB_NM \ --region us-west-2
  4. Hentikan pekerjaan kompilasi dengan menjalankan perintah berikut:

    aws sagemaker stop-compilation-job \ --compilation-job-name $JOB_NM \ --region us-west-2 # There is no output for compilation-job operation
  5. Buat daftar pekerjaan kompilasi dengan menjalankan perintah berikut:

    aws sagemaker list-compilation-jobs \ --region us-west-2