Gunakan EI di Titik Akhir yang SageMaker Dihosting Amazon - Amazon SageMaker

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

Gunakan EI di Titik Akhir yang SageMaker Dihosting Amazon

Untuk menggunakan Elastic Inference (EI) di Amazon SageMaker dengan titik akhir yang dihosting untuk inferensi real-time, tentukan akselerator EI saat Anda membuat model deployable yang akan di-host pada titik akhir tersebut. Anda dapat melakukannya dengan salah satu cara berikut:

  • Gunakan versi Amazon SageMaker Python SDK dari, TensorFlow MxNet, atau dan container yang sudah dibuat sebelumnya SageMaker untuk, MxNet, PyTorch dan TensorFlow PyTorch

  • Bangun wadah Anda sendiri, dan gunakan SageMaker API tingkat rendah (Boto 3). Anda harus mengimpor versi EI-enabled dari TensorFlow MXNet, atau dari lokasi Amazon S3 yang PyTorch disediakan ke dalam wadah Anda, dan menggunakan salah satu versi tersebut untuk menulis skrip pelatihan Anda.

  • Gunakan algoritme Klasifikasi Gambar - MXNet atau Deteksi Objek - MxNet bawaan, dan gunakan algoritme AWS SDK for Python (Boto3) untuk menjalankan tugas pelatihan Anda dan buat model yang dapat diterapkan dan titik akhir yang dihosting.

Gunakan EI dengan SageMaker TensorFlow Container

Untuk menggunakan TensorFlow EI in SageMaker, Anda perlu memanggil deploy metode objek Estimator atau Model. Anda kemudian menentukan tipe akselerator menggunakan argumen input accelerator_type. Untuk informasi tentang penggunaan TensorFlow di SDK SageMaker Python, lihat: https://sagemaker.readthedocs.io/en/stable/frameworks/tensorflow/index.html.

SageMaker menyediakan pelatihan model default dan kode inferensi untuk kenyamanan Anda. Untuk format file kustom, Anda mungkin perlu menerapkan pelatihan model kustom dan kode inferensi.

Gunakan Objek Estimator

Untuk menggunakan objek estimator dengan EI, saat Anda menggunakan metode penerapan, sertakan argumen accelerator_type input. Estimator mengembalikan objek prediktor, yang kita sebut metode penyebaran, seperti yang ditunjukkan dalam kode contoh.

# Deploy an estimator using EI (using the accelerator_type input argument) predictor = estimator.deploy(initial_instance_count=1, instance_type='ml.m4.xlarge', accelerator_type='ml.eia2.medium')

Gunakan Objek Model

Untuk menggunakan objek model dengan EI, saat Anda menggunakan metode penerapan, sertakan argumen accelerator_type input. Estimator mengembalikan objek prediktor, yang kita sebut metode penyebaran, seperti yang ditunjukkan dalam kode contoh.

# Deploy a model using EI (using the accelerator_type input argument) predictor = model.deploy(initial_instance_count=1, instance_type='ml.m4.xlarge', accelerator_type='ml.eia2.medium')

Gunakan EI dengan SageMaker MxNet Container

Untuk menggunakan MxNet dengan EI SageMaker in, Anda perlu memanggil deploy metode objek Estimator atau Model. Anda kemudian menentukan jenis akselerator menggunakan argumen accelerator_type input. Untuk informasi tentang penggunaan MxNet di Amazon SageMaker Python SDK, lihat https://sagemaker.readthedocs.io/en/stable/frameworks/mxnet/index.html

Untuk kenyamanan Anda, SageMaker berikan pelatihan model default dan kode inferensi. Untuk format file kustom, Anda mungkin perlu menulis pelatihan model kustom dan kode inferensi.

Gunakan Objek Estimator

Untuk menggunakan objek estimator dengan EI, saat Anda menggunakan metode penerapan, sertakan argumen accelerator_type input. Estimator mengembalikan objek prediktor, yang kita sebut metode penyebaran, seperti yang ditunjukkan dalam kode contoh.

# Deploy an estimator using EI (using the accelerator_type input argument) predictor = estimator.deploy(initial_instance_count=1, instance_type='ml.m4.xlarge', accelerator_type='ml.eia2.medium')

Gunakan Objek Model

Untuk menggunakan objek model dengan EI, saat Anda menggunakan metode penerapan, sertakan argumen accelerator_type input. Estimator mengembalikan objek prediktor, yang kita sebut metode penyebaran, seperti yang ditunjukkan dalam kode contoh.

# Deploy a model using EI (using the accelerator_type input argument) predictor = model.deploy(initial_instance_count=1, instance_type='ml.m4.xlarge', accelerator_type='ml.eia2.medium')

Gunakan EI dengan SageMaker PyTorch Container

Untuk menggunakan PyTorch EI in SageMaker, Anda perlu memanggil deploy metode objek Estimator atau Model. Anda kemudian menentukan jenis akselerator menggunakan argumen accelerator_type input. Untuk informasi tentang penggunaan PyTorch di Amazon SageMaker Python SDK, lihat SageMaker PyTorch Estimator dan Model.

Untuk kenyamanan Anda, SageMaker berikan pelatihan model default dan kode inferensi. Untuk format file kustom, Anda mungkin perlu menulis pelatihan model kustom dan kode inferensi.

Gunakan Objek Estimator

Untuk menggunakan objek estimator dengan EI, saat Anda menggunakan metode penerapan, sertakan argumen accelerator_type input. Estimator mengembalikan objek prediktor, yang kita sebut metode penyebaran, seperti yang ditunjukkan dalam kode contoh ini.

# Deploy an estimator using EI (using the accelerator_type input argument) predictor = estimator.deploy(initial_instance_count=1, instance_type='ml.m4.xlarge', accelerator_type='ml.eia2.medium')

Gunakan Objek Model

Untuk menggunakan objek model dengan EI, saat Anda menggunakan metode penerapan, sertakan argumen accelerator_type input. Model mengembalikan objek prediktor, yang kita sebut metode penyebaran, seperti yang ditunjukkan dalam kode contoh ini.

# Deploy a model using EI (using the accelerator_type input argument) predictor = model.deploy(initial_instance_count=1, instance_type='ml.m4.xlarge', accelerator_type='ml.eia2.medium')

Gunakan EI dengan Wadah Anda Sendiri

Untuk menggunakan EI dengan model dalam wadah khusus yang Anda buat, gunakan AWS SDK tingkat rendah untuk Python (Boto 3). unduh dan impor versi AWS EI-enabled dari TensorFlow, Apache MXNet, PyTorch atau kerangka kerja pembelajaran mesin, dan tulis skrip pelatihan Anda menggunakan kerangka kerja tersebut.

Impor Versi EI dari TensorFlow, MxNet, PyTorch atau ke Container Docker Anda

Untuk menggunakan EI dengan container Anda sendiri, Anda perlu mengimpor library Amazon EI TensorFlow Serving, library Amazon EI Apache MXNet, atau library yang diaktifkan Elastic Inference ke dalam container Anda. PyTorch Versi EI-enabled dari dan TensorFlow MXNet saat ini tersedia sebagai file biner yang disimpan di lokasi Amazon S3. Anda dapat mengunduh biner berkemampuan EI dari bucket Amazon S3 di TensorFlow console.aws.amazon.com/s3/buckets/amazonei-tensorflow. Untuk informasi tentang membangun kontainer yang menggunakan versi EI-enabled TensorFlow, lihat https://github.com/aws/sagemaker-tensorflow-container#building-the-sagemaker-elastic-inference-tensorflow-serving-container. Anda dapat mengunduh biner berkemampuan EI untuk Apache MXNet dari bucket Amazon S3 publik di console.aws.amazon.com/s3/buckets/amazonei-apachemxnet. Untuk informasi tentang membangun kontainer yang menggunakan versi MxNet yang mendukung EI, lihat https://github.com/aws/sagemaker-mxnet-container#building-the-sagemaker-elastic-inference-mxnet-container. Anda dapat mengunduh biner yang diaktifkan Elastic Inference untuk. PyTorch Untuk informasi tentang membuat kontainer yang menggunakan versi Elastic Inference yang diaktifkan PyTorch, lihat Membuat gambar Anda.

Buat Endpoint EI dengan AWS SDK untuk Python (Boto 3)

Untuk membuat endpoint dengan menggunakan AWS SDK untuk Python (Boto 3), pertama-tama Anda membuat konfigurasi endpoint. Konfigurasi titik akhir menentukan satu atau lebih model (disebut varian produksi) yang ingin Anda host di titik akhir. Untuk melampirkan EI ke satu atau beberapa varian produksi yang dihosting di titik akhir, Anda menentukan salah satu jenis instance EI sebagai AcceleratorType bidang untuk ituProductionVariant. Anda kemudian meneruskan konfigurasi titik akhir itu saat Anda membuat titik akhir.

Buat Konfigurasi Endpoint

Untuk menggunakan EI, Anda perlu menentukan jenis akselerator dalam konfigurasi titik akhir.

# Create Endpoint Configuration from time import gmtime, strftime endpoint_config_name = 'ImageClassificationEndpointConfig-' + strftime("%Y-%m-%d-%H-%M-%S", gmtime()) print(endpoint_config_name) create_endpoint_config_response = sagemaker.create_endpoint_config( EndpointConfigName = endpoint_config_name, ProductionVariants=[{ 'InstanceType':'ml.m4.xlarge', 'InitialInstanceCount':1, 'ModelName':model_name, 'VariantName':'AllTraffic', 'AcceleratorType':'ml.eia2.medium'}]) print("Endpoint Config Arn: " + create_endpoint_config_response['EndpointConfigArn'])

Buat Endpoint

Setelah Anda membuat konfigurasi titik akhir dengan tipe akselerator, Anda dapat membuat titik akhir.

endpoint_name = 'ImageClassificationEndpoint-' + strftime("%Y-%m-%d-%H-%M-%S", gmtime()) endpoint_response = sagemaker.create_endpoint( EndpointName=endpoint_name, EndpointConfigName=endpoint_config_name)

Setelah membuat titik akhir, Anda dapat memanggilnya menggunakan invoke_endpoint metode dalam objek runtime Boto3, seperti yang Anda lakukan pada titik akhir lainnya.