Penyebaran titik akhir online untuk inferensi real time
BERLAKU UNTUK:Ekstensi ml Azure CLI v2 (saat ini)Python SDK azure-ai-ml v2 (saat ini)
Artikel ini menjelaskan titik akhir online untuk inferensi real time di Azure Pembelajaran Mesin. Inferensi adalah proses penerapan data input baru ke model pembelajaran mesin untuk menghasilkan output. Azure Pembelajaran Mesin memungkinkan Anda melakukan inferensi real time pada data dengan menggunakan model yang disebarkan ke titik akhir online. Meskipun output ini biasanya disebut prediksi, Anda dapat menggunakan inferensi untuk menghasilkan output untuk tugas pembelajaran mesin lainnya, seperti klasifikasi dan pengklusteran.
Titik akhir online
Titik akhir online menyebarkan model ke server web yang dapat mengembalikan prediksi di bawah protokol HTTP. Titik akhir online dapat mengoprasikan model untuk inferensi real time dalam permintaan latensi rendah yang sinkron, dan paling baik digunakan saat:
- Anda memiliki persyaratan latensi rendah.
- Model Anda dapat menjawab permintaan dalam waktu yang relatif singkat.
- Input model Anda sesuai dengan payload HTTP permintaan.
- Anda perlu meningkatkan jumlah permintaan.
Untuk menentukan titik akhir, Anda harus menentukan:
- Nama titik akhir. Nama ini harus unik di wilayah Azure. Untuk persyaratan penamaan lainnya, lihat Azure Pembelajaran Mesin titik akhir online dan titik akhir batch.
- Mode autentikasi. Anda dapat memilih dari mode autentikasi berbasis kunci, mode autentikasi berbasis token Azure Pembelajaran Mesin, atau autentikasi berbasis token Microsoft Entra untuk titik akhir. Untuk informasi selengkapnya tentang mengautentikasi, lihat Mengautentikasi klien untuk titik akhir online.
Titik akhir online terkelola
Titik akhir online terkelola menyebarkan model pembelajaran mesin Anda dengan cara yang nyaman, turnkey, dan merupakan cara yang disarankan untuk menggunakan titik akhir online Azure Pembelajaran Mesin. Titik akhir online terkelola bekerja dengan mesin CPU dan GPU yang kuat di Azure dengan cara yang dapat diskalakan dan dikelola sepenuhnya.
Untuk membebaskan Anda dari overhead pengaturan dan pengelolaan infrastruktur yang mendasar, titik akhir ini juga mengurus penyajian, penskalaan, pengamanan, dan pemantauan model Anda. Untuk mempelajari cara menentukan titik akhir online terkelola, lihat Menentukan titik akhir.
Titik akhir online terkelola vs Azure Container Instances atau Azure Kubernetes Service (AKS) v1
Titik akhir online terkelola adalah cara yang disarankan untuk menggunakan titik akhir online di Azure Pembelajaran Mesin. Tabel berikut menyoroti atribut utama titik akhir online terkelola dibandingkan dengan solusi Azure Container Instances dan Azure Kubernetes Service (AKS) v1.
Atribut | Titik akhir online terkelola (v2) | Container Instances atau AKS (v1) |
---|---|---|
Keamanan/isolasi jaringan | Kontrol masuk/keluar yang mudah dengan pengalih cepat | Jaringan virtual tidak didukung atau memerlukan konfigurasi manual yang kompleks |
Layanan terkelola | • Provisi/penskalaan komputasi yang dikelola sepenuhnya • Konfigurasi jaringan untuk pencegahan penyelundupan data • Peningkatan OS host, peluncuran pembaruan di tempat yang dikontrol |
• Penskalakan terbatas • Pengguna harus mengelola konfigurasi atau peningkatan jaringan |
Konsep titik akhir/penyebaran | Perbedaan antara titik akhir dan penyebaran memungkinkan skenario kompleks seperti peluncuran model yang aman | Tidak ada konsep titik akhir |
Diagnostik dan Pemantauan | • Penelusuran kesalahan titik akhir lokal dimungkinkan dengan Docker dan Visual Studio Code • Analisis metrik dan log tingkat lanjut dengan bagan/kueri untuk membandingkan antara penyebaran • Perincian biaya ke tingkat penyebaran |
Tidak ada penelusuran kesalahan lokal yang mudah |
Skalabilitas | Elastis, dan penskalaan otomatis (tidak terikat oleh ukuran kluster default) | • Instans Kontainer tidak dapat diskalakan • AKS v1 hanya mendukung skala dalam kluster dan memerlukan konfigurasi skalabilitas |
Kesiapan perusahaan | Tautan privat, kunci yang dikelola pelanggan, ID Microsoft Entra, manajemen kuota, integrasi penagihan, Perjanjian Tingkat Layanan (SLA) | Tidak didukung |
Fitur ML tingkat lanjut | • Pengumpulan data model • Pemantauan model • Model penantang juara, peluncuran aman, pencerminan lalu lintas • Ekstensibilitas AI yang bertanggung jawab |
Tidak didukung |
Titik akhir online terkelola vs titik akhir online Kubernetes
Jika Anda lebih suka menggunakan Kubernetes untuk menyebarkan model dan melayani titik akhir, dan Anda nyaman dengan mengelola persyaratan infrastruktur, Anda dapat menggunakan titik akhir online Kubernetes. Titik akhir ini memungkinkan Anda untuk menyebarkan model dan melayani titik akhir online dengan CPU atau GPU di kluster Kubernetes yang sepenuhnya dikonfigurasi dan dikelola di mana saja.
Titik akhir online terkelola dapat membantu menyederhanakan proses penyebaran Anda dan memberikan manfaat berikut atas titik akhir online Kubernetes:
Manajemen infrastruktur otomatis
- Menyediakan komputasi dan menghosting model. Anda cukup menentukan jenis komputer virtual (VM) dan pengaturan skala.
- Memperbarui dan menambal gambar OS host yang mendasar.
- Melakukan pemulihan simpul jika ada kegagalan sistem.
Pemantauan dan log
- Kemampuan untuk memantau ketersediaan model, performa, dan SLA menggunakan integrasi asli dengan Azure Monitor.
- Kemudahan penelusuran kesalahan penyebaran dengan menggunakan log dan integrasi asli dengan Analitik Log.
Tampilan analisis biaya memungkinkan Anda memantau biaya di titik akhir dan tingkat penyebaran.
Catatan
Titik akhir online terkelola didasarkan pada komputasi Azure Machine Learning. Saat Anda menggunakan titik akhir online terkelola, Anda membayar biaya komputasi dan jaringan. Tidak ada tambahan biaya tambahan. Untuk informasi selengkapnya tentang harga, lihat Kalkulator harga Azure.
Jika Anda menggunakan jaringan virtual Azure Pembelajaran Mesin untuk mengamankan lalu lintas keluar dari titik akhir online terkelola, Anda dikenakan biaya untuk tautan privat Azure dan aturan keluar nama domain yang sepenuhnya memenuhi syarat (FQDN) yang digunakan jaringan virtual terkelola. Untuk informasi selengkapnya, lihat Harga untuk jaringan virtual terkelola.
Tabel berikut menyoroti perbedaan utama antara titik akhir online terkelola dan titik akhir online Kubernetes.
Titik akhir online terkelola | Titik akhir online Kubernetes (AKS v2) | |
---|---|---|
Pengguna yang disarankan | Pengguna yang menginginkan penyebaran model terkelola dan pengalaman MLOps yang disempurnakan | Pengguna yang lebih menyukai Kube dan dapat mengelola persyaratan infrastruktur mandiri self service |
Provisi node | Penyediaan, pembaruan, penghapusan komputasi terkelola | Tanggung jawab pengguna |
Pemeliharaan node | Pembaruan gambar OS host terkelola dan pengerasan keamanan | Tanggung jawab pengguna |
Ukuran kluster (penskalaan) | Manual terkelola dan skala otomatis yang mendukung provisi simpul tambahan | Manual dan skala otomatis, mendukung penskalaan jumlah replika dalam batas kluster tetap |
Jenis komputasi | Dikelola oleh layanan | Kluster Kubernetes yang dikelola pelanggan |
Identitas terkelola | Didukung | Didukung |
Jaringan virtual | Didukung melalui isolasi jaringan terkelola | Tanggung jawab pengguna |
Pemantauan dan pengelogan di luar kotak | Azure Monitor dan Log Analytics didukung, termasuk metrik utama dan tabel log untuk titik akhir dan penyebaran | Tanggung jawab pengguna |
Pengelogan dengan Application Insights (warisan) | Didukung | Didukung |
Tampilan biaya | Terperinci ke tingkat titik akhir/penyebaran | Tingkat kluster |
Biaya yang diterapkan ke | Komputer virtual (VM) yang ditetapkan ke penyebaran | VM yang ditetapkan ke kluster |
Lalu lintas yang dicerminkan | Didukung | Tidak didukung |
Penyebaran tanpa kode | Mendukung model MLflow dan Triton | Mendukung model MLflow dan Triton |
Penyebaran online
Penyebaran adalah sekumpulan sumber daya dan komputasi yang diperlukan untuk menghosting model yang melakukan inferensi. Satu titik akhir dapat berisi beberapa penyebaran dengan konfigurasi yang berbeda. Penyiapan ini membantu memisahkan antarmuka yang disajikan oleh titik akhir dari detail implementasi yang ada dalam penyebaran. Titik akhir online memiliki mekanisme perutean yang dapat mengarahkan permintaan ke penyebaran tertentu di titik akhir.
Diagram berikut menunjukkan titik akhir online yang memiliki dua penyebaran, biru dan hijau. Penyebaran biru menggunakan VM dengan SKU CPU, dan menjalankan model versi 1. Penyebaran hijau menggunakan VM dengan SKU GPU, dan menjalankan model versi 2. Titik akhir dikonfigurasi untuk merutekan 90% lalu lintas masuk ke penyebaran biru, sementara penyebaran hijau menerima sisa 10%.
Untuk menyebarkan model, Anda harus memiliki:
File model, atau nama dan versi model yang sudah terdaftar di ruang kerja Anda.
Kode skrip penilaian yang menjalankan model pada permintaan input tertentu.
Skrip penilaian menerima data yang dikirimkan ke layanan web yang disebarkan dan meneruskannya ke model. Skrip kemudian menjalankan model dan mengembalikan responsnya ke klien. Skrip penilaian khusus untuk model Anda dan harus memahami data yang diharapkan model sebagai input dan kembali sebagai output.
Lingkungan untuk menjalankan model Anda. Lingkungan dapat menjadi gambar Docker dengan dependensi Conda atau Dockerfile.
Pengaturan untuk menentukan jenis instans dan kapasitas penskalakan.
Untuk mempelajari cara menyebarkan titik akhir online dengan menggunakan Azure CLI, Python SDK, studio Azure Pembelajaran Mesin, atau templat ARM, lihat Menyebarkan model pembelajaran mesin dengan menggunakan titik akhir online.
Atribut utama penyebaran
Tabel berikut menjelaskan atribut utama penyebaran:
Atribut | KETERANGAN |
---|---|
Nama | Nama penyebaran. |
Nama titik akhir 2 | Nama titik akhir untuk membuat penyebaran di bawah. |
Model | Model yang digunakan untuk penyebaran. Nilai ini dapat berupa referensi ke model berversi yang ada di ruang kerja atau spesifikasi model sebaris. Untuk informasi selengkapnya tentang cara melacak dan menentukan jalur ke model Anda, lihat Menentukan model yang akan digunakan untuk digunakan di titik akhir online. |
Jalur kode | Jalur ke direktori pada lingkungan pengembangan lokal yang berisi semua kode sumber Python untuk menilai model. Anda dapat menggunakan direktori dan paket bertumpuk. |
Skrip penskoran | Jalur relatif ke file penilaian di direktori kode sumber. Kode Python ini harus memiliki fungsi init() dan fungsi run() . Fungsi init() ini dipanggil setelah model dibuat atau diperbarui, misalnya untuk menyimpan model dalam memori. Fungsi run() ini disebut pada setiap pemanggilan titik akhir untuk melakukan penilaian/prediksi aktual. |
Lingkungan | Lingkungan untuk menghosting model dan kode. Nilai ini dapat berupa referensi ke lingkungan berversi yang ada di ruang kerja atau spesifikasi lingkungan sebaris. |
Jenis instans | Ukuran VM untuk digunakan untuk penyebaran. Untuk daftar ukuran yang didukung, lihat Daftar SKU titik akhir online terkelola. |
Jumlah Instans | Jumlah instans yang digunakan untuk penyebaran. Mendasarkan nilai pada beban kerja yang Anda harapkan. Untuk ketersediaan tinggi, atur nilai ke setidaknya 3 . Sistem ini mencadangkan tambahan 20% untuk melakukan peningkatan. Untuk informasi selengkapnya, lihat Alokasi kuota VM untuk penyebaran. |
Catatan untuk penyebaran online
Penyebaran dapat mereferensikan model dan gambar kontainer yang ditentukan di Lingkungan kapan saja, misalnya ketika instans penyebaran menjalani patch keamanan atau operasi pemulihan lainnya. Jika Anda menggunakan model terdaftar atau gambar kontainer di Azure Container Registry untuk penyebaran dan kemudian menghapus model atau gambar kontainer, penyebaran yang mengandalkan aset ini dapat gagal saat pencitraan ulang terjadi. Jika Anda menghapus model atau gambar kontainer, pastikan untuk membuat ulang atau memperbarui penyebaran dependen dengan model alternatif atau gambar kontainer.
Registri kontainer yang dirujuk lingkungan dapat bersifat privat hanya jika identitas titik akhir memiliki izin untuk mengaksesnya melalui autentikasi Microsoft Entra dan kontrol akses berbasis peran Azure (RBAC). Untuk alasan yang sama, registri Docker privat selain Container Registry tidak didukung.
Microsoft secara teratur menambal gambar dasar untuk kerentanan keamanan yang diketahui. Anda perlu menyebarkan ulang titik akhir Anda untuk menggunakan gambar yang di-patch. Jika Anda memberikan gambar Anda sendiri, Anda bertanggung jawab untuk memperbaruinya. Untuk informasi selengkapnya, lihat Patching gambar.
Alokasi kuota VM untuk penyebaran
Untuk titik akhir online terkelola, Azure Pembelajaran Mesin mencadangkan 20% sumber daya komputasi Anda untuk melakukan peningkatan pada beberapa SKU VM. Jika Anda meminta sejumlah instans tertentu untuk SKU VM tersebut dalam penyebaran, Anda harus memiliki kuota yang ceil(1.2 * number of instances requested for deployment) * number of cores for the VM SKU
tersedia untuk menghindari kesalahan. Misalnya, jika Anda meminta 10 instans VM Standard_DS3_v2 (yang dilengkapi dengan empat core) dalam penyebaran, Anda harus memiliki kuota untuk 48 core (12 instances * 4 cores
) yang tersedia. Kuota tambahan ini dicadangkan untuk operasi yang dimulai sistem seperti peningkatan OS dan pemulihan VM, dan tidak akan dikenakan biaya kecuali operasi tersebut berjalan.
Ada SKU VM tertentu yang dikecualikan dari reservasi kuota tambahan. Untuk melihat daftar lengkap, lihat Daftar SKU titik akhir online terkelola. Untuk melihat peningkatan penggunaan dan permintaan kuota Anda, lihat Melihat penggunaan dan kuota Anda di portal Azure. Untuk melihat biaya Anda menjalankan titik akhir online terkelola, lihat Menampilkan biaya untuk titik akhir online terkelola.
Kumpulan kuota bersama
Azure Pembelajaran Mesin menyediakan kumpulan kuota bersama tempat pengguna di berbagai wilayah dapat mengakses kuota untuk melakukan pengujian dalam waktu terbatas, tergantung pada ketersediaan. Saat Anda menggunakan studio untuk menyebarkan model Llama-2, Phi, Nemotron, Mistral, Dolly, dan Deci-DeciLM dari katalog model ke titik akhir online terkelola, Azure Pembelajaran Mesin memungkinkan Anda mengakses kumpulan kuota bersamanya untuk waktu yang singkat sehingga Anda dapat melakukan pengujian. Untuk informasi selengkapnya tentang kumpulan kuota bersama, lihat Kuota bersama Azure Pembelajaran Mesin.
Untuk menyebarkan model Llama-2, Phi, Nemotron, Mistral, Dolly, dan Deci-DeciLM dari katalog model dengan menggunakan kuota bersama, Anda harus memiliki langganan Perjanjian Enterprise. Untuk informasi selengkapnya tentang cara menggunakan kuota bersama untuk penyebaran titik akhir online, lihat Cara menyebarkan model fondasi menggunakan studio.
Untuk informasi selengkapnya tentang kuota dan batasan untuk sumber daya di Azure Pembelajaran Mesin, lihat Mengelola dan meningkatkan kuota dan batasan untuk sumber daya dengan Azure Pembelajaran Mesin.
Penyebaran untuk coder dan noncoder
Azure Pembelajaran Mesin mendukung penyebaran model ke titik akhir online untuk coder dan noncoder dengan menyediakan opsi untuk penyebaran tanpa kode, penyebaran kode rendah, dan penyebaran Bring Your Own Container (BYOC).
- Penyebaran tanpa kode menyediakan inferensi di luar kotak untuk kerangka kerja umum seperti scikit-learn, TensorFlow, PyTorch, dan Open Neural Network Exchange (ONNX) melalui MLflow dan Triton.
- Penyebaran kode rendah memungkinkan Anda untuk memberikan kode minimal bersama dengan model pembelajaran mesin Anda untuk penyebaran.
- Penyebaran BYOC memungkinkan Anda membawa hampir semua kontainer untuk menjalankan titik akhir online Anda. Anda dapat menggunakan semua fitur platform Azure Pembelajaran Mesin seperti penskalaan otomatis, GitOps, penelusuran kesalahan, dan peluncuran yang aman untuk mengelola alur MLOps Anda.
Tabel berikut menyoroti aspek utama dari opsi penyebaran online:
Tanpa kode | Kode rendah | BYOC | |
---|---|---|---|
Ringkasan | Menggunakan inferensi di luar kotak untuk kerangka kerja populer seperti scikit-learn, TensorFlow, PyTorch, dan ONNX, melalui MLflow dan Triton. Untuk informasi selengkapnya, lihat Menyebarkan model MLflow ke titik akhir online. | Menggunakan gambar yang aman dan diterbitkan secara publik untuk kerangka kerja populer, dengan pembaruan setiap dua minggu untuk mengatasi kerentanan. Anda menyediakan skrip penilaian dan/atau dependensi Python. Untuk informasi selengkapnya, lihat Lingkungan Yang Dikumpulkan Azure Pembelajaran Mesin. | Anda menyediakan tumpukan lengkap Anda melalui dukungan Azure Pembelajaran Mesin untuk gambar kustom. Untuk informasi selengkapnya, lihat Menggunakan kontainer kustom untuk menyebarkan model ke titik akhir online. |
Gambar dasar kustom | Tidak ada. Lingkungan yang dikumpulkan menyediakan gambar dasar untuk penyebaran yang mudah. | Anda dapat menggunakan gambar yang dikumpulkan atau gambar yang disesuaikan. | Bawa lokasi gambar kontainer yang dapat diakses seperti docker.io, Container Registry, atau Registri Artefak Microsoft, atau Dockerfile yang dapat Anda bangun/dorong dengan Container Registry untuk kontainer Anda. |
Dependensi kustom | Tidak ada. Lingkungan yang dikumpulkan menyediakan dependensi untuk penyebaran yang mudah. | Bawa lingkungan Azure Pembelajaran Mesin tempat model berjalan, baik gambar Docker dengan dependensi Conda, atau dockerfile. | Dependensi kustom disertakan dalam gambar kontainer. |
Kode kustom | Tidak ada. Skrip penilaian dibuat secara otomatis untuk memudahkan penyebaran. | Bawa skrip penilaian Anda. | Skrip penilaian disertakan dalam gambar kontainer. |
Catatan
AutoML menjalankan membuat skrip penilaian dan dependensi secara otomatis untuk pengguna. Untuk penyebaran tanpa kode, Anda dapat menyebarkan model AutoML apa pun tanpa menulis kode lain. Untuk penyebaran kode rendah, Anda dapat memodifikasi skrip yang dibuat secara otomatis ke kebutuhan bisnis Anda. Untuk mempelajari cara menyebarkan dengan model AutoML, lihat Cara menyebarkan model AutoML ke titik akhir online.
Penelusuran kesalahan titik akhir online
Jika memungkinkan, uji-jalankan titik akhir Anda secara lokal untuk memvalidasi dan men-debug kode dan konfigurasi Anda sebelum Anda menyebarkan ke Azure. Azure CLI dan Python SDK mendukung titik akhir dan penyebaran lokal, sementara azure Pembelajaran Mesin studio dan templat ARM tidak mendukung titik akhir atau penyebaran lokal.
Azure Pembelajaran Mesin menyediakan cara berikut untuk men-debug titik akhir online secara lokal dan dengan menggunakan log kontainer:
- Penelusuran kesalahan lokal dengan server HTTP inferensi Azure Pembelajaran Mesin
- Penelusuran kesalahan lokal dengan titik akhir lokal
- Penelusuran kesalahan lokal dengan titik akhir lokal dan Visual Studio Code
- Penelusuran kesalahan dengan log kontainer
Penelusuran kesalahan lokal dengan server HTTP inferensi Azure Pembelajaran Mesin
Anda dapat men-debug skrip penilaian Anda secara lokal dengan menggunakan server HTTP inferensi Azure Pembelajaran Mesin. Server HTTP adalah paket Python yang mengekspos fungsi penilaian Anda sebagai titik akhir HTTP dan membungkus kode server Flask dan dependensi ke dalam satu paket.
Azure Pembelajaran Mesin menyertakan server HTTP dalam gambar Docker bawaan untuk inferensi yang digunakan untuk menyebarkan model. Dengan menggunakan paket saja, Anda dapat menyebarkan model secara lokal untuk produksi, dan Anda juga dapat dengan mudah memvalidasi skrip penilaian entri Anda di lingkungan pengembangan lokal. Jika ada masalah dengan skrip penilaian, server mengembalikan kesalahan dan lokasi di mana kesalahan terjadi. Anda juga dapat menggunakan Visual Studio Code untuk men-debug dengan server HTTP inferensi Azure Pembelajaran Mesin.
Tip
Anda dapat menggunakan paket Python server HTTP inferensi Azure Pembelajaran Mesin untuk men-debug skrip penilaian Anda secara lokal tanpa Docker Engine. Penelusuran kesalahan dengan server inferensi membantu Anda men-debug skrip penilaian sebelum menyebarkan ke titik akhir lokal, sehingga Anda dapat men-debug tanpa terpengaruh oleh konfigurasi kontainer penyebaran.
Untuk informasi selengkapnya tentang penelusuran kesalahan dengan server HTTP, lihat Skrip penilaian debug dengan server HTTP inferensi Azure Pembelajaran Mesin.
Penelusuran kesalahan lokal dengan titik akhir lokal
Untuk penelusuran kesalahan lokal, Anda memerlukan model yang disebarkan ke lingkungan Docker lokal. Anda dapat menggunakan penyebaran lokal ini untuk pengujian dan penelusuran kesalahan sebelum penyebaran ke cloud.
Untuk menyebarkan secara lokal, Anda memerlukan Mesin Docker yang diinstal dan berjalan. Azure Pembelajaran Mesin kemudian membuat gambar Docker lokal untuk meniru gambar online. Azure Pembelajaran Mesin membangun dan menjalankan penyebaran untuk Anda secara lokal dan menyimpan gambar untuk perulangan yang cepat.
Tip
Jika Docker Engine tidak dimulai saat komputer dimulai, Anda dapat memecahkan masalah Docker Engine. Anda dapat menggunakan alat sisi klien seperti Docker Desktop untuk men-debug apa yang terjadi dalam kontainer.
Penelusuran kesalahan lokal biasanya melibatkan langkah-langkah berikut:
- Pertama, periksa apakah penyebaran lokal berhasil.
- Selanjutnya, panggil titik akhir lokal untuk inferensi.
- Terakhir, tinjau log output untuk operasi.
invoke
Titik akhir lokal memiliki batasan berikut:
Tidak ada dukungan untuk aturan lalu lintas, autentikasi, atau pengaturan pemeriksaan.
Dukungan hanya untuk satu penyebaran per titik akhir.
Dukungan untuk file dan lingkungan model lokal hanya dengan file conda lokal.
Untuk informasi selengkapnya tentang penelusuran kesalahan lokal, lihat Menyebarkan dan men-debug secara lokal dengan menggunakan titik akhir lokal.
Penelusuran kesalahan lokal dengan titik akhir lokal dan Visual Studio Code (pratinjau)
Penting
Fitur ini masih dalam pratinjau umum. Versi pratinjau ini disediakan tanpa perjanjian tingkat layanan, dan tidak disarankan untuk beban kerja produksi. Fitur tertentu mungkin tidak didukung atau mungkin memiliki kemampuan terbatas.
Untuk mengetahui informasi selengkapnya, lihat Ketentuan Penggunaan Tambahan untuk Pratinjau Microsoft Azure.
Seperti halnya penelusuran kesalahan lokal, Anda harus menginstal dan menjalankan Mesin Docker, lalu menyebarkan model ke lingkungan Docker lokal. Setelah Anda memiliki penyebaran lokal, titik akhir lokal Azure Pembelajaran Mesin menggunakan kontainer pengembangan Docker dan Visual Studio Code (kontainer pengembangan) untuk membangun dan mengonfigurasi lingkungan debugging lokal.
Dengan kontainer dev, Anda dapat menggunakan fitur Visual Studio Code seperti penelusuran kesalahan interaktif dari dalam kontainer Docker. Untuk informasi selengkapnya tentang penelusuran kesalahan titik akhir online secara interaktif di Visual Studio Code, lihat Men-debug titik akhir online secara lokal di Visual Studio Code.
Penelusuran kesalahan dengan log kontainer
Anda tidak bisa mendapatkan akses langsung ke VM tempat model disebarkan, tetapi Anda bisa mendapatkan log dari kontainer berikut yang berjalan di VM:
- Log konsol server inferensi berisi output fungsi cetak/pengelogan dari skrip penilaian Anda score.py kode.
- Log penginisialisasi penyimpanan berisi informasi tentang apakah data kode dan model berhasil diunduh ke kontainer. Kontainer berjalan sebelum kontainer server inferensi mulai berjalan.
Untuk informasi selengkapnya tentang penelusuran kesalahan dengan log kontainer, lihat Mendapatkan log kontainer.
Perutean dan pencerminan lalu lintas ke penyebaran online
Satu titik akhir online dapat memiliki beberapa penyebaran. Saat titik akhir menerima permintaan lalu lintas masuk, titik akhir dapat merutekan persentase lalu lintas ke setiap penyebaran, seperti dalam strategi penyebaran biru/hijau asli. Titik akhir juga dapat mencerminkan atau menyalin lalu lintas dari satu penyebaran ke penyebaran lain, yang disebut pencerminan lalu lintas atau bayangan.
Perutean lalu lintas untuk penyebaran biru/hijau
Penyebaran biru/hijau adalah strategi penyebaran yang memungkinkan Anda meluncurkan penyebaran hijau baru ke sebagian kecil pengguna atau permintaan sebelum meluncurkannya sepenuhnya. Titik akhir dapat menerapkan penyeimbangan beban untuk mengalokasikan persentase lalu lintas tertentu ke setiap penyebaran, dengan total alokasi di semua penyebaran yang menambahkan hingga 100%.
Tip
Permintaan dapat mengabaikan penyeimbangan beban lalu lintas yang dikonfigurasi dengan menyertakan header HTTP azureml-model-deployment
. Atur nilai header ke nama penyebaran yang Anda inginkan untuk dirutekan permintaan.
Gambar berikut menunjukkan pengaturan di studio Azure Pembelajaran Mesin untuk mengalokasikan lalu lintas antara penyebaran biru dan hijau.
Alokasi lalu lintas sebelumnya merutekan 10% lalu lintas ke penyebaran hijau dan 90% lalu lintas ke penyebaran biru, seperti yang ditunjukkan pada gambar berikut.
Pencerminan lalu lintas ke penyebaran online
Titik akhir juga dapat mencerminkan atau menyalin lalu lintas dari satu penyebaran ke penyebaran lainnya. Anda dapat menggunakan pencerminan lalu lintas, juga disebut pengujian bayangan, ketika Anda ingin menguji penyebaran baru dengan lalu lintas produksi tanpa memengaruhi hasil yang diterima pelanggan dari penyebaran yang ada.
Misalnya, Anda dapat menerapkan penyebaran biru/hijau di mana 100% lalu lintas dirutekan ke biru dan 10% dicerminkan ke penyebaran hijau. Hasil lalu lintas cermin ke penyebaran hijau tidak dikembalikan ke klien, tetapi metrik dan log direkam.
Untuk informasi selengkapnya tentang cara menggunakan pencerminan lalu lintas, lihat Melakukan peluncuran penyebaran baru yang aman untuk inferensi real time.
Kemampuan titik akhir online lainnya
Bagian berikut ini menjelaskan kemampuan lain dari titik akhir online Azure Pembelajaran Mesin.
Autentikasi dan Enkripsi
- Autentikasi: Token kunci dan Azure Pembelajaran Mesin
- Identitas terkelola: Ditetapkan pengguna dan ditetapkan sistem
- Lapisan soket aman (SSL) secara default untuk pemanggilan titik akhir
Penskalaan otomatis
Skala otomatis secara otomatis menjalankan jumlah sumber daya yang tepat untuk menangani beban pada aplikasi Anda. Titik akhir terkelola mendukung penskalakan otomatis melalui integrasi dengan fitur skala otomatis Azure Monitor. Anda dapat mengonfigurasi penskalaan berbasis metrik seperti pemanfaatan >CPU 70%, penskalaan berbasis jadwal seperti aturan jam kerja puncak, atau keduanya.
Untuk informasi selengkapnya, lihat Titik akhir online skala otomatis di Azure Pembelajaran Mesin.
Isolasi jaringan terkelola
Saat Anda menyebarkan model pembelajaran mesin ke titik akhir online terkelola, Anda dapat mengamankan komunikasi dengan titik akhir online dengan menggunakan titik akhir privat. Anda dapat mengonfigurasi keamanan untuk permintaan penilaian masuk dan komunikasi keluar secara terpisah.
Komunikasi masuk menggunakan titik akhir privat ruang kerja Azure Pembelajaran Mesin, sementara komunikasi keluar menggunakan titik akhir privat yang dibuat untuk jaringan virtual terkelola ruang kerja. Untuk informasi selengkapnya, lihat Isolasi jaringan dengan titik akhir online terkelola.
Memantau titik akhir dan penyebaran online
Titik akhir Azure Pembelajaran Mesin terintegrasi dengan Azure Monitor. Integrasi Azure Monitor memungkinkan Anda melihat metrik dalam bagan, mengonfigurasi pemberitahuan, tabel log kueri, dan menggunakan Application Insights untuk menganalisis peristiwa dari kontainer pengguna. Untuk informasi lebih lanjut, lihat Memantau titik akhir online.
Injeksi rahasia dalam penyebaran online (pratinjau)
Injeksi rahasia untuk penyebaran online melibatkan pengambilan rahasia seperti kunci API dari penyimpanan rahasia dan menyuntikkannya ke dalam kontainer pengguna yang berjalan di dalam penyebaran. Untuk menyediakan konsumsi rahasia yang aman untuk server inferensi yang menjalankan skrip penilaian Anda atau tumpukan inferensi dalam penyebaran BYOC, Anda dapat menggunakan variabel lingkungan untuk mengakses rahasia.
Anda dapat menyuntikkan rahasia sendiri dengan menggunakan identitas terkelola atau Anda dapat menggunakan fitur injeksi rahasia. Untuk informasi selengkapnya, lihat Injeksi rahasia di titik akhir online (pratinjau).
Konten terkait
- Menyebarkan dan menilai model pembelajaran mesin menggunakan titik akhir online
- Titik akhir batch
- Mengamankan titik akhir online terkelola Anda dengan isolasi jaringan
- Menyebarkan model dengan REST
- Memantau titik akhir online
- Melihat biaya untuk titik akhir online terkelola Azure Machine Learning
- Mengelola dan meningkatkan kuota dan batasan untuk sumber daya dengan Azure Pembelajaran Mesin