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 ve Python SDK v2, Kubernetes işlem hedefi için destek sağlar. Mevcut bir Azure Kubernetes Service (AKS) kümesini veya Azure Arc özellikli Kubernetes (Arc Kubernetes) kümesini Kubernetes işlem hedefi olarak etkinleştirebilirsiniz. Modelleri eğitmek veya dağıtmak için Machine Learning'deki işlemini kullanın.
Bu makalede, kullanım senaryoları, önerilen en iyi yöntemler ve ve eski AksCompute
hedeflerin karşılaştırması dahil olmak üzere Machine Learning'de Kubernetes işlem hedefini KubernetesCompute
nasıl kullanabileceğiniz açıklanmaktadır.
Kubernetes işlem hedefi nasıl çalışır?
Azure Machine Learning Kubernetes işlem iki tür Kubernetes kümesini destekler.
İşlem | Konum | Açıklama |
---|---|---|
AKS kümesi | Azure'ın içi | Azure'da kendi kendine yönetilen AKS kümenizle, ekibinizin makine öğrenmesi 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çi veya çoklu bulut altyapısında ya da 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 Machine Learning'de sorunsuz bir şekilde desteklenir. Aşağıdaki işlemle Machine Learning iş yükü için mevcut bir Kubernetes kümesini etkinleştirmek ve kullanmak kolaydır:
1. Adım: Azure Kubernetes Service kümesini veya Arc Kubernetes kümesini hazırlama.
2. Adım: Azure Machine Learning küme uzantısını dağıtma.
3. Adım: Kubernetes kümesini Azure Machine Learning çalışma alanınıza ekleyin.
4. Adım: CLI v2, SDK v2 veya Azure Machine Learning stüdyosu kullanıcı arabiriminden Kubernetes işlem hedefini kullanın.
Bu işlemin birincil sorumlulukları şunlardır:
BT işlemi ekibi 1, 2 ve 3. Adımdan sorumludur. Bu ekip bir AKS veya Arc Kubernetes kümesi hazırlar, Machine Learning küme uzantısını dağıtır ve Kubernetes kümesini Machine Learning çalışma alanına ekler. BT işlemi ekibi, bu temel işlem kurulum adımlarına ek olarak, Veri bilimi ekibi için aşağıdaki görevleri tamamlamak 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ı, çıkarım yönlendiricisi (azureml-fe) kurulumu, SSL/TLS sonlandırma ve sanal ağ kurulumu gibi ağ ve güvenlik seçeneklerini yapılandırın.
Farklı makine öğrenmesi 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ı giderme.
Veri bilimi ekibi, BT operasyonları ekibi işlem kurulumunu ve işlem hedeflerinin oluşturulmasını tamamladıktan sonra görevlerine başlar. Bu ekip, Machine Learning çalışma alanında kullanılabilir işlem hedeflerinin ve örnek türlerinin listesini bulur. İşlem kaynakları eğitim veya çıkarım iş yükü için kullanılabilir. Veri bilimi ekibi, tercih ettikleri araçları veya API'leri kullanarak işlem hedef adını ve örnek türü adını belirtir. Azure Machine Learning CLI v2, Python SDK v2 veya Machine Learning studio kullanıcı arabirimini kullanabilirler.
Kubernetes kullanım senaryoları
Arc Kubernetes kümesiyle, Kubernetes kullanarak tüm şirket içi ve çoklu bulut altyapılarında model oluşturabilir, eğitebilir ve dağıtabilirsiniz. Bu strateji, daha önce bir bulut ayarı ortamında mümkün olmayan bazı yeni kullanım desenlerini açar. Aşağıdaki tabloda, Azure Machine Learning Kubernetes işlemle çalışırken etkinleştirilen yeni kullanım desenlerinin özeti sağlanır:
Kullanım düzeni | Verilerin konumu | Hedefler ve gereksinimler | Senaryo yapılandırması |
---|---|---|---|
Bulutta modeli eğitin, modeli şirket içinde dağıtın | Bulut | Esnek işlem gereksinimlerini veya GPU gibi özel donanımları desteklemek için bulut işlem kullanın. Güvenlik, uyumluluk veya gecikme süresi gereksinimleri için model dağıtımı şirket içinde olmalıdır. |
- Bulutta Azure tarafından yönetilen işlem - Müşteri tarafından yönetilen Kubernetes şirket içi - Bulut ile şirket içi arasında sorunsuz geçiş sağlayan eğitim ve model dağıtım adımları da dahil olmak üzere hibrit modda tam otomatik makine öğrenmesi işlemleri - Yinelenebilir, tüm varlıklar düzgün şekilde izlenir, model gerektiğinde yeniden eğitilir, yeniden eğitildikten sonra dağıtım 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ştirin. Bulut ve şirket içi işlemleri tek bir cam bölmesi altına getirin. Buluttaki veriler için tek bir gerçek kaynağına erişin ve şirket içinde çoğaltın (kullanımda veya proaktif olarak). Şirket içi kaynaklar kullanılabilir olmadığında (kullanımda veya bakımda) veya belirli donanım gereksinimlerini (GPU) karşılamadığında bulut işlem birincil kullanımını etkinleştirin. |
- Bulutta Azure tarafından yönetilen işlem. Şirket içinde müşteri tarafından yönetilen Kubernetes - Bulut ile şirket içi arasında sorunsuz geçiş sağlayan eğitim ve model dağıtım adımları da dahil olmak üzere hibrit modda tam otomatik makine öğrenmesi işlemleri - Yinelenebilir, tüm varlıklar düzgün şekilde izlenir, model gerektiğinde yeniden eğitilir, yeniden eğitildikten sonra dağıtım otomatik olarak güncelleştirilir |
Modeli şirket içinde eğitin, bulutta model dağıtın | Şirket içinde | Veri yerleşimi gereksinimlerini karşılamak için verileri şirket içinde depolayın. Küresel hizmet erişimi için veya ölçek ve aktarım hızı için işlem esnekliğini etkinleştirmek için modeli bulutta dağıtın. |
- Bulutta Azure tarafından yönetilen işlem - Müşteri tarafından yönetilen Kubernetes şirket içi - Bulut ile şirket içi arasında sorunsuz geçiş sağlayan eğitim ve model dağıtım adımları da dahil olmak üzere hibrit modda tam otomatik makine öğrenmesi işlemleri - Yinelenebilir, tüm varlıklar düzgün şekilde izlenir, model gerektiğinde yeniden eğitilir, yeniden eğitildikten sonra dağıtım otomatik olarak güncelleştirilir |
Azure'da kendi AKS'nizi getirme | Bulut | Daha fazla güvenlik ve denetim elde edin. Veri sızdırmayı önlemek için tüm özel IP makine öğrenimini oluşturun. |
- Azure sanal ağının arkasındaki AKS kümesi - Azure Machine Learning çalışma alanı ve ilişkili kaynaklar için aynı sanal ağdaki özel uç noktalar Tam otomatik makine öğrenmesi işlemleri |
Şirket içinde tam makine öğrenmesi yaşam döngüsü | Şirket içinde | Makine öğrenmesi modelleri, kod ve betikler gibi hassas verilerin veya özel IP'nin güvenliğini sağlayın. | - Şirket içi giden ara sunucu bağlantısı - Azure ExpressRoute ve Azure Arc'ın Azure kaynaklarına özel bağlantısı - Müşteri tarafından yönetilen Kubernetes şirket içi - Tam otomatik makine öğrenmesi işlemleri |
Kubernetes işlem hedefi için sınırlamalar
KubernetesCompute
Azure Machine Learning iş yüklerindeki bir hedefin (eğitim ve model çıkarımı) aşağıdaki sınırlamaları vardır:
- Azure Machine Learning'de Önizleme özelliklerinin kullanılabilirliği garanti değildir.
- Model Kataloğu ve Kayıt Defteri'nden alınan modeller (temel model dahil) Kubernetes çevrimiçi uç noktaları üzerinde desteklenmez.
- Küme içinde model çıkarım dağıtımı oluşturma işleminin zaman aşımı sınırı 20 dakikadır. Bu, görüntüyü indirmeyi, modeli indirmeyi ve kullanıcı betiklerini başlatmayı içerir.
Önerilen en iyi yöntemler
Bu bölümde Bir Kubernetes işlemle çalışmak için önerilen en iyi yöntemler özetlenmiştir.
BT operasyonları ekibi ile Veri bilimi ekibi arasındaki sorumlulukların ayrılması. Daha önce açıklandığı gibi makine öğrenmesi iş yükü için kendi işlem ve altyapınızı yönetmek karmaşık bir görevdir. En iyi yaklaşım, BT operasyonları ekibinin görevi işlemesini sağlamaktır, böylece Veri bilimi takımı kurumsal verimlilik için makine öğrenmesi modellerine odaklanabilir.
Farklı makine öğrenmesi iş yükü senaryoları için örnek türleri oluşturun ve yönetin. Her makine öğrenmesi iş yükü CPU/GPU ve bellek gibi farklı miktarda işlem kaynağı kullanır. Azure Machine Learning, örnek türünü ve resource request/limit
özelliklerine nodeSelector
sahip bir Kubernetes özel kaynak tanımı (CRD) olarak uygular. Örnek türlerinin dikkatle seçilmiş bir listesiyle BT işlemleri belirli düğümlerde makine öğrenmesi iş yükünü 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ı Machine Learning çalışma alanına veya farklı çalışma alanlarına birden çok kez ekleyebilirsiniz. Bu işlem, tek bir çalışma alanında veya birden çok çalışma alanında birden çok işlem hedefi oluşturur. Birçok müşteri 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 yaklaşım, makine öğrenmesi altyapı yönetimi ek yüklerini önemli ölçüde azaltır ve BT maliyet tasarrufunu artırır.
Kubernetes ad alanını kullanarak takım/proje iş yükü yalıtımı. Machine Learning çalışma alanına kubernetes kümesi 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 ile eski AksCompute hedeflerinin karşılaştırması
Azure Machine Learning CLI/Python SDK v1 ile eski AksCompute
hedefi kullanarak AKS'de modelleri dağıtabilirsiniz. KubernetesCompute
Hem hem de AksCompute
hedefleri AKS tümleştirmesini destekler, ancak destek yaklaşımı farklıdır. Aşağıdaki tabloda önemli farklar özetlemektedir:
Özellik | AksCompute (eski) | KubernetesCompute |
---|---|---|
CLI/SDK v1'i kullanma | Yes | Hayır |
CLI/SDK v2'yi kullanma | Hayır | Evet |
Eğitimi ayarlama | Hayır | Evet |
Gerçek zamanlı çıkarım uygulama | Yes | Yes |
Toplu çıkarım uygulama | Hayır | Evet |
Gerçek zamanlı çıkarım için yeni özelliklere erişme | Yeni özellik geliştirmesi yok | Etkin yol haritası kullanılabilir |
Bu farklılıklar ve CLI/SDK v2'yi kullanmaya yönelik genel Machine Learning evrimi göz önünde bulundurulduğunda, önerilen yaklaşım AKS modeli dağıtımı için Kubernetes işlem hedefini (KubernetesCompute
) kullanmaktır.
Daha fazla bilgi için aşağıdaki makaleleri inceleyin:
- Desteklenen Kubernetes sürümlerini ve bölgelerini gözden geçirin
- Machine Learning işlerini özel veri depolama ile bağlama
Makine öğrenmesi örnekleri
Makine öğrenmesi örnekleri GitHub'daki Azure Machine Learning (azureml-examples) deposunda bulunabilir. Herhangi bir örnekte işlem hedefi adını Kubernetes işlem hedefinizle değiştirin ve örneği çalıştırın.
Birkaç seçenek şunlardır:
- CLI v2 ile iş örneklerini eğitin
- SDK v2 ile iş örneklerini eğitin
- Çevrimiçi uç nokta örnekleri ve CLI v2 ile model dağıtımı
- Çevrimiçi uç nokta örnekleri ve SDK v2 ile model dağıtımı
- CLI v2 ile toplu uç nokta örnekleri