Kompilasi Model () AWS Command Line Interface - Amazon SageMaker

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

Kompilasi 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 Job Kompilasi

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

    Tabel berikut menunjukkan cara mengonfigurasi 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 FrameworkVersionbidang 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 Anda dengan menggunakan PyTorch versi 2.0 atau yang lebih baru, DataInputConfig bidang ini opsional. SageMakerNeo mendapatkan konfigurasi input dari file definisi model yang Anda buat dengan PyTorch. Untuk informasi selengkapnya tentang cara membuat file definisi, lihat PyTorch bagian di bawah Menyimpan Model untuk SageMaker 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 TargetPlatform API TargetDevice dan API saling eksklusif. Anda harus memilih salah satu dari dua opsi.

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

    Untuk informasi selengkapnya tentang menyiapkan konfigurasi, lihat operasi InputConfigOutputConfig, dan TargetPlatformAPI dalam 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