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.

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.

Trafiği iki dağıtıma bölen uç noktayı gösteren diyagram

Ç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.

Dağıtımlar arasında trafik ayırmayı ayarlamak için kaydırıcı arabirimini gösteren ekran görüntüsü

Ç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.

Otomatik ölçeklendirmenin kurallara bağlı olarak minimum ve maksimum örnekler arasında esnek bir şekilde sağladığını gösteren ekran görüntüsü

Visual Studio Code’da hata ayıklama

Visual Studio Code uç noktalarda etkileşimli olarak hata ayıklamaya olanak sağlar.

VSCode'da uç nokta hata ayıklamanın ekran görüntüsü.

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:

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.

Tek bir Batch uç noktasının istekleri birden çok dağıtıma yönlendirebilir, bunlardan biri varsayılan değer olan diyagram.

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:

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