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.
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:
- Azure Kubernetes Service kümesi veya Arc Kubernetes kümesi hazırlayın.
- Azure Machine Learning uzantısını dağıtın.
- Kubernetes kümesini Azure Machine Learning çalışma alanınıza ekleyin.
- 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.
Önerilen en iyi yöntemler
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.
- CLI v2 ile eğitim işi örneklerini keşfedin - https://github.com/Azure/azureml-examples/tree/main/cli/jobs
- CLI v2 ile çevrimiçi uç nokta örnekleriyle model dağıtımlarını keşfetme - https://github.com/Azure/azureml-examples/tree/main/cli/endpoints/online/kubernetes
- CLI v2 ile toplu uç nokta örneklerini keşfetme - https://github.com/Azure/azureml-examples/tree/main/cli/endpoints/batch
- SDK v2 ile eğitim işi örneklerini keşfetme -https://github.com/Azure/azureml-examples/tree/main/sdk/python/jobs
- SDK v2 ile çevrimiçi uç nokta örnekleriyle model dağıtımlarını keşfetme -https://github.com/Azure/azureml-examples/tree/main/sdk/python/endpoints/online/kubernetes