Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Buat Model
Contoh berikut menunjukkan cara membuat model menggunakan AWS SDK for Python (Boto3). Beberapa baris pertama mendefinisikan:
sagemaker_client
: Objek klien SageMaker AI tingkat rendah yang memudahkan untuk mengirim dan menerima permintaan ke AWS layanan.sagemaker_role
: Variabel string dengan peran SageMaker AI IAM Amazon Resource Name (ARN).aws_region
: Variabel string dengan nama AWS wilayah Anda.
import boto3 # Specify your AWS Region aws_region=
'<aws_region>'
# Create a low-level SageMaker service client. sagemaker_client = boto3.client('sagemaker', region_name=aws_region) # Role to give SageMaker permission to access AWS services. sagemaker_role= "arn:aws:iam::<account>:role/*
"
Selanjutnya, tentukan lokasi model pra-terlatih yang disimpan di Amazon S3. Dalam contoh ini, kami menggunakan XGBoost model pra-terlatih bernamademo-xgboost-model.tar.gz
. URI Amazon S3 lengkap disimpan dalam variabel string: model_url
#Create a variable w/ the model S3 URI s3_bucket =
'<your-bucket-name>'
# Provide the name of your S3 bucket bucket_prefix='saved_models' model_s3_key = f"{bucket_prefix}/demo-xgboost-model.tar.gz" #Specify S3 bucket w/ model model_url = f"s3://{s3_bucket}/{model_s3_key}"
Tentukan wadah utama. Untuk wadah utama, Anda menentukan image Docker yang berisi kode inferensi, artefak (dari pelatihan sebelumnya), dan peta lingkungan khusus yang digunakan kode inferensi saat Anda menerapkan model untuk prediksi.
Dalam contoh ini, kami menentukan gambar kontainer algoritma XGBoost bawaan:
from sagemaker import image_uris # Specify an AWS container image. container = image_uris.retrieve(region=aws_region, framework='xgboost', version='0.90-1')
Buat model di Amazon SageMaker AI denganCreateModel
. Tentukan hal berikut:
ModelName
: Nama untuk model Anda (dalam contoh ini disimpan sebagai variabel string yang disebutmodel_name
).ExecutionRoleArn
: Nama Sumber Daya Amazon (ARN) dari peran IAM yang dapat diasumsikan Amazon SageMaker AI untuk mengakses artefak model dan gambar Docker untuk penerapan pada instance komputasi HTML atau untuk pekerjaan transformasi batch.PrimaryContainer
: Lokasi gambar Docker utama yang berisi kode inferensi, artefak terkait, dan peta lingkungan khusus yang digunakan kode inferensi saat model diterapkan untuk prediksi.
model_name =
'<The_name_of_the_model>'
#Create model create_model_response = sagemaker_client.create_model( ModelName = model_name, ExecutionRoleArn = sagemaker_role, PrimaryContainer = { 'Image': container, 'ModelDataUrl': model_url, })
Lihat CreateModel
deskripsi di Panduan Referensi SageMaker API untuk daftar lengkap parameter API.
Jika Anda menggunakan wadah yang disediakan SageMaker AI, Anda dapat meningkatkan batas waktu server model dan ukuran payload dari nilai default ke maksimum yang didukung kerangka kerja dengan menyetel variabel lingkungan di langkah ini. Anda mungkin tidak dapat memanfaatkan batas waktu maksimum dan ukuran payload yang didukung Asynchronous Inference jika Anda tidak secara eksplisit mengatur variabel-variabel ini. Contoh berikut menunjukkan bagaimana Anda dapat mengatur variabel lingkungan untuk wadah PyTorch Inferensi berdasarkan TorchServe.
model_name =
'<The_name_of_the_model>'
#Create model create_model_response = sagemaker_client.create_model( ModelName = model_name, ExecutionRoleArn = sagemaker_role, PrimaryContainer = { 'Image': container, 'ModelDataUrl': model_url, 'Environment': { 'TS_MAX_REQUEST_SIZE': '100000000', 'TS_MAX_RESPONSE_SIZE': '100000000', 'TS_DEFAULT_RESPONSE_TIMEOUT': '1000' }, })
Setelah Anda selesai membuat endpoint Anda, Anda harus menguji apakah Anda telah mengatur variabel lingkungan dengan benar dengan mencetaknya dari inference.py
skrip Anda. Tabel berikut mencantumkan variabel lingkungan untuk beberapa kerangka kerja yang dapat Anda atur untuk mengubah nilai default.
Kerangka Kerja | Variabel-variabel lingkungan |
---|---|
PyTorch 1.8 (berdasarkan TorchServe) |
'TS_MAX_REQUEST_SIZE': '100000000' 'TS_MAX_RESPONSE_SIZE': '100000000' 'TS_DEFAULT_RESPONSE_TIMEOUT': '1000' |
PyTorch 1.4 (berdasarkan MMS) |
'MMS_MAX_REQUEST_SIZE': '1000000000' 'MMS_MAX_RESPONSE_SIZE': '1000000000' 'MMS_DEFAULT_RESPONSE_TIMEOUT': '900' |
HuggingFace Kontainer Inferensi (berdasarkan MMS) |
'MMS_MAX_REQUEST_SIZE': '2000000000' 'MMS_MAX_RESPONSE_SIZE': '2000000000' 'MMS_DEFAULT_RESPONSE_TIMEOUT': '900' |