Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Kontrak Kontainer Kustom untuk Titik Akhir Multi-Model
Untuk menangani beberapa model, container Anda harus mendukung satu set APIs yang memungkinkan Amazon SageMaker AI berkomunikasi dengan container untuk memuat, mencantumkan, mendapatkan, dan membongkar model sesuai kebutuhan. model_name
Ini digunakan dalam set baru APIs sebagai parameter input kunci. Kontainer pelanggan diharapkan untuk melacak model yang dimuat menggunakan model_name
sebagai kunci pemetaan. Juga, model_name
ini adalah pengidentifikasi buram dan belum tentu nilai TargetModel
parameter yang diteruskan ke API. InvokeEndpoint
TargetModel
Nilai asli dalam InvokeEndpoint
permintaan diteruskan ke container di APIs as a X-Amzn-SageMaker-Target-Model
header yang dapat digunakan untuk tujuan logging.
catatan
Titik akhir multi-model untuk instans yang didukung GPU saat ini hanya didukung dengan wadah Server Inferensi NVIDIA Triton SageMaker AI. Wadah ini sudah mengimplementasikan kontrak yang didefinisikan di bawah ini. Pelanggan dapat langsung menggunakan wadah ini dengan titik akhir GPU multi-model mereka, tanpa pekerjaan tambahan apa pun.
Anda dapat mengonfigurasi hal berikut APIs pada kontainer Anda untuk titik akhir multi-model yang didukung CPU.
Muat Model API
Menginstruksikan wadah untuk memuat model tertentu yang ada di url
bidang tubuh ke dalam memori wadah pelanggan dan untuk melacaknya dengan yang ditugaskanmodel_name
. Setelah model dimuat, wadah harus siap untuk melayani permintaan inferensi menggunakan inimodel_name
.
POST /models HTTP/1.1 Content-Type: application/json Accept: application/json { "model_name" : "{model_name}", "url" : "/opt/ml/models/{model_name}/model", }
catatan
Jika model_name
sudah dimuat, API ini harus mengembalikan 409. Setiap kali model tidak dapat dimuat karena kurangnya memori atau sumber daya lain, API ini harus mengembalikan kode status HTTP 507 ke SageMaker AI, yang kemudian memulai pembongkaran model yang tidak digunakan untuk mengklaim kembali.
Daftar Model API
Mengembalikan daftar model dimuat ke dalam memori wadah pelanggan.
GET /models HTTP/1.1 Accept: application/json Response = { "models": [ { "modelName" : "{model_name}", "modelUrl" : "/opt/ml/models/{model_name}/model", }, { "modelName" : "{model_name}", "modelUrl" : "/opt/ml/models/{model_name}/model", }, .... ] }
API ini juga mendukung pagination.
GET /models HTTP/1.1 Accept: application/json Response = { "models": [ { "modelName" : "{model_name}", "modelUrl" : "/opt/ml/models/{model_name}/model", }, { "modelName" : "{model_name}", "modelUrl" : "/opt/ml/models/{model_name}/model", }, .... ] }
SageMaker AI awalnya dapat memanggil List Models API tanpa memberikan nilai untuknext_page_token
. Jika nextPageToken
bidang dikembalikan sebagai bagian dari respons, itu akan diberikan sebagai nilai untuk next_page_token
dalam panggilan Model Daftar berikutnya. Jika a nextPageToken
tidak dikembalikan, itu berarti tidak ada lagi model untuk dikembalikan.
Dapatkan Model API
Ini adalah API baca sederhana pada model_name
entitas.
GET /models/{model_name} HTTP/1.1 Accept: application/json { "modelName" : "{model_name}", "modelUrl" : "/opt/ml/models/{model_name}/model", }
catatan
Jika model_name
tidak dimuat, API ini harus mengembalikan 404.
Bongkar Model API
Menginstruksikan platform SageMaker AI untuk menginstruksikan wadah pelanggan untuk membongkar model dari memori. Ini memulai penggusuran model kandidat sebagaimana ditentukan oleh platform saat memulai proses pemuatan model baru. Sumber daya yang disediakan model_name
harus direklamasi oleh container saat API ini mengembalikan respons.
DELETE /models/{model_name}
catatan
Jika model_name
tidak dimuat, API ini harus mengembalikan 404.
Memanggil Model API
Membuat permintaan prediksi dari yang model_name
disediakan tertentu. InvokeEndpoint
Permintaan SageMaker AI Runtime mendukung X-Amzn-SageMaker-Target-Model
sebagai header baru yang mengambil jalur relatif model yang ditentukan untuk pemanggilan. Sistem SageMaker AI membangun jalur absolut model dengan menggabungkan awalan yang disediakan sebagai bagian dari panggilan CreateModel
API dengan jalur relatif model.
POST /models/{model_name}/invoke HTTP/1.1 Content-Type: ContentType Accept: Accept X-Amzn-SageMaker-Custom-Attributes: CustomAttributes X-Amzn-SageMaker-Target-Model: [relativePath]/{artifactName}.tar.gz
catatan
Jika model_name
tidak dimuat, API ini harus mengembalikan 404.
Selain itu, pada instance GPU, jika InvokeEndpoint
gagal karena kurangnya memori atau sumber daya lainnya, API ini harus mengembalikan kode status HTTP 507 ke SageMaker AI, yang kemudian memulai pembongkaran model yang tidak digunakan untuk mengklaim kembali.