AzureMachine Learning'de Kubernetes işlem hedefine giriş

ŞUNLAR IÇIN GEÇERLIDIR: Azure CLI ml uzantısı v2 (geçerli)Python SDK azure-ai-ml v2 (geçerli)

Azure Machine Learning CLI/Python SDK v2 ile Azure Machine Learning yeni bir işlem hedefi olan Kubernetes işlem hedefi kullanıma sunulmuştur. Mevcut bir Azure Kubernetes Service (AKS) kümesini veya Azure Arc özellikli Kubernetes (Arc Kubernetes ) kümesini kolayca etkinleştirerek Azure Machine Learning'de Kubernetes işlem hedefi haline gelebilir ve modelleri eğitmek veya dağıtmak için kullanabilirsiniz.

Azure Machine Learning'in Kubernetes'e nasıl bağlanıp bağlanmayacağını gösteren diyagram.

Bu makalede şunları öğreneceksiniz:

  • Nasıl çalışır?
  • Kullanım senaryoları
  • Önerilen en iyi yöntemler
  • KubernetesCompute ve eski AksCompute

Nasıl çalışır?

Azure Machine Learning Kubernetes işlem iki tür Kubernetes kümesini destekler:

  • Azure'da AKS kümesi . Azure'da kendi kendine yönetilen AKS kümenizle, ekiplerin ML iş yükünü yönetmeye yönelik uyumluluk gereksinimini ve esnekliğini karşılamak için güvenlik ve denetimler elde edebilirsiniz.
  • Arc Kubernetes kümesi Azure dışında. Arc Kubernetes kümesiyle, modelleri şirket içindeki herhangi bir altyapıda, çoklu bulutta veya uçta eğitebilir veya dağıtabilirsiniz.

AKS veya Arc Kubernetes kümesinde basit bir küme uzantısı dağıtımıyla Kubernetes kümesi, eğitim veya çıkarım iş yükünü çalıştırmak için Azure Machine Learning'de sorunsuz bir şekilde desteklenir. Aşağıdaki basit adımlarla Azure Machine Learning iş yükü için mevcut bir Kubernetes kümesini etkinleştirmek ve kullanmak kolaydır:

  1. Azure Kubernetes Service kümesi veya Arc Kubernetes kümesi hazırlayın.
  2. Azure Machine Learning uzantısını dağıtın.
  3. Kubernetes kümesini Azure Machine Learning çalışma alanınıza ekleyin.
  4. CLI v2, SDK v2 ve Studio kullanıcı arabiriminden Kubernetes işlem hedefini kullanın.

BT operasyon ekibi. BT işlemi ekibi ilk üç adımdan sorumludur: AKS veya Arc Kubernetes kümesini hazırlama, Azure Machine Learning küme uzantısını dağıtma ve Kubernetes kümesini Azure Machine Learning çalışma alanına ekleme. BT işlemi ekibi, bu temel işlem kurulum adımlarına ek olarak, veri bilimi ekibi için aşağıdaki görevleri yerine getirmek için Azure CLI veya kubectl gibi tanıdık araçları da kullanır:

  • Giden ara sunucu bağlantısı veya Azure güvenlik duvarı yapılandırması, çıkarım yönlendiricisi (azureml-fe) kurulumu, SSL/TLS sonlandırma ve sanal ağ yapılandırması gibi ağ ve güvenlik yapılandırmaları.
  • Farklı ML iş yükü senaryoları için örnek türleri oluşturup yönetin ve verimli işlem kaynağı kullanımı elde edin.
  • Kubernetes kümesiyle ilgili iş yükü sorunlarını çekerken sorun yaşıyor.

Veri bilimi ekibi. BT operasyonları ekibi işlem kurulumunu ve işlem hedeflerini oluşturmayı tamamladıktan sonra veri bilimi ekibi, Azure Machine Learning çalışma alanında kullanılabilir işlem hedeflerinin ve örnek türlerinin listesini bulabilir. Bu işlem kaynakları eğitim veya çıkarım iş yükü için kullanılabilir. Veri bilimi, tercih ettikleri araçları veya API'leri kullanarak işlem hedef adını ve örnek türü adını belirtir. Örneğin, bu adlar Azure Machine Learning CLI v2, Python SDK v2 veya Studio kullanıcı arabirimi olabilir.

Kubernetes kullanım senaryoları

Arc Kubernetes kümesiyle, Kubernetes'i kullanarak şirket içindeki ve çoklu buluttaki tüm altyapılarda model oluşturabilir, eğitebilir ve dağıtabilirsiniz. Bu, daha önce bulut ayarı ortamında mümkün olmayan bazı yeni kullanım desenlerini açar. Aşağıdaki tabloda, Azure Machine Learning Kubernetes işleminin etkinleştirdiği yeni kullanım desenlerinin özeti sağlanır:

Kullanım düzeni Verilerin konumu Motivasyon Infra kurulumu ve Azure Machine Learning uygulaması
Bulutta modeli eğitin, modeli şirket içinde dağıtın Bulut Bulut işlemden faydalanın. Esnek işlem gereksinimleri veya GPU gibi özel donanımlar nedeniyle.
Güvenlik, uyumluluk veya gecikme süresi gereksinimleri nedeniyle modelin şirket içinde dağıtılması gerekir
1. Bulutta Azure tarafından yönetilen işlem.
2. Müşteri tarafından yönetilen Kubernetes şirket içinde.
3. Buluttan şirket içinde sorunsuz bir şekilde geçiş ve tam tersi için eğitim ve model dağıtım adımları da dahil olmak üzere karma modda tam otomatik MLOps.
4. Tüm varlıkların düzgün şekilde izlendiği tekrarlanabilir. Model gerektiğinde yeniden eğitilir ve model dağıtımı yeniden eğitildikten sonra otomatik olarak güncelleştirilir.
Modeli şirket içinde ve bulutta eğitin, hem buluta hem de şirket içine dağıtın Bulut Şirket içi yatırımları bulut ölçeklenebilirliğiyle birleştirmek isteyen kuruluşlar. Bulut ve şirket içi işlemleri tek bir cam bölmesi altına getirin. Veriler için tek bir gerçek kaynağı bulutta bulunur, şirket içinde çoğaltılabilir (yani, kullanımda veya proaktif olarak). Bulut işlem birincil kullanımı, şirket içi kaynakların kullanılamadığında (kullanımda, bakımda) veya belirli donanım gereksinimlerine (GPU) sahip olmadığında kullanılır. 1. Bulutta Azure tarafından yönetilen işlem.
2. Müşteri tarafından yönetilen Kubernetes şirket içinde.
3. Buluttan şirket içinde sorunsuz bir şekilde geçiş ve tam tersi için eğitim ve model dağıtım adımları da dahil olmak üzere karma modda tam otomatik MLOps.
4. Tüm varlıkların düzgün şekilde izlendiği tekrarlanabilir. Model gerektiğinde yeniden eğitilir ve model dağıtımı yeniden eğitildikten sonra otomatik olarak güncelleştirilir.
Modeli şirket içinde eğitin, bulutta model dağıtın Şirket içinde Veri yerleşimi gereksinimleri nedeniyle verilerin şirket içinde kalması gerekir.
Genel hizmet erişimi veya ölçek ve aktarım hızı için işlem esnekliği için bulutta model dağıtın.
1. Bulutta Azure tarafından yönetilen işlem.
2. Müşteri tarafından yönetilen Kubernetes şirket içinde.
3. Buluttan şirket içinde sorunsuz bir şekilde geçiş ve tam tersi için eğitim ve model dağıtım adımları da dahil olmak üzere karma modda tam otomatik MLOps.
4. Tüm varlıkların düzgün şekilde izlendiği tekrarlanabilir. Model gerektiğinde yeniden eğitilir ve model dağıtımı yeniden eğitildikten sonra otomatik olarak güncelleştirilir.
Azure'da kendi AKS'nizi getirme Bulut Daha fazla güvenlik ve denetim.
Veri sızdırmayı önlemek için tüm özel IP makine öğrenmesi.
1. Azure sanal ağının arkasındaki AKS kümesi.
2. Azure Machine Learning çalışma alanı ve ilişkili kaynakları için aynı sanal ağda özel uç noktalar oluşturun.
3. Tam otomatik MLOps.
Şirket içi tam ML yaşam döngüsü Şirket içinde ML modelleri ve kod/betikler gibi hassas verilerin veya özel IP'nin güvenliğini sağlayın. 1. Şirket içi giden ara sunucu bağlantısı.
2. Azure ExpressRoute ve Azure Arc'ın Azure kaynaklarına özel bağlantısı.
3. Müşteri tarafından yönetilen Kubernetes şirket içinde.
4. Tam otomatik MLOps.

Sınırlamalar

KubernetesCompute Azure Machine Learning iş yüklerindeki hedef (eğitim ve model çıkarımı) aşağıdaki sınırlamalara sahiptir:

  • Azure Machine Learning'de Önizleme özelliklerinin kullanılabilirliği garanti değildir.
    • Tanımlanan sınırlama: Model Kataloğu ve Kayıt Defteri'nden modeller (temel model dahil) Kubernetes çevrimiçi uç noktaları üzerinde desteklenmez.

BT operasyonları ekibi ile veri bilimi ekibi arasındaki sorumlulukların ayrılması. Önceki bölümde de belirttiğimiz gibi ML iş yükü için kendi işlem ve altyapınızı yönetmek karmaşık bir görevdir. Veri bilimi ekibinin kuruluş verimliliği için ML modellerine odaklanması için BT operasyonları ekibi tarafından yapılması en iyisidir.

Farklı ML iş yükü senaryoları için örnek türleri oluşturun ve yönetin. Her ML iş yükü CPU/GPU ve bellek gibi farklı miktarda işlem kaynağı kullanır. Azure Machine Learning, nodeSelector ve kaynak isteği/sınırı özellikleriyle Kubernetes özel kaynak tanımı (CRD) olarak örnek türünü uygular. Bt işlemleri, örnek türlerinin dikkatle seçilmiş bir listesiyle ml iş yükünü belirli düğümlerde hedefleyebilir ve işlem kaynağı kullanımını verimli bir şekilde yönetebilir.

Birden çok Azure Machine Learning çalışma alanı aynı Kubernetes kümesini paylaşır. Kubernetes kümesini aynı Azure Machine Learning çalışma alanına veya farklı Azure Machine Learning çalışma alanlarına birden çok kez ekleyebilir ve bir çalışma alanında veya birden çok çalışma alanında birden çok işlem hedefi oluşturabilirsiniz. Birçok müşteri Azure Machine Learning çalışma alanı çevresinde veri bilimi projeleri düzenlediğinden, artık birden çok veri bilimi projesi aynı Kubernetes kümesini paylaşabilir. Bu, ML altyapı yönetimi ek yüklerini ve BT maliyet tasarruflarını önemli ölçüde azaltır.

Kubernetes ad alanını kullanarak takım/proje iş yükü yalıtımı. Kubernetes kümesini Azure Machine Learning çalışma alanına eklediğinizde işlem hedefi için bir Kubernetes ad alanı belirtebilirsiniz. İşlem hedefi tarafından çalıştırılan tüm iş yükleri belirtilen ad alanının altına yerleştirilir.

KubernetesCompute ve eski AksCompute

Azure Machine Learning CLI/Python SDK v1 ile AksCompute hedeflerini kullanarak AKS'ye model dağıtabilirsiniz. Hem KubernetesCompute hedefi hem de AksCompute hedefi AKS tümleştirmesini destekler ancak farklı şekilde destekler. Aşağıdaki tabloda temel farkları gösterilmektedir:

Özellikler AksCompute (eski) ile AKS tümleştirmesi KubernetesCompute ile AKS tümleştirmesi
CLI/SDK v1 Yes Hayır
CLI/SDK v2 Hayır Yes
Eğitim Hayır Yes
Gerçek zamanlı çıkarım Yes Yes
Toplu çıkarım Hayır Yes
Yeni gerçek zamanlı çıkarım özellikleri Yeni özellik geliştirmesi yok Etkin yol haritası

Azure Machine Learning, bu önemli farklar ve GENEL Azure Machine Learning'in SDK/CLI v2 kullanımına yönelik evrimiyle, model dağıtımı için AKS kullanmaya karar verirseniz modelleri dağıtmak için Kubernetes işlem hedefi kullanmanızı önerir.

Diğer kaynaklar

Örnekler

Tüm Azure Machine Learning örnekleri içinde https://github.com/Azure/azureml-examples.gitbulunabilir.

Herhangi bir Azure Machine Learning örneği için işlem hedefi adını yalnızca Kubernetes işlem hedefinize güncelleştirmeniz yeterlidir, ardından işiniz tamam demektir.

Sonraki adımlar