View a markdown version of this page

Model Hosting FAQ - Amazon SageMaker AI

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

Model Hosting FAQ

Lihat item FAQ berikut untuk jawaban atas pertanyaan umum tentang SageMaker AI Inference Hosting.

Hosting Umum

Item FAQ berikut menjawab pertanyaan umum umum untuk Inferensi SageMaker AI.

A: Setelah Anda membangun dan melatih model, Amazon SageMaker AI menyediakan empat opsi untuk menerapkannya sehingga Anda dapat mulai membuat prediksi. Real-Time Inferensi cocok untuk beban kerja dengan persyaratan latensi milidetik, ukuran muatan hingga 25 MB, dan waktu pemrosesan hingga 60 detik untuk respons reguler dan 8 menit untuk respons streaming. Batch Transform sangat ideal untuk prediksi offline pada kumpulan besar data yang tersedia di muka. Inferensi Asinkron dirancang untuk beban kerja yang tidak memiliki persyaratan latensi sub-detik, ukuran muatan hingga 1 GB, dan waktu pemrosesan hingga 60 menit. Dengan Serverless Inference, Anda dapat dengan cepat menerapkan model pembelajaran mesin untuk inferensi tanpa harus mengonfigurasi atau mengelola infrastruktur yang mendasarinya, dan Anda hanya membayar untuk kapasitas komputasi yang digunakan untuk memproses permintaan inferensi, yang ideal untuk beban kerja intermiten.

Jika Anda ingin memproses permintaan dalam batch, Anda mungkin ingin memilih Batch Transform. Jika tidak, jika Anda ingin menerima inferensi untuk setiap permintaan ke model Anda, Anda mungkin ingin memilih Inferensi Asinkron, Inferensi Tanpa Server, atau Inferensi. Real-Time Anda dapat memilih Inferensi Asinkron jika Anda memiliki waktu pemrosesan yang lama atau muatan besar dan ingin mengantri permintaan. Anda dapat memilih Inferensi Tanpa Server jika beban kerja Anda memiliki lalu lintas yang tidak dapat diprediksi atau terputus-putus. Anda dapat memilih Real-Time Inferensi jika Anda memiliki lalu lintas berkelanjutan dan membutuhkan latensi yang lebih rendah dan konsisten untuk permintaan Anda.

A: Untuk mengoptimalkan biaya Anda dengan SageMaker AI Inference, Anda harus memilih opsi hosting yang tepat untuk kasus penggunaan Anda. Anda juga dapat menggunakan fitur Inferensi seperti Amazon SageMaker AI Savings Plans, pengoptimalan model dengan SageMaker Neo, Multi-Model Endpoints dan Multi-Container Endpoints, atau penskalaan otomatis. Untuk tips tentang cara mengoptimalkan biaya Inferensi Anda, lihatPraktik terbaik pengoptimalan biaya inferensi.

A: Anda harus menggunakan Amazon SageMaker Inference Recommender jika Anda memerlukan rekomendasi untuk konfigurasi titik akhir yang tepat untuk meningkatkan kinerja dan mengurangi biaya. Sebelumnya, ilmuwan data yang ingin menerapkan model mereka harus menjalankan tolok ukur manual untuk memilih konfigurasi titik akhir yang tepat. Pertama, mereka harus memilih jenis instance pembelajaran mesin yang tepat dari lebih dari 70 jenis instans yang tersedia berdasarkan persyaratan sumber daya model dan muatan sampel mereka, dan kemudian mengoptimalkan model untuk memperhitungkan perangkat keras yang berbeda. Kemudian, mereka harus melakukan uji beban ekstensif untuk memvalidasi bahwa persyaratan latensi dan throughput terpenuhi dan biayanya rendah. Inference Recommender menghilangkan kompleksitas ini dengan membantu Anda melakukan hal berikut:

  • Mulailah dalam hitungan menit dengan rekomendasi instans.

  • Lakukan uji beban di seluruh jenis instans untuk mendapatkan rekomendasi tentang konfigurasi titik akhir Anda dalam beberapa jam.

  • Secara otomatis menyetel parameter kontainer dan server model serta melakukan pengoptimalan model untuk jenis instance tertentu.

A: SageMaker Titik akhir AI adalah titik akhir REST HTTP yang menggunakan server web kontainer, yang mencakup server model. Kontainer ini bertanggung jawab untuk memuat dan melayani permintaan untuk model pembelajaran mesin. Mereka menerapkan server web yang merespons /invocations dan /ping pada port 8080.

Server model umum termasuk Ser TensorFlow ving, TorchServe dan Multi Model Server. SageMaker Kontainer kerangka kerja AI memiliki server model ini bawaan.

A: Segala sesuatu di Inferensi SageMaker AI dikontainer. SageMaker AI menyediakan wadah terkelola untuk kerangka kerja populer seperti TensorFlow, SKLearn, dan HuggingFace. Untuk daftar terbaru yang komprehensif dari gambar-gambar tersebut, lihat Gambar yang Tersedia.

Terkadang ada kerangka kerja khusus di mana Anda mungkin perlu membangun wadah. Pendekatan ini dikenal sebagai Bring Your Own Container atau BYOC. Dengan pendekatan BYOC, Anda menyediakan gambar Docker untuk mengatur kerangka kerja atau pustaka Anda. Kemudian, Anda mendorong gambar ke Amazon Elastic Container Registry (Amazon ECR) sehingga Anda dapat menggunakan gambar dengan SageMaker AI.

Atau, alih-alih membangun gambar dari awal, Anda dapat memperpanjang wadah. Anda dapat mengambil salah satu gambar dasar yang disediakan SageMaker AI dan menambahkan dependensi Anda di atasnya di Dockerfile Anda.

A: SageMaker AI menawarkan kapasitas untuk membawa model kerangka kerja terlatih Anda sendiri yang telah Anda latih di luar SageMaker AI dan menerapkannya pada salah satu opsi hosting SageMaker AI.

SageMaker AI mengharuskan Anda untuk mengemas model dalam model.tar.gz file dan memiliki struktur direktori tertentu. Setiap kerangka kerja memiliki struktur modelnya sendiri (lihat pertanyaan berikut untuk contoh struktur). Untuk informasi selengkapnya, lihat dokumentasi SageMaker Python SDK untuk TensorFlow, PyTorch, dan MXnet.

Meskipun Anda dapat memilih dari gambar kerangka kerja bawaan seperti TensorFlow, PyTorch, dan MXnet untuk meng-host model terlatih Anda, Anda juga dapat membangun wadah Anda sendiri untuk meng-host model terlatih Anda di titik akhir SageMaker AI. Untuk panduan, lihat contoh notebook Jupyter Mem bangun wadah algoritma Anda sendiri.

A: SageMaker AI membutuhkan artefak model Anda untuk dikompresi dalam .tar.gz file, atau tarball. SageMaker AI secara otomatis mengekstrak .tar.gz file ini ke /opt/ml/model/ direktori di wadah Anda. Tarball tidak boleh berisi symlink atau file yang tidak diperlukan. Jika Anda menggunakan salah satu wadah kerangka kerja, seperti, TensorFlow PyTorch, atau MXnet, wadah mengharapkan struktur TAR Anda sebagai berikut:

TensorFlow

model.tar.gz/ |--[model_version_number]/ |--variables |--saved_model.pb code/ |--inference.py |--requirements.txt

PyTorch

model.tar.gz/ |- model.pth |- code/ |- inference.py |- requirements.txt # only for versions 1.3.1 and higher

MXnet

model.tar.gz/ |- model-symbol.json |- model-shapes.json |- model-0000.params |- code/ |- inference.py |- requirements.txt # only for versions 1.6.0 and higher

A: ContentType adalah jenis MIME dari data input dalam badan permintaan (jenis MIME dari data yang Anda kirim ke titik akhir Anda). Server model menggunakan ContentType untuk menentukan apakah dapat menangani jenis yang disediakan atau tidak.

Acceptadalah tipe MIME dari respons inferensi (jenis MIME dari data yang dikembalikan titik akhir Anda). Server model menggunakan Accept tipe untuk menentukan apakah dapat menangani pengembalian tipe yang disediakan atau tidak.

Jenis MIME umum termasuktext/csv,application/json, danapplication/jsonlines.

A: SageMaker AI meneruskan permintaan apa pun ke wadah model tanpa modifikasi. Wadah harus berisi logika untuk mendeserialisasi permintaan. Untuk informasi tentang format yang ditentukan untuk algoritma bawaan, lihat Format Data Umum untuk Inferensi. Jika Anda membangun wadah Anda sendiri atau menggunakan wadah SageMaker AI Framework, Anda dapat menyertakan logika untuk menerima format permintaan pilihan Anda.

Demikian pula, SageMaker AI juga mengembalikan respons tanpa modifikasi, dan kemudian klien harus deserialisasi respons. Dalam kasus algoritma bawaan, mereka mengembalikan respons dalam format tertentu. Jika Anda membangun wadah Anda sendiri atau menggunakan wadah SageMaker AI Framework, Anda dapat menyertakan logika untuk mengembalikan respons dalam format yang Anda pilih.

Gunakan panggilan API Invoke Endpoint untuk membuat inferensi terhadap titik akhir Anda.

Saat meneruskan input Anda sebagai payload ke InvokeEndpoint API, Anda harus memberikan jenis data input yang benar yang diharapkan model Anda. Saat meneruskan payload dalam panggilan InvokeEndpoint API, byte permintaan diteruskan langsung ke wadah model. Misalnya, untuk gambar, Anda dapat menggunakan application/jpeg untukContentType, dan memastikan bahwa model Anda dapat melakukan inferensi pada jenis data ini. Ini berlaku untuk JSON, CSV, video, atau jenis input lain yang mungkin Anda hadapi.

Faktor lain yang perlu dipertimbangkan adalah batas ukuran muatan. Batas payload adalah 25 MB untuk titik akhir real-time dan 4 MB untuk titik akhir tanpa server. Anda dapat membagi video Anda menjadi beberapa frame dan memanggil titik akhir dengan setiap frame satu per satu. Atau, jika kasus penggunaan Anda mengizinkan, Anda dapat mengirim seluruh video dalam payload menggunakan titik akhir asinkron, yang mendukung muatan hingga 1 GB.

Untuk contoh yang menampilkan cara menjalankan inferensi visi komputer pada video besar dengan Inferensi Asinkron, lihat posting blog ini. https://aws.amazon.com/blogs/machine-learning/run-computer-vision-inference-on-large-videos-with-amazon-sagemaker-asynchronous-endpoints/

Real-Time Inferensi

Item FAQ berikut menjawab pertanyaan umum untuk Real-Time Inferensi SageMaker AI.

A: Anda dapat membuat titik akhir SageMaker AWS AI melalui alat yang didukung seperti AWS SDK, SageMaker Python SDK,,, Konsol Manajemen AWS dan AWS CloudFormation. AWS Cloud Development Kit (AWS CDK)

Ada tiga entitas utama dalam pembuatan titik akhir: model SageMaker AI, konfigurasi titik akhir SageMaker AI, dan titik akhir SageMaker AI. Model SageMaker AI menunjuk ke data model dan gambar yang Anda gunakan. Konfigurasi titik akhir menentukan varian produksi Anda, yang mungkin termasuk jenis instans dan jumlah instans. Anda kemudian dapat menggunakan panggilan API create_endpoint atau panggilan .deploy () untuk SageMaker AI untuk membuat titik akhir menggunakan metadata dari model dan konfigurasi titik akhir Anda.

A: Tidak, Anda dapat menggunakan berbagai AWS SDK (lihat Memanggil/Buat untuk SDK yang tersedia) atau bahkan memanggil API web yang sesuai secara langsung.

A: Multi-Model Endpoint adalah opsi Real-Time Inferensi yang disediakan SageMaker AI. Dengan Multi-Model Endpoints, Anda dapat meng-host ribuan model di belakang satu titik akhir. Multi Model Server adalah kerangka kerja sumber terbuka untuk melayani model pembelajaran mesin. Ini menyediakan kemampuan front-end HTTP dan manajemen model yang diperlukan oleh titik akhir multi-model untuk meng-host beberapa model dalam satu wadah, memuat model ke dalam dan membongkar model keluar dari wadah secara dinamis, dan melakukan inferensi pada model yang dimuat tertentu.

A: SageMaker AI Real-Time Inference mendukung berbagai arsitektur penerapan model seperti Multi-Model Endpoints, Multi-Container Endpoints, dan Serial Inference Pipelines.

Multi-Model Endpoints (MME) - MME memungkinkan pelanggan untuk menerapkan 1000-an model yang sangat dipersonalisasi dengan cara yang hemat biaya. Semua model dikerahkan pada armada sumber daya bersama. MME bekerja paling baik ketika model memiliki ukuran dan latensi yang sama dan termasuk dalam kerangka ML yang sama. Titik akhir ini ideal ketika Anda tidak perlu memanggil model yang sama setiap saat. Anda dapat memuat model masing-masing secara dinamis ke titik akhir SageMaker AI untuk melayani permintaan Anda.

Multi-ContainerEndpoints (MCE) - MCE memungkinkan pelanggan untuk menerapkan 15 wadah berbeda dengan kerangka kerja dan fungsionalitas ML yang beragam tanpa cold start sementara hanya menggunakan satu titik akhir. SageMaker Anda dapat langsung memanggil wadah ini. MCE adalah yang terbaik ketika Anda ingin menyimpan semua model dalam memori.

Serial Inference Pipelines (SIP) — Anda dapat menggunakan SIP untuk merangkai 2‐15 kontainer pada satu titik akhir. SIP sebagian besar cocok untuk menggabungkan preprocessing dan inferensi model dalam satu titik akhir dan untuk operasi latensi rendah.

Inferensi Tanpa Server

Item FAQ berikut menjawab pertanyaan umum untuk Amazon SageMaker Serverless Inference.

A: Terapkan model dengan Amazon SageMaker Serverless Inference adalah opsi penyajian model tanpa server yang dibuat khusus yang membuatnya mudah untuk menerapkan dan menskalakan model ML. Titik akhir Inferensi Tanpa Server secara otomatis memulai sumber daya komputasi dan menskalakannya masuk dan keluar tergantung pada lalu lintas, sehingga Anda tidak perlu memilih jenis instans, menjalankan kapasitas yang disediakan, atau mengelola penskalaan. Anda dapat secara opsional menentukan persyaratan memori untuk titik akhir tanpa server Anda. Anda membayar hanya untuk durasi menjalankan kode inferensi dan jumlah data yang diproses, bukan untuk periode idle.

A: Inferensi Tanpa Server menyederhanakan pengalaman pengembang dengan menghilangkan kebutuhan untuk menyediakan kapasitas di muka dan mengelola kebijakan penskalaan. Serverless Inference dapat menskalakan secara instan dari puluhan hingga ribuan kesimpulan dalam hitungan detik berdasarkan pola penggunaan, menjadikannya ideal untuk aplikasi ML dengan lalu lintas intermiten atau tidak dapat diprediksi. Misalnya, layanan chatbot yang digunakan oleh perusahaan pemrosesan penggajian mengalami peningkatan pertanyaan di akhir bulan sementara lalu lintas terputus-putus selama sisa bulan. Menyediakan instans untuk seluruh bulan dalam skenario seperti itu tidak hemat biaya, karena Anda akhirnya membayar untuk periode idle.

Inferensi Tanpa Server membantu mengatasi jenis kasus penggunaan ini dengan menyediakan penskalaan otomatis dan cepat di luar kotak tanpa perlu memprediksi lalu lintas di muka atau mengelola kebijakan penskalaan. Selain itu, Anda hanya membayar waktu komputasi untuk menjalankan kode inferensi Anda dan untuk pemrosesan data, sehingga ideal untuk beban kerja dengan lalu lintas intermiten.

A: Titik akhir tanpa server Anda memiliki ukuran RAM minimum 1024 MB (1 GB), dan ukuran RAM maksimum yang dapat Anda pilih adalah 6144 MB (6 GB). Ukuran memori yang dapat Anda pilih adalah 1024 MB, 2048 MB, 3072 MB, 4096 MB, 5120 MB, atau 6144 MB. Inferensi tanpa server secara otomatis menetapkan sumber daya komputasi sebanding dengan memori yang Anda pilih. Jika Anda memilih ukuran memori yang lebih besar, wadah Anda memiliki akses ke lebih banyak vCPU.

Pilih ukuran memori titik akhir Anda sesuai dengan ukuran model Anda. Umumnya, ukuran memori harus setidaknya sebesar ukuran model Anda. Anda mungkin perlu melakukan benchmark untuk memilih pilihan memori yang tepat untuk model Anda berdasarkan SLA latensi Anda. Kenaikan ukuran memori memiliki harga yang berbeda; lihat halaman SageMaker harga Amazon untuk informasi lebih lanjut.

Transformasi Batch

Item FAQ berikut menjawab pertanyaan umum untuk SageMaker AI Batch Transform.

A: Untuk format file tertentu seperti CSV, Recordio, dan TFRecord, SageMaker AI dapat membagi data Anda menjadi batch mini rekaman tunggal atau multi-rekaman dan mengirimkannya sebagai muatan ke wadah model Anda. Ketika nilainya BatchStrategy adalahMultiRecord, SageMaker AI mengirimkan jumlah maksimum catatan dalam setiap permintaan, hingga MaxPayloadInMB batas. Ketika nilainya BatchStrategy adalahSingleRecord, SageMaker AI mengirimkan catatan individual di setiap permintaan.

A: Waktu tunggu maksimum untuk Batch Transform adalah 3600 detik. Ukuran payload maksimum untuk catatan (per batch mini) adalah 100 MB.

A: Jika Anda menggunakan CreateTransformJob API, Anda dapat mengurangi waktu yang diperlukan untuk menyelesaikan pekerjaan transformasi batch dengan menggunakan nilai optimal untuk parameter sepertiMaxPayloadInMB,MaxConcurrentTransforms, atauBatchStrategy. Nilai ideal untuk MaxConcurrentTransforms sama dengan jumlah pekerja komputasi dalam pekerjaan transformasi batch. Jika Anda menggunakan konsol SageMaker AI, Anda dapat menentukan nilai parameter optimal ini di bagian Konfigur asi tambahan pada halaman konfigurasi pekerjaan Batch transform. SageMaker AI secara otomatis menemukan pengaturan parameter optimal untuk algoritma bawaan. Untuk algoritma khusus, berikan nilai-nilai ini melalui titik akhir parameter eksekusi.

A: Batch Transform mendukung CSV dan JSON.

Inferensi Asinkron

Item FAQ berikut menjawab pertanyaan umum umum untuk Inferensi A SageMaker sinkron AI.

A: Inferensi Asinkron mengantri permintaan masuk dan memprosesnya secara asinkron. Opsi ini sangat ideal untuk permintaan dengan ukuran muatan besar atau waktu pemrosesan yang lama yang perlu diproses saat tiba. Secara opsional, Anda dapat mengonfigurasi pengaturan penskalaan otomatis untuk menurunkan jumlah instans menjadi nol saat tidak memproses permintaan secara aktif.

A: Amazon SageMaker AI mendukung penskalaan otomatis (autoscaling) titik akhir asinkron Anda. Penskalaan otomatis secara dinamis menyesuaikan jumlah instans yang disediakan untuk model sebagai respons terhadap perubahan beban kerja Anda. Tidak seperti model host lainnya yang SageMaker didukung AI, dengan Inferensi Asynchronous Anda juga dapat menurunkan instance titik akhir asinkron menjadi nol. Permintaan yang diterima ketika tidak ada instans akan diantri untuk diproses setelah titik akhir dinaikkan. Untuk informasi selengkapnya, lihat Men skalakan otomatis titik akhir asinkron.

Amazon SageMaker Serverless Inference juga secara otomatis menurunkan skala menjadi nol. Anda tidak akan melihat ini karena SageMaker AI mengelola penskalaan titik akhir tanpa server Anda, tetapi jika Anda tidak mengalami lalu lintas apa pun, infrastruktur yang sama berlaku.