Uç Azure Machine Learning (önizleme) nedir?
Önemli
Bu özellik şu anda genel önizlemededir. Bu önizleme sürümü hizmet düzeyi sözleşmesi olmadan sağlanır ve üretim iş yükleri için önerilmez. Bazı özellikler desteklenmiyor olabileceği gibi özellikleri sınırlandırılmış da olabilir. Daha fazla bilgi için bkz. Microsoft Azure Önizlemeleri için Ek Kullanım Koşulları.
Hem Azure Machine Learning toplu çıkarım dağıtımları için model dağıtımlarını basit bir şekilde kullanmak üzere uç noktaları (önizleme) kullanın. Uç noktalar, işlem türleri arasında model dağıtımlarını çağırmak ve yönetmek için birleşik bir arabirim sağlar.
Bu makalede şunları öğrenirsiniz:
- Uç Noktalar
- Dağıtımlar
- Yönetilen çevrimiçi uç noktalar
- Kubernetes çevrimiçi uç noktaları
- Toplu çıkarım uç noktaları
Uç noktalar ve dağıtımlar (önizleme) nedir?
Bir makine öğrenmesi modelini eğitdikten sonra, başkalarının çıkarım yapmak için kullanamalarını için modeli dağıtmanız gerekir. Bu Azure Machine Learning uç noktaları (önizleme) ve dağıtımları (önizleme) kullanabilirsiniz.
Uç nokta, istemcilerin eğitilen bir modelin çıkarım (puanlama) çıkışını almak için çağırabilirsiniz bir HTTPS uç noktasıdır. Şu olanakları sunar:
- "Anahtar kimlik doğrulama &" tabanlı kimlik doğrulaması kullanarak kimlik doğrulaması
- SSL sonlandırma
- Kararlı puanlama URI'si (endpoint-name.region.inference.ml.azure.com)
Dağıtım, gerçek çıkarım yapan modeli barındırmak için gereken bir kaynak kümesidir.
Tek bir uç nokta birden çok dağıtım içerebilir. Uç noktalar ve dağıtımlar, Azure Resource Manager kaynaklarda görünen bağımsız Azure portal.
Azure Machine Learning uç noktalar ve dağıtımlar kavramını, farklı uç nokta türlerini uygulamak için kullanır: çevrimiçi uç noktalar ve toplu iş uç noktaları.
Birden çok geliştirici arabirimi
Birden çok geliştirici aracıyla toplu ve çevrimiçi uç noktaları oluşturma ve yönetme:
- Azure CLI
- Azure Resource Manager/REST API
- Azure Machine Learning Studio web portalı
- Azure portal (IT/Admin)
- AZURE CLI arabirimini ve REST/ARM arabirimlerini kullanan CI/CD MLOps işlem & desteği
Çevrimiçi uç noktalar (önizleme) nedir?
Çevrimiçi uç noktalar (önizleme), çevrimiçi (gerçek zamanlı) çıkarım için kullanılan uç noktalardır. Toplu uç noktalarla karşılaştırıldığında, çevrimiçi uç noktalar istemcilerden veri almaya hazır dağıtımlar içerir ve yanıtları gerçek zamanlı olarak geri gönderebilir.
Aşağıdaki diyagramda iki dağıtıma sahip olan bir çevrimiçi uç nokta ('mavi' ve 'yeşil' ) gösterildi. Mavi dağıtım CPU SKU'slu VM'leri kullanır ve modelin v1'ini çalıştırır. Yeşil dağıtımDA GPU SKU'su olan VM'ler ve modelin v2'sini kullanır. Uç nokta gelen trafiğin %90'sını mavi dağıtıma yönlendirecek şekilde yapılandırılırken yeşil kalan %10'ları alır.
Çevrimiçi uç nokta gereksinimleri
Çevrimiçi bir uç nokta oluşturmak için aşağıdaki öğeleri belirtmeniz gerekir:
- Model dosyaları (veya çalışma alanınıza kayıtlı bir model belirtin)
- Puanlama betiği - puanlama/çıkarım yapmak için gereken kod
- Ortam - Conda bağımlılıkları olan bir Docker görüntüsü veya dockerfile
- İşlem örneği & ölçek ayarları
CLI ve studio web portalında çevrimiçi uç noktaları dağıtmayı öğrenin.
Daha hızlı hata ayıklama için yerel olarak test ve dağıtma
Buluta dağıtmadan uç noktalarınızı test etmek için yerel olarak dağıtın. Azure Machine Learning, Azure sanal ağ görüntüsünü taklit eden yerel bir Docker ML oluşturur. Azure Machine Learning yerel olarak dağıtımları derleme ve çalıştırma ve görüntüyü hızlı yinelemeler için önbelleğe alır.
Yerel mavi/yeşil dağıtım
Tek bir uç noktanın birden çok dağıtıma sahip olduğunu hatırlayın. Çevrimiçi uç nokta, her dağıtıma herhangi bir trafik yüzdesi vermek için yük dengelemesi yapar.
Trafik ayırma, farklı örnekler arasındaki istekleri dengeleyen mavi/yeşil dağıtımlar yapmak için kullanılabilir.
İpucu
Bir istek, http üst bilgisi dahil olmak üzere yapılandırılmış trafik yük dengelemesini azureml-model-deployment atlar. Üst bilgi değerini, isteğin yönlendirmesini istediğiniz dağıtımın adıyla ayarlayın.
Çevrimiçi uç noktalara güvenli bir şekilde nasıl yayınlay öğrenin.
Uygulama Analizler tümleştirmesi
Tüm çevrimiçi uç noktalar, SLA'Analizler sorunları tanılamak için Application Analizler ile tümleşmektedir.
Ancak yönetilen çevrimiçi uç noktalar, Azure Günlükleri ve Azure Ölçümleri ile ilk önce tümleştirmeyi de içerir.
Güvenlik
- Kimlik Doğrulaması: Anahtar ve Azure ML Belirteçleri
- Yönetilen kimlik: Kullanıcı tarafından atanan ve sistem tarafından atanan (yalnızca yönetilen çevrimiçi uç nokta)
- Uç nokta çağırma için varsayılan olarak SSL
Otomatik ölçeklendirme
Otomatik ölçeklendirme, uygulama üzerindeki yükü işlemek için doğru kaynak miktarını otomatik olarak çalıştırır. Yönetilen uç noktalar, Azure İzleyici otomatik ölçeklendirme özelliğiyle tümleştirme yoluyla otomatik ölçeklendirmeyi destekler. Ölçüm tabanlı ölçeklendirmeyi (örneğin, CPU kullanımı %70>, zamanlama tabanlı ölçeklendirme (örneğin, yoğun iş saatleri için ölçeklendirme kuralları) veya bir bileşimi yapılandırarak yapılandırabiliyorsanız.
Visual Studio Code’da hata ayıklama
Visual Studio Code uç noktalarda etkileşimli olarak hata ayıklamaya olanak sağlar.
Yönetilen çevrimiçi uç noktalar ile Kubernetes çevrimiçi uç noktaları karşılaştırması (önizleme)
İki tür çevrimiçi uç nokta vardır: yönetilen çevrimiçi uç noktalar (önizleme) ve Kubernetes çevrimiçi uç noktaları (önizleme). Yönetilen çevrimiçi uç noktalar, uygulama modellerinizi ML bir şekilde dağıtmanıza yardımcı olur. Yönetilen çevrimiçi uç noktalar, Azure'da güçlü CPU ve GPU makineleriyle ölçeklenebilir, tam olarak yönetilen bir şekilde çalışır. Yönetilen çevrimiçi uç noktalar modellerinizi sunar, ölçeklendirer, güvenli hale getirir ve izler; temel altyapıyı ayarlama ve yönetme yükünden sizi serbest bırakır. Bu belgenin ana örneği, dağıtım için yönetilen çevrimiçi uç noktaları kullanır.
Aşağıdaki tabloda yönetilen çevrimiçi uç noktalar ile Kubernetes çevrimiçi uç noktaları arasındaki temel farklar vurgulanır.
| Yönetilen çevrimiçi uç noktalar | Kubernetes çevrimiçi uç noktaları | |
|---|---|---|
| Önerilen kullanıcılar | Yönetilen model dağıtımı ve gelişmiş MLOps deneyimi isteyen kullanıcılar | Kubernetes'i tercih eden ve altyapı gereksinimlerini kendi kendine yöneten kullanıcılar |
| Altyapı yönetimi | Yönetilen işlem sağlama, ölçeklendirme, konak işletim sistemi görüntüsü güncelleştirmeleri ve güvenlik sağlamlaştırma | Kullanıcı sorumluluğu |
| İşlem türü | Yönetilen (AmlCompute) | Kubernetes kümesi (Kubernetes) |
| Kutudan çıkararak izleme | Azure İzleme (gecikme süresi ve aktarım hızı gibi önemli ölçümleri içerir) |
Desteklenmeyen |
| Kutudan çıkararak günlüğe kaydetme | Uç nokta düzeyinde Azure Günlükleri ve Log Analytics | Desteklenir |
| Uygulama Bilgileri | Desteklenir | Desteklenir |
| Yönetilen kimlik | Desteklenir | Destekleniyor |
| Sanal ağ (VNET) | Henüz desteklenmiyor (üzerinde çalışıyoruz) | Desteklenir |
| Maliyetleri görüntüleme | Uç nokta ve dağıtım düzeyi | Küme düzeyi |
Yönetilen çevrimiçi uç noktalar
Yönetilen çevrimiçi uç noktalar, dağıtım işleminizi kolaylaştırmaya yardımcı olabilir. Yönetilen çevrimiçi uç noktalar, Kubernetes çevrimiçi uç noktaları üzerinde aşağıdaki avantajları sağlar:
Yönetilen altyapı
- , Otomatik olarak işlem sağlar ve modeli barındırır (yalnızca VM türü ve ölçek ayarlarını belirtmeniz gerekir)
- Arka plandaki konak işletim sistemi görüntüsünü otomatik olarak güncelleştirir ve düzeltme eklerini ekler
- Bir sistem hatası varsa otomatik düğüm kurtarma
İzleme ve Günlükler
- Azure izleyici ile yerel tümleştirmeyikullanarak model kullanılabilirliğini, performansı ve SLA 'yı izleyin.
- Azure Log Analytics ile Günlükler ve yerel tümleştirme kullanarak dağıtımda hata ayıklayın.
Yönetilen kimlik
Maliyetleri görüntüleme
- Yönetilen çevrimiçi uç noktalar , uç nokta ve dağıtım düzeyindeki maliyeti izlemenizi sağlar
Adım adım bir öğretici için bkz. yönetilen çevrimiçi uç noktaları dağıtma.
Batch uç noktaları (Önizleme) nedir?
Batch uç noktaları (Önizleme), bir süre boyunca çok büyük miktarlarda veri üzerinde toplu işlem yapmak için kullanılan uç noktalardır. Toplu uç noktalar , verileri işlem kümelerinde paralel olarak işlemek için verilere işaretçiler alır ve işleri zaman uyumsuz olarak çalıştırır. Toplu uç noktaları, daha fazla analiz için bir veri deposuna çıkış depolar.
Batch dağıtım gereksinimleri
Toplu dağıtım oluşturmak için aşağıdaki öğeleri belirtmeniz gerekir:
- Model dosyaları (veya çalışma alanınızda kayıtlı bir modeli belirtin)
- İşlem
- Puanlama betiği-, Puanlama/ının için gereken kod
- Ortam-Conda bağımlılıklarıyla bir Docker görüntüsü
Mlflow modellerinidağıtıyorsanız, her ikisi de otomatik olarak oluşturulan bir Puanlama betiği ve yürütme ortamı sağlamanız gerekmez.
Azure CLı ve Studio Web portalı ile Batch uç noktalarını dağıtmayı ve kullanmayı öğrenin
Otomatik ölçeklendirme işlem ile yönetilen maliyet
Batch uç noktasını çağırmak zaman uyumsuz bir toplu çıkarım işi tetikler. İşlem kaynakları, iş başladığında otomatik olarak sağlanır ve iş tamamlandığında otomatik olarak serbest bırakılır. Bu nedenle, yalnızca kullandığınızda işlem için ödeme yaparsınız.
Yürütmeyi hızlandırmak ve maliyeti azaltmak için, her bir toplu iş çıkarımı işi için işlem kaynağı ayarlarını (örnek sayısı gibi) ve gelişmiş ayarları (mini toplu iş boyutu, hata eşiği vb.) geçersiz kılabilirsiniz.
Esnek veri kaynakları ve depolama
Bir Batch uç noktası çağrılırken giriş verileri için aşağıdaki seçenekleri kullanabilirsiniz:
- kayıtlı veri kümelerini Azure Machine Learning-daha fazla bilgi için bkz. Azure Machine Learning veri kümeleri oluşturma
- Bulut verileri-veri deposundaki ortak veri URI 'SI veya veri yolu. daha fazla bilgi için bkz . Azure Machine Learning studio ile verilere Bağlan
- Yerel olarak depolanan veriler
Depolama çıkış konumunu herhangi bir veri deposu ve yol için belirtin. Varsayılan olarak, toplu iş noktaları çıktılarını Iş adı (sistem tarafından üretilen GUID) tarafından düzenlenen varsayılan blob deposuna depolar.
Güvenlik
- kimlik doğrulaması: Azure Active Directory belirteçleri
- Uç nokta çağrısı için varsayılan olarak SSL
Sonraki adımlar
- Azure CLı ile yönetilen çevrimiçi uç noktaları dağıtma
- Azure CLı ile Batch uç noktalarını dağıtma
- Studio ile yönetilen çevrimiçi uç noktaları kullanma
- REST ile modelleri dağıtma (Önizleme)
- Yönetilen çevrimiçi uç noktaları izleme
- Çevrimiçi uç nokta maliyetlerini görüntüleme
- Azure Machine Learning olan kaynaklar için kotaları yönetme ve artırma