Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Jalankan Real-time Prediksi dengan Pipeline Inferensi
Anda dapat menggunakan model terlatih dalam pipeline inferensi untuk membuat prediksi real-time secara langsung tanpa melakukan prapemrosesan eksternal. Saat mengonfigurasi pipeline, Anda dapat memilih untuk menggunakan transformator fitur bawaan yang sudah tersedia di Amazon SageMaker AI. Atau, Anda dapat menerapkan logika transformasi Anda sendiri hanya menggunakan beberapa baris kode scikit-learn atau Spark.
MLap
Kontainer dalam pipa mendengarkan port yang ditentukan dalam variabel SAGEMAKER_BIND_TO_PORT lingkungan (bukan 8080). Saat berjalan dalam pipeline inferensi, SageMaker AI secara otomatis menyediakan variabel lingkungan ini ke wadah. Jika variabel lingkungan ini tidak ada, kontainer secara default menggunakan port 8080. Untuk menunjukkan bahwa wadah Anda memenuhi persyaratan ini, gunakan perintah berikut untuk menambahkan label ke Dockerfile Anda:
LABEL com.amazonaws.sagemaker.capabilities.accept-bind-to-port=true
Jika wadah Anda perlu mendengarkan pada port kedua, pilih port dalam rentang yang ditentukan oleh variabel SAGEMAKER_SAFE_PORT_RANGE lingkungan. Tentukan nilai sebagai rentang inklusif dalam format"XXXX-YYYY", di mana XXXX dan YYYY merupakan bilangan bulat multi-digit. SageMaker AI memberikan nilai ini secara otomatis saat Anda menjalankan wadah dalam pipeline multicontainer.
catatan
Untuk menggunakan gambar Docker kustom dalam pipeline yang menyertakan algoritma bawaan SageMaker AI, Anda memerlukan kebijakan https://docs.aws.amazon.com/AmazonECR/latest/userguide/what-is-ecr.html Amazon Elastic Container Registry (Amazon ECR). Repositori Amazon ECR Anda harus memberikan izin SageMaker AI untuk menarik gambar. Untuk informasi selengkapnya, lihat Memecahkan Masalah Izin Amazon ECR untuk Saluran Saluran Inferensi.
Membuat dan Menyebarkan Titik Akhir Pipeline Inferensi
Kode berikut membuat dan menerapkan model pipeline inferensi real-time dengan model SparkML dan XGBoost secara seri menggunakan AI SDK. SageMaker
from sagemaker.serve import ModelBuilder sparkml_data = 's3://{}/{}/{}'.format(s3_model_bucket, s3_model_key_prefix, 'model.tar.gz') model_name = 'serial-inference-' + timestamp_prefix endpoint_name = 'serial-inference-ep-' + timestamp_prefix model_builder = ModelBuilder( s3_model_data_url=sparkml_data, role_arn=role, instance_type='ml.c4.xlarge', pipeline_models=[sparkml_data, xgb_model.s3_model_data_url], ) endpoint = model_builder.build().deploy( initial_instance_count=1, instance_type='ml.c4.xlarge', endpoint_name=endpoint_name )
Minta Real-Time Inferensi dari Titik Akhir Pipeline Inferensi
Contoh berikut menunjukkan cara membuat prediksi real-time dengan memanggil titik akhir inferensi dan meneruskan payload permintaan dalam format JSON:
import json from sagemaker.core.resources import Endpoint payload = { "input": [ { "name": "Pclass", "type": "float", "val": "1.0" }, { "name": "Embarked", "type": "string", "val": "Q" }, { "name": "Age", "type": "double", "val": "48.0" }, { "name": "Fare", "type": "double", "val": "100.67" }, { "name": "SibSp", "type": "double", "val": "1.0" }, { "name": "Sex", "type": "string", "val": "male" } ], "output": { "name": "features", "type": "double", "struct": "vector" } } endpoint = Endpoint(endpoint_name=endpoint_name) response = endpoint.invoke(body=json.dumps(payload), content_type='application/json', accept='application/json') print(response)
Respons yang Anda dapatkan adalah hasil inferensi model.
Contoh pipeline inferensi waktu nyata
Anda dapat menjalankan contoh buku catatan ini menggunakan prediktor SKLearn