Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Terapkan model untuk inferensi real-time
penting
Kebijakan IAM khusus yang memungkinkan Amazon SageMaker Studio atau Amazon SageMaker Studio Classic membuat SageMaker sumber daya Amazon juga harus memberikan izin untuk menambahkan tag ke sumber daya tersebut. Izin untuk menambahkan tag ke sumber daya diperlukan karena Studio dan Studio Classic secara otomatis menandai sumber daya apa pun yang mereka buat. Jika kebijakan IAM mengizinkan Studio dan Studio Classic untuk membuat sumber daya tetapi tidak mengizinkan penandaan, kesalahan "AccessDenied" dapat terjadi saat mencoba membuat sumber daya. Untuk informasi selengkapnya, lihat Berikan izin untuk menandai sumber daya AI SageMaker.
AWS kebijakan terkelola untuk Amazon SageMaker AIyang memberikan izin untuk membuat SageMaker sumber daya sudah menyertakan izin untuk menambahkan tag saat membuat sumber daya tersebut.
Ada beberapa opsi untuk menerapkan model menggunakan layanan hosting SageMaker AI. Anda dapat menyebarkan model secara interaktif dengan SageMaker Studio. Atau, Anda dapat menerapkan model secara terprogram menggunakan AWS SDK, seperti SageMaker Python SDK atau SDK untuk Python (Boto3). Anda juga dapat menerapkan dengan menggunakan AWS CLI.
Sebelum Anda mulai
Sebelum Anda menerapkan model SageMaker AI, cari dan catat hal-hal berikut:
-
Wilayah AWS Tempat bucket Amazon S3 Anda berada
-
Jalur URI Amazon S3 tempat artefak model disimpan
-
Peran IAM untuk AI SageMaker
-
Jalur registri Docker Amazon ECR URI untuk gambar khusus yang berisi kode inferensi, atau kerangka kerja dan versi gambar Docker bawaan yang didukung dan oleh AWS
Untuk daftar yang Layanan AWS tersedia di masing-masing Wilayah AWS, lihat Peta Wilayah dan Jaringan Edge
penting
Bucket Amazon S3 tempat artefak model disimpan harus Wilayah AWS sama dengan model yang Anda buat.
Pemanfaatan sumber daya bersama dengan beberapa model
Anda dapat menerapkan satu atau beberapa model ke titik akhir dengan Amazon SageMaker AI. Ketika beberapa model berbagi titik akhir, mereka bersama-sama memanfaatkan sumber daya yang dihosting di sana, seperti instance komputasi ML, CPU, dan akselerator. Cara paling fleksibel untuk menerapkan beberapa model ke titik akhir adalah dengan mendefinisikan setiap model sebagai komponen inferensi.
Komponen inferensi
Komponen inferensi adalah objek hosting SageMaker AI yang dapat Anda gunakan untuk menerapkan model ke titik akhir. Dalam pengaturan komponen inferensi, Anda menentukan model, titik akhir, dan bagaimana model menggunakan sumber daya yang dihosting oleh titik akhir. Untuk menentukan model, Anda dapat menentukan objek Model SageMaker AI, atau Anda dapat langsung menentukan artefak model dan gambar.
Dalam pengaturan, Anda dapat mengoptimalkan pemanfaatan sumber daya dengan menyesuaikan bagaimana inti CPU, akselerator, dan memori yang diperlukan dialokasikan ke model. Anda dapat menerapkan beberapa komponen inferensi ke titik akhir, di mana setiap komponen inferensi berisi satu model dan kebutuhan pemanfaatan sumber daya untuk model tersebut.
Setelah menerapkan komponen inferensi, Anda dapat langsung memanggil model terkait saat menggunakan InvokeEndpoint tindakan di SageMaker API.
Komponen inferensi memberikan manfaat berikut:
- Fleksibilitas
-
Komponen inferensi memisahkan detail hosting model dari titik akhir itu sendiri. Ini memberikan lebih banyak fleksibilitas dan kontrol atas bagaimana model dihosting dan disajikan dengan titik akhir. Anda dapat meng-host beberapa model pada infrastruktur yang sama, dan Anda dapat menambahkan atau menghapus model dari titik akhir sesuai kebutuhan. Anda dapat memperbarui setiap model secara independen.
- Skalabilitas
-
Anda dapat menentukan berapa banyak salinan dari setiap model untuk dihosting, dan Anda dapat menetapkan jumlah salinan minimum untuk memastikan bahwa model dimuat dalam jumlah yang Anda butuhkan untuk melayani permintaan. Anda dapat menskalakan salinan komponen inferensi apa pun hingga nol, yang memberi ruang bagi salinan lain untuk meningkatkan skala.
SageMaker AI mengemas model Anda sebagai komponen inferensi saat Anda menerapkannya dengan menggunakan:
-
SageMaker Studio Klasik.
-
SageMaker Python SDK untuk menerapkan objek Model (di mana Anda mengatur tipe titik akhir ke
EndpointType.INFERENCE_COMPONENT_BASED). -
AWS SDK for Python (Boto3) Untuk menentukan
InferenceComponentobjek yang Anda terapkan ke titik akhir.
Menyebarkan model dengan SageMaker Studio
Selesaikan langkah-langkah berikut untuk membuat dan menerapkan model Anda secara interaktif melalui SageMaker Studio. Untuk informasi selengkapnya tentang Studio, lihat dokumentasi Studio. Untuk panduan lebih lanjut tentang berbagai skenario penerapan, lihat blog Paket dan terapkan model ML klasik dan LLM dengan mudah dengan Amazon SageMaker AI — Bagian 2.
Siapkan artefak dan izin Anda
Lengkapi bagian ini sebelum membuat model di SageMaker Studio.
Anda memiliki dua opsi untuk membawa artefak Anda dan membuat model di Studio:
-
Anda dapat membawa
tar.gzarsip pra-paket, yang harus menyertakan artefak model Anda, kode inferensi kustom apa pun, dan dependensi apa pun yang tercantum dalam file.requirements.txt -
SageMaker AI dapat mengemas artefak Anda untuk Anda. Anda hanya perlu membawa artefak model mentah dan dependensi apa pun dalam
requirements.txtfile, dan SageMaker AI dapat memberikan kode inferensi default untuk Anda (atau Anda dapat mengganti kode default dengan kode inferensi khusus Anda sendiri). SageMaker AI mendukung opsi ini untuk kerangka kerja berikut: PyTorch, XGBoost.
Selain membawa model Anda, peran AWS Identity and Access Management (IAM) Anda, dan wadah Docker (atau kerangka kerja dan versi yang diinginkan yang SageMaker AI memiliki wadah pra-bangun), Anda juga harus memberikan izin untuk membuat dan menerapkan model melalui SageMaker AI Studio.
Anda harus memiliki AmazonSageMakerFullAccess kebijakan yang melekat pada peran IAM Anda sehingga Anda dapat mengakses SageMaker AI dan layanan terkait lainnya. Untuk melihat harga jenis instans di Studio, Anda juga harus melampirkan AWS PriceListServiceFullAccess kebijakan (atau jika Anda tidak ingin melampirkan keseluruhan kebijakan, lebih khusus lagi, pricing:GetProducts tindakan).
Jika Anda memilih untuk mengunggah artefak model saat membuat model (atau mengunggah file muatan sampel untuk rekomendasi inferensi), maka Anda harus membuat bucket Amazon S3. Nama bucket harus diawali dengan kataSageMaker AI. Kapitalisasi alternatif SageMaker AI juga dapat diterima: Sagemaker atau. sagemaker
Sebaiknya gunakan konvensi penamaan bucketsagemaker-{. Bucket ini digunakan untuk menyimpan artefak yang Anda unggah.Region}-{accountID}
Setelah membuat bucket, lampirkan kebijakan CORS (cross-origin resource sharing) berikut ke bucket:
[ { "AllowedHeaders": ["*"], "ExposeHeaders": ["Etag"], "AllowedMethods": ["PUT", "POST"], "AllowedOrigins": ['https://*.sagemaker.aws'], } ]
Anda dapat melampirkan kebijakan CORS ke bucket Amazon S3 dengan menggunakan salah satu metode berikut:
-
Melalui halaman
Edit cross-origin resource sharing (CORS) di konsol Amazon S3 -
Menggunakan API Amazon S3 PutBucketCors
-
Menggunakan perintah put-bucket-cors: AWS CLI
aws s3api put-bucket-cors --bucket="..." --cors-configuration="..."
Buat model yang dapat diterapkan
Pada langkah ini, Anda membuat versi model yang dapat diterapkan di SageMaker AI dengan menyediakan artefak Anda bersama dengan spesifikasi tambahan, seperti wadah dan kerangka kerja yang Anda inginkan, kode inferensi khusus, dan pengaturan jaringan.
Buat model yang dapat diterapkan di SageMaker Studio dengan melakukan hal berikut:
-
Buka aplikasi SageMaker Studio.
-
Di panel navigasi kiri, pilih Model.
-
Pilih tab Model yang dapat digunakan.
-
Pada halaman Model yang dapat digunakan, pilih Buat.
-
Pada halaman Buat model yang dapat disebarkan, untuk bidang Nama model, masukkan nama untuk model.
Ada beberapa bagian lagi untuk Anda isi di halaman Buat model yang dapat diterapkan.
Bagian definisi kontainer terlihat seperti tangkapan layar berikut:
Untuk Definisi kontainer bagian, lakukan hal berikut:
-
Untuk Jenis Kontainer, pilih Pre-built wadah jika Anda ingin menggunakan wadah yang dikelola SageMaker AI, atau pilih Bawa wadah Anda sendiri jika Anda memiliki wadah sendiri.
-
Jika Anda memilih Pre-built wadah, pilih framework Container, versi Framework, dan tipe Hardware yang ingin Anda gunakan.
-
Jika Anda memilih Bawa wadah Anda sendiri, masukkan jalur Amazon ECR untuk jalur ECR ke gambar wadah.
Kemudian, isi bagian Arti fak, yang terlihat seperti tangkapan layar berikut:
Untuk Artifacts bagian, lakukan hal berikut:
-
Jika Anda menggunakan salah satu kerangka kerja yang didukung SageMaker AI untuk mengemas artefak model (PyTorch atau XGBoost), maka untuk Arti facts, Anda dapat memilih opsi Ungg ah artefak. Dengan opsi ini, Anda cukup menentukan artefak model mentah Anda, kode inferensi khusus yang Anda miliki, dan file requirements.txt Anda, dan SageMaker AI menangani pengemasan arsip untuk Anda. Lakukan hal-hal berikut:
-
Untuk Artefak, pilih Unggah artefak untuk terus menyediakan file Anda. Jika tidak, jika Anda sudah memiliki
tar.gzarsip yang berisi file model, kode inferensi, danrequirements.txtfile, pilih In put S3 URI ke artefak pra-paket. -
Jika Anda memilih untuk mengunggah artefak, maka untuk bucket S3, masukkan jalur Amazon S3 ke bucket tempat Anda ingin SageMaker AI menyimpan artefak setelah mengemasnya untuk Anda. Kemudian, selesaikan langkah-langkah berikut.
-
Untuk Unggah artefak model, unggah file model Anda.
-
Untuk Kode inferensi, pilih Gunakan kode inferensi default jika Anda ingin menggunakan kode default yang disediakan SageMaker AI untuk menyajikan inferensi. Jika tidak, pilih Unggah kode inferensi yang disesuaikan untuk menggunakan kode inferensi Anda sendiri.
-
Untuk Upload requirements.txt, unggah file teks yang mencantumkan dependensi apa pun yang ingin Anda instal saat runtime.
-
-
Jika Anda tidak menggunakan kerangka kerja yang didukung SageMaker AI untuk mengemas artefak model, Studio menunjukkan opsi Pre-packaged artefak, dan Anda harus menyediakan semua artefak yang sudah dikemas sebagai
tar.gzarsip. Lakukan hal-hal berikut:-
Untuk Pre-packaged artefak, pilih Input S3 URI untuk artefak model pra- paket jika
tar.gzarsip Anda sudah diunggah ke Amazon S3. Pilih Unggah artefak model pra- paket jika Anda ingin langsung mengunggah arsip Anda ke SageMaker AI. -
Jika Anda memilih Input S3 URI untuk artefak model pra- paket, masukkan jalur Amazon S3 ke arsip Anda untuk URI S3. Jika tidak, pilih dan unggah arsip dari mesin lokal Anda.
-
Bagian selanjutnya adalah Keamanan, yang terlihat seperti tangkapan layar berikut:
Untuk Keamanan bagian, lakukan hal berikut:
-
Untuk peran IAM, masukkan ARN untuk peran IAM.
-
(Opsional) Untuk Virtual Private Cloud (VPC), Anda dapat memilih Amazon VPC untuk menyimpan konfigurasi model dan artefak Anda.
-
(Opsional) Aktif kan sak elar isolasi jaringan jika Anda ingin membatasi akses internet wadah Anda.
Terakhir, Anda dapat secara opsional mengisi bagian Opsi lanjutan, yang terlihat seperti tangkapan layar berikut:
(Opsional) Untuk Opsi lanjutan bagian, lakukan hal berikut:
-
Aktifkan sak elar Rekomendasi instans yang disesuaikan jika Anda ingin menjalankan tugas Rekom SageMaker endasi Inferensi Amazon pada model Anda setelah pembuatannya. Inference Recommender adalah fitur yang memberi Anda jenis instans yang direkomendasikan untuk mengoptimalkan kinerja inferensi dan biaya. Anda dapat melihat rekomendasi instans ini saat mempersiapkan penerapan model Anda.
-
Untuk Tambahkan variabel lingkungan, masukkan variabel lingkungan untuk wadah Anda sebagai pasangan kunci-nilai.
-
Untuk Tag, masukkan tag apa pun sebagai pasangan kunci-nilai.
-
Setelah menyelesaikan konfigurasi model dan wadah Anda, pilih Buat model yang dapat diterapkan.
Anda sekarang harus memiliki model di SageMaker Studio yang siap untuk penerapan.
Menyebarkan model Anda
Terakhir, Anda menerapkan model yang Anda konfigurasikan pada langkah sebelumnya ke titik akhir HTTPS. Anda dapat menerapkan model tunggal atau beberapa model ke titik akhir.
Kompatibilitas model dan titik akhir
Sebelum Anda dapat menerapkan model ke titik akhir, model dan titik akhir harus kompatibel dengan memiliki nilai yang sama untuk pengaturan berikut:
-
Peran IAM
-
Amazon VPC, termasuk subnet dan grup keamanannya
-
Isolasi jaringan (diaktifkan atau dinonaktifkan)
Studio mencegah Anda menerapkan model ke titik akhir yang tidak kompatibel dengan cara berikut:
-
Jika Anda mencoba menerapkan model ke titik akhir baru, SageMaker AI mengonfigurasi titik akhir dengan pengaturan awal yang kompatibel. Jika Anda merusak kompatibilitas dengan mengubah pengaturan ini, Studio akan menampilkan peringatan dan mencegah penerapan Anda.
-
Jika Anda mencoba menerapkan ke titik akhir yang ada, dan titik akhir itu tidak kompatibel, Studio menampilkan peringatan dan mencegah penerapan Anda.
-
Jika Anda mencoba menambahkan beberapa model ke penerapan, Studio mencegah Anda menerapkan model yang tidak kompatibel satu sama lain.
Saat Studio menampilkan peringatan tentang ketidakcocokan model dan titik akhir, Anda dapat memilih Lihat detail dalam peringatan untuk melihat pengaturan mana yang tidak kompatibel.
Salah satu cara untuk menerapkan model adalah dengan melakukan hal berikut di Studio:
-
Buka aplikasi SageMaker Studio.
-
Di panel navigasi kiri, pilih Model.
-
Pada halaman Model, pilih satu atau beberapa model dari daftar model SageMaker AI.
-
Pilih Deploy.
-
Untuk nama Endpoint, buka menu dropdown. Anda dapat memilih titik akhir yang ada atau Anda dapat membuat titik akhir baru tempat Anda menerapkan model.
-
Untuk Jenis Inst ance, pilih jenis instance yang ingin Anda gunakan untuk titik akhir. Jika sebelumnya Anda menjalankan pekerjaan Rekomendasi Inferensi untuk model, jenis instans yang Anda rekomendasikan akan muncul dalam daftar di bawah judul Direkomendasikan. Jika tidak, Anda akan melihat beberapa contoh Prospektif yang mungkin cocok untuk model Anda.
Kompatibilitas jenis instans untuk JumpStart
Jika Anda menerapkan JumpStart model, Studio hanya menampilkan jenis instance yang didukung model.
-
Untuk Jumlah instans awal, masukkan jumlah instans awal yang ingin Anda sediakan untuk titik akhir.
-
Untuk Jumlah instans maksimum, tentukan jumlah maksimum instans yang dapat disediakan oleh titik akhir saat dinaikkan untuk mengakomodasi peningkatan lalu lintas.
-
Jika model yang Anda terapkan adalah salah satu JumpStart LLM yang paling sering digunakan dari hub model, maka opsi Konfigurasi alternatif muncul setelah kolom jenis instans dan jumlah instance.
Untuk JumpStart LLM paling populer, AWS memiliki jenis instans pra-tolok ukur untuk dioptimalkan baik biaya maupun kinerja. Data ini dapat membantu Anda memutuskan jenis instans mana yang akan digunakan untuk menerapkan LLM Anda. Pilih Konfigur asi alternatif untuk membuka kotak dialog yang berisi data pra-tolok ukur. Panel terlihat seperti tangkapan layar berikut:
Di kotak Konfigurasi alternatif, lakukan hal berikut:
-
Pilih jenis instance. Anda dapat memilih Biaya per jam atau Kin erja terbaik untuk melihat jenis instans yang mengoptimalkan biaya atau kinerja untuk model yang ditentukan. Anda juga dapat memilih Instans lain yang didukung untuk melihat daftar jenis instans lain yang kompatibel dengan JumpStart model. Perhatikan bahwa memilih jenis instance di sini akan menggantikan pilihan instance sebelumnya yang ditentukan pada Langkah 6.
-
(Opsional) Aktifkan sakelar Ku stomisasi konfigurasi yang dipilih untuk menentukan total token maksimum (jumlah maksimum token yang ingin Anda izinkan, yang merupakan jumlah token input Anda dan keluaran model yang dihasilkan), Panjang token input maksimum (jumlah maksimum token yang ingin Anda izinkan untuk masukan setiap permintaan), dan Permintaan bersamaan maksimum (jumlah maksimum permintaan yang dapat diproses model pada satu waktu).
-
Pilih Pilih untuk mengonfirmasi jenis instans dan pengaturan konfigurasi Anda.
-
-
Bidang Model seharusnya sudah diisi dengan nama model atau model yang Anda gunakan. Anda dapat memilih Tambahkan model untuk menambahkan lebih banyak model ke penerapan. Untuk setiap model yang Anda tambahkan, isi kolom berikut:
-
Untuk Jumlah inti CPU, masukkan inti CPU yang ingin Anda dedikasikan untuk penggunaan model.
-
Untuk Jumlah salinan minimum, masukkan jumlah minimum salinan model yang ingin Anda hosting di titik akhir pada waktu tertentu.
-
Untuk Memori CPU Min (MB), masukkan jumlah minimum memori (dalam MB) yang dibutuhkan model.
-
Untuk Memori CPU Maks (MB), masukkan jumlah memori maksimum (dalam MB) yang ingin Anda izinkan model untuk digunakan.
-
-
(Opsional) Untuk opsi Lanjutan, lakukan hal berikut:
-
Untuk peran IAM, gunakan peran eksekusi SageMaker AI IAM default, atau tentukan peran Anda sendiri yang memiliki izin yang Anda butuhkan. Perhatikan bahwa peran IAM ini harus sama dengan peran yang Anda tentukan saat membuat model yang dapat diterapkan.
-
Untuk Virtual Private Cloud (VPC), Anda dapat menentukan VPC tempat Anda ingin meng-host titik akhir Anda.
-
Untuk kunci KMS Enkripsi, pilih AWS KMS kunci untuk mengenkripsi data pada volume penyimpanan yang dilampirkan ke instance komputasi ML yang menghosting titik akhir.
-
Aktifkan sakelar Aktif kan isolasi jaringan untuk membatasi akses internet wadah Anda.
-
Untuk konfigurasi batas waktu, masukkan nilai untuk bidang batas waktu unduhan data model (detik) dan batas waktu pemeriksaan kesehatan startup kontainer (detik). Nilai-nilai ini menentukan jumlah waktu maksimum yang memungkinkan SageMaker AI untuk mengunduh model ke wadah dan memulai wadah, masing-masing.
-
Untuk Tag, masukkan tag apa pun sebagai pasangan kunci-nilai.
catatan
SageMaker AI mengonfigurasi pengaturan peran IAM, VPC, dan isolasi jaringan dengan nilai awal yang kompatibel dengan model yang Anda gunakan. Jika Anda merusak kompatibilitas dengan mengubah pengaturan ini, Studio akan menampilkan peringatan dan mencegah penerapan Anda.
-
Setelah mengonfigurasi opsi Anda, halaman akan terlihat seperti tangkapan layar berikut.
Setelah mengonfigurasi penerapan Anda, pilih Deploy untuk membuat titik akhir dan menerapkan model Anda.
Menyebarkan model dengan Python SDK
Menggunakan SageMaker Python SDK, Anda dapat membangun model Anda dengan dua cara. Yang pertama adalah membuat objek model dari ModelBuilder kelas Model or. Jika Anda menggunakan Model kelas untuk membuat Model objek, Anda perlu menentukan paket model atau kode inferensi (tergantung pada server model Anda), skrip untuk menangani serialisasi dan deserialisasi data antara klien dan server, dan dependensi apa pun yang akan diunggah ke Amazon S3 untuk konsumsi. Cara kedua untuk membangun model Anda adalah dengan menggunakan ModelBuilder yang Anda berikan artefak model atau kode inferensi. ModelBuildersecara otomatis menangkap dependensi Anda, menyimpulkan fungsi serialisasi dan deserialisasi yang diperlukan, dan mengemas dependensi Anda untuk membuat objek Anda. Model Untuk informasi selengkapnya tentang ModelBuilder, lihat Buat model di Amazon SageMaker AI dengan ModelBuilder.
Bagian berikut menjelaskan kedua metode untuk membuat model dan menerapkan objek model Anda.
Penyiapan
Contoh berikut mempersiapkan proses penerapan model. Mereka mengimpor pustaka yang diperlukan dan menentukan URL S3 yang menemukan artefak model.
contoh URL artefak model
Kode berikut membangun contoh URL Amazon S3. URL menemukan artefak model untuk model pra-terlatih di bucket Amazon S3.
# Create a variable w/ the model S3 URL # The name of your S3 bucket: s3_bucket = "amzn-s3-demo-bucket" # The directory within your S3 bucket your model is stored in: bucket_prefix = "sagemaker/model/path" # The file name of your model artifact: model_filename = "my-model-artifact.tar.gz" # Relative S3 path: model_s3_key = f"{bucket_prefix}/"+model_filename # Combine bucket name, model file name, and relate S3 path to create S3 model URL: model_url = f"s3://{s3_bucket}/{model_s3_key}"
URL Amazon S3 lengkap disimpan dalam variabelmodel_url, yang digunakan dalam contoh berikut.
Gambaran umum
Ada beberapa cara untuk menerapkan model dengan SageMaker Python SDK atau SDK untuk Python (Boto3). Bagian berikut merangkum langkah-langkah yang Anda selesaikan untuk beberapa pendekatan yang mungkin. Langkah-langkah ini ditunjukkan oleh contoh-contoh berikut.
Konfigurasi
Contoh berikut mengkonfigurasi sumber daya yang Anda perlukan untuk menerapkan model ke titik akhir.
Deploy
Contoh berikut menerapkan model ke titik akhir.
Menyebarkan model dengan AWS CLI
Anda dapat menerapkan model ke titik akhir dengan menggunakan AWS CLI.
Gambaran umum
Saat Anda menerapkan model dengan AWS CLI, Anda dapat menyebarkannya dengan atau tanpa menggunakan komponen inferensi. Bagian berikut merangkum perintah yang Anda jalankan untuk kedua pendekatan. Perintah-perintah ini ditunjukkan oleh contoh-contoh berikut.
Konfigurasi
Contoh berikut mengkonfigurasi sumber daya yang Anda perlukan untuk menerapkan model ke titik akhir.
Deploy
Contoh berikut menerapkan model ke titik akhir.