View a markdown version of this page

Kontrak Kontainer Kustom untuk Titik Multi-Model Akhir - Amazon SageMaker AI

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 Multi-Model Akhir

Untuk menangani beberapa model, kontainer Anda harus mendukung serangkaian API yang memungkinkan Amazon SageMaker AI berkomunikasi dengan wadah untuk memuat, mencantumkan, mendapatkan, dan membongkar model sesuai kebutuhan. model_nameIni digunakan dalam kumpulan API baru sebagai parameter input kunci. Kontainer pelanggan diharapkan untuk melacak model yang dimuat menggunakan model_name sebagai kunci pemetaan. Juga, model_name adalah pengidentifikasi buram dan belum tentu nilai TargetModel parameter yang diteruskan ke InvokeEndpoint API. TargetModelNilai asli dalam InvokeEndpoint permintaan diteruskan ke container di API sebagai X-Amzn-SageMaker-Target-Model header yang dapat digunakan untuk tujuan logging.

catatan

Multi-model titik akhir untuk instans yang didukung GPU saat ini hanya didukung dengan wadah SageMaker Server Inference NVIDIA Triton 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.

Anda dapat mengonfigurasi API berikut pada wadah 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 akan 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 yang 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 API Model Daftar 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 tidak nextPageToken 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 tidak model_name dimuat, API ini akan mengembalikan 404.

Bongkar Model API

Menginstruksikan platform SageMaker AI untuk menginstruksikan wadah pelanggan untuk membongkar model dari memori. Ini memulai penggusuran model kandidat seperti yang ditentukan oleh platform saat memulai proses memuat model baru. Sumber daya yang disediakan model_name harus direklamasi oleh container saat API ini mengembalikan respons.

DELETE /models/{model_name}
catatan

Jika tidak model_name dimuat, API ini akan mengembalikan 404.

Memanggil API Model

Membuat permintaan prediksi dari yang model_name disediakan. Per SageMaker mintaan AI Runtime InvokeEndpoint mendukung X-Amzn-SageMaker-Target-Model sebagai header baru yang mengambil jalur relatif dari 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 tidak model_name dimuat, API ini akan mengembalikan 404.

Selain itu, pada instans GPU, jika InvokeEndpoint gagal 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.