İngilizce dilinde oku

Aracılığıyla paylaş


CLI v1 ile Azure Machine Learning işlem kümesi oluşturma

ŞUNUN IÇIN GEÇERLIDIR: Azure CLI ml uzantısı v1Python SDK azureml v1

Azure Machine Learning çalışma alanınızda işlem kümesi oluşturmayı ve yönetmeyi öğrenin.

Bir eğitim veya toplu çıkarım işlemini buluttaki bir CPU veya GPU işlem düğümleri kümesine dağıtmak için Azure Machine Learning işlem kümesini kullanabilirsiniz. GPU'ları içeren VM boyutları hakkında daha fazla bilgi için bkz . GPU için iyileştirilmiş sanal makine boyutları.

Bu makalede şunların nasıl yapıldığını öğrenin:

  • İşlem kümesi oluşturma
  • İşlem kümesi maliyetinizi düşürme
  • Küme için yönetilen kimlik ayarlama

Önkoşullar

İşlem kümesi nedir?

Azure Machine Learning işlem kümesi, tek veya çok düğümlü bir işlemi kolayca oluşturmanıza olanak tanıyan bir yönetilen işlem altyapısıdır. İşlem kümesi, çalışma alanınızdaki diğer kullanıcılarla paylaşılabilen bir kaynaktır. bir iş gönderildiğinde işlem ölçeği otomatik olarak artar ve azure Sanal Ağ yerleştirilebilir. İşlem kümesi, sanal ağda olduğu gibi genel IP dağıtımlarını da desteklemez. İşlem kapsayıcılı bir ortamda yürütülür ve model bağımlılıklarınızı docker kapsayıcısında paketler.

İşlem kümeleri, kuruluşların SSH bağlantı noktalarını açmasına gerek kalmadan işleri bir sanal ağ ortamında güvenli bir şekilde çalıştırabilir. İş kapsayıcılı bir ortamda yürütülür ve model bağımlılıklarınızı docker kapsayıcısında paketler.

Sınırlamalar

  • İşlem kümeleri çalışma alanınızdan farklı bir bölgede ve sanal ağda oluşturulabilir. Ancak bu işlev yalnızca SDK v2, CLI v2 veya studio kullanılarak kullanılabilir. Daha fazla bilgi için bkz . Güvenli eğitim ortamlarının v2 sürümü.

  • Şu anda YALNıZCA ARM şablonları aracılığıyla küme oluşturmayı (güncelleştirmeyi değil) destekliyoruz. İşlemi güncelleştirmek için şimdilik SDK, Azure CLI veya UX kullanmanızı öneririz.

  • Azure Machine Learning İşlem'in, ayrılabilecek çekirdek sayısı gibi varsayılan sınırları vardır. Daha fazla bilgi için bkz . Azure kaynakları için kotaları yönetme ve isteme.

  • Azure, silinememeleri veya salt okunur olmaları için kaynaklara kilitler yerleştirmenize olanak tanır. Çalışma alanınızı içeren kaynak grubuna kaynak kilitleri uygulamayın. Çalışma alanınızı içeren kaynak grubuna kilit uygulanması, Azure Machine Learning işlem kümeleri için ölçeklendirme işlemlerini engeller. Kaynakları kilitleme hakkında daha fazla bilgi için bkz . Beklenmeyen değişiklikleri önlemek için kaynakları kilitleme.

İpucu

Gerekli çekirdek sayısı için yeterli kotanız olduğu sürece kümeler genellikle 100 düğüme kadar ölçeklendirilebilir. Varsayılan olarak kümeler, örneğin MPI işlerini desteklemek için küme düğümleri arasında düğümler arası iletişimin etkinleştirildiği şekilde ayarlanır. Ancak, yalnızca bir destek bileti oluşturarak ve abonelik veya çalışma alanınızın listelenmesine izin verme isteğinde bulunarak ya da düğümler arası iletişimi devre dışı bırakmak için belirli bir kümeyi isteyerek kümelerinizi 1000 düğüme ölçeklendirin.

Oluşturma

Zaman tahmini: Yaklaşık 5 dakika.

Azure Machine Learning İşlem, çalıştırmalar arasında yeniden kullanılabilir. İşlem çalışma alanında diğer kullanıcılarla paylaşılabilir ve çalıştırmalar arasında tutularak gönderilen çalıştırma sayısına ve kümenizde ayarlanan max_nodes göre düğümlerin ölçeği otomatik olarak artırılır veya azaltılır. min_nodes ayarı kullanılabilir en düşük düğümleri denetler.

VM ailesi kotası başına bölge başına ayrılmış çekirdekler ve işlem kümesi oluşturma için geçerli olan toplam bölgesel kota birleştirilir ve Azure Machine Learning eğitim işlem örneği kotasıyla paylaşılır.

Önemli

Hiçbir iş çalışmadığında ücret tahsil edilmemesi için en düşük düğümleri 0 olarak ayarlayın. Bu ayar, Azure Machine Learning'in kullanımda olmayan düğümleri ayırmasını sağlar. 0'dan büyük herhangi bir değer, kullanımda olmasalar bile bu sayıda düğümü çalışır durumda tutar.

İşlem kullanılmadığında otomatik olarak sıfır düğüme ölçekler. İşlerinizi gerektiği gibi çalıştırmak için ayrılmış VM'ler oluşturulur.

Python'da kalıcı bir Azure Machine Learning İşlem kaynağı oluşturmak için vm_size ve max_nodes özelliklerini belirtin. Azure Machine Learning daha sonra diğer özellikler için akıllı varsayılanları kullanır.

  • vm_size: Azure Machine Learning İşlem tarafından oluşturulan düğümlerin VM ailesi.
  • max_nodes: Azure Machine Learning İşlem'de bir iş çalıştırdığınızda otomatik ölçeklendirme için en fazla düğüm sayısı.

ŞUNUN IÇIN GEÇERLIDIR: Python SDK azureml v1

Python
from azureml.core.compute import ComputeTarget, AmlCompute
from azureml.core.compute_target import ComputeTargetException

# Choose a name for your CPU cluster
cpu_cluster_name = "cpucluster"

# Verify that cluster does not exist already
try:
    cpu_cluster = ComputeTarget(workspace=ws, name=cpu_cluster_name)
    print('Found existing cluster, use it.')
except ComputeTargetException:
    # To use a different region for the compute, add a location='<region>' parameter
    compute_config = AmlCompute.provisioning_configuration(vm_size='STANDARD_D2_V2',
                                                           max_nodes=4)
    cpu_cluster = ComputeTarget.create(ws, cpu_cluster_name, compute_config)

cpu_cluster.wait_for_completion(show_output=True)

Azure Machine Learning İşlem'i oluştururken çeşitli gelişmiş özellikleri de yapılandırabilirsiniz. Özellikler, sabit boyutta veya aboneliğinizdeki mevcut bir Azure Sanal Ağ içinde kalıcı bir küme oluşturmanıza olanak sağlar. Ayrıntılar için amlCompute sınıfına bakın.

Uyarı

Parametreyi location ayarlarken, çalışma alanınızdan veya veri depolarınızdan farklı bir bölgeyse ağ gecikme süresi ve veri aktarımı maliyetlerinin arttığını görebilirsiniz. Gecikme süresi ve maliyetler küme oluşturulurken ve üzerinde işler çalıştırılırken ortaya çıkabilir.

İşlem kümesi maliyetinizi düşürme

Ayrıca iş yüklerinizin bazılarını veya tümünü çalıştırmak için düşük öncelikli VM'leri kullanmayı da seçebilirsiniz. Bu VM'ler garantili kullanılabilirliğe sahip değildir ve kullanımdayken önalımlı olabilir. Önceden oluşturulmuş bir işi yeniden başlatmanız gerekir.

ŞUNUN IÇIN GEÇERLIDIR: Python SDK azureml v1

Python
compute_config = AmlCompute.provisioning_configuration(vm_size='STANDARD_D2_V2',
                                                            vm_priority='lowpriority',
                                                            max_nodes=4)

Yönetilen kimliği ayarlama

Azure Machine Learning işlem kümeleri, kodunuza kimlik bilgileri eklemeden Azure kaynaklarına erişimin kimliğini doğrulamak için yönetilen kimlikleri de destekler. İki tür yönetilen kimlik vardır:

  • Sistem tarafından atanan yönetilen kimlik doğrudan Azure Machine Learning işlem kümesinde ve işlem örneğinde etkinleştirilir. Sistem tarafından atanan bir kimliğin yaşam döngüsü doğrudan işlem kümesine veya örneğe bağlıdır. İşlem kümesi veya örneği silinirse Azure, Microsoft Entra Id içindeki kimlik bilgilerini ve kimliği otomatik olarak temizler.
  • Kullanıcı tarafından atanan yönetilen kimlik, Azure Yönetilen Kimlik hizmeti aracılığıyla sağlanan tek başına bir Azure kaynağıdır. Kullanıcı tarafından atanan yönetilen kimliği birden çok kaynağa atayabilirsiniz ve bu kimlik istediğiniz süre boyunca kalır. Bu yönetilen kimliğin önceden oluşturulması ve ardından gerekli parametre olarak identity_id olarak geçirilmesi gerekir.

ŞUNUN IÇIN GEÇERLIDIR: Python SDK azureml v1

  • Sağlama yapılandırmanızda yönetilen kimliği yapılandırın:

    • Adlı bir çalışma alanında oluşturulan sistem tarafından atanan yönetilen kimlik ws

      Python
      # configure cluster with a system-assigned managed identity
      compute_config = AmlCompute.provisioning_configuration(vm_size='STANDARD_D2_V2',
                                                              max_nodes=5,
                                                              identity_type="SystemAssigned",
                                                              )
      cpu_cluster_name = "cpu-cluster"
      cpu_cluster = ComputeTarget.create(ws, cpu_cluster_name, compute_config)
      
    • Adlı bir çalışma alanında oluşturulan kullanıcı tarafından atanan yönetilen kimlik ws

      Python
      # configure cluster with a user-assigned managed identity
      compute_config = AmlCompute.provisioning_configuration(vm_size='STANDARD_D2_V2',
                                                              max_nodes=5,
                                                              identity_type="UserAssigned",
                                                              identity_id=['/subscriptions/<subcription_id>/resourcegroups/<resource_group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<user_assigned_identity>'])
      
      cpu_cluster_name = "cpu-cluster"
      cpu_cluster = ComputeTarget.create(ws, cpu_cluster_name, compute_config)
      
  • adlı mevcut bir işlem kümesine yönetilen kimlik ekleme cpu_cluster

    • Sistem tarafından atanan yönetilen kimlik:

      Python
      # add a system-assigned managed identity
      cpu_cluster.add_identity(identity_type="SystemAssigned")
      
    • Kullanıcı tarafından atanan yönetilen kimlik:

      Python
      # add a user-assigned managed identity
      cpu_cluster.add_identity(identity_type="UserAssigned", 
                                  identity_id=['/subscriptions/<subcription_id>/resourcegroups/<resource_group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<user_assigned_identity>'])
      

Not

Azure Machine Learning işlem kümeleri, aynı anda değil, yalnızca bir sistem tarafından atanan kimliği veya kullanıcı tarafından atanan birden çok kimliği destekler.

Yönetilen kimlik kullanımı

Varsayılan yönetilen kimlik , sistem tarafından atanan yönetilen kimlik veya kullanıcı tarafından atanan ilk yönetilen kimliktir.

Çalıştırma sırasında kimliğin iki uygulaması vardır:

  1. Sistem, kullanıcının depolama bağlamalarını, kapsayıcı kayıt defterini ve veri depolarını ayarlamak için bir kimlik kullanır.

    • Bu durumda, sistem varsayılan yönetilen kimliği kullanır.
  2. Kullanıcı, gönderilen çalıştırma için kodun içinden kaynaklara erişmek için bir kimlik uygular

    • Bu durumda, kimlik bilgilerini almak için kullanmak istediğiniz yönetilen kimliğe karşılık gelen client_id sağlayın.
    • Alternatif olarak, DEFAULT_IDENTITY_CLIENT_ID ortam değişkeni aracılığıyla kullanıcı tarafından atanan kimliğin istemci kimliğini alın.

    Örneğin, varsayılan yönetilen kimliğe sahip bir veri deposu için belirteç almak için:

    Python
    client_id = os.environ.get('DEFAULT_IDENTITY_CLIENT_ID')
    credential = ManagedIdentityCredential(client_id=client_id)
    token = credential.get_token('https://storage.azure.com/')
    

Sorun giderme

GA sürümünden önce Azure portaldan Azure Machine Learning çalışma alanını oluşturan bazı kullanıcıların bu çalışma alanında AmlCompute oluşturamama olasılığı vardır. Hizmet için bir destek isteği oluşturabilir veya portal veya SDK aracılığıyla yeni bir çalışma alanı oluşturarak engellemenizi hemen kaldırabilirsiniz.

Yeniden boyutlandırma sırasında takıldı

Azure Machine Learning işlem kümeniz düğüm durumu için yeniden boyutlandırmada (0 -> 0) takılı görünüyorsa, bunun nedeni Azure kaynak kilitleri olabilir.

Azure, silinememeleri veya salt okunur olmaları için kaynaklara kilitler yerleştirmenize olanak tanır. Kaynağın kilitlenmesi beklenmeyen sonuçlara yol açabilir. Kaynağı değiştiriyor gibi görünmeyen bazı işlemler aslında kilit tarafından engellenen eylemler gerektiriyor olabilir.

Azure Machine Learning ile çalışma alanınızın kaynak grubuna bir silme kilidi uygulamak, Azure ML işlem kümeleri için ölçeklendirme işlemlerini engeller. Bu sorunu geçici olarak çözmek için kilidi kaynak grubundan kaldırmanızı ve bunun yerine gruptaki tek tek öğelere uygulamanızı öneririz.

Önemli

Kilidi aşağıdaki kaynaklara uygulamayın:

Kaynak adı Kaynak türü
<GUID>-azurebatch-cloudservicenetworksecurityggroup Ağ güvenlik grubu
<GUID>-azurebatch-cloudservicepublicip Genel IP adresi
<GUID>-azurebatch-cloudserviceloadbalancer Yük Dengeleyici

Bu kaynaklar, işlem kümesiyle iletişim kurmak ve ölçeklendirme gibi işlemleri gerçekleştirmek için kullanılır. Kaynak kilidinin bu kaynaklardan kaldırılması, işlem kümeleriniz için otomatik ölçeklendirmeye izin vermelidir.

Kaynak kilitleme hakkında daha fazla bilgi için bkz . Beklenmeyen değişiklikleri önlemek için kaynakları kilitleme.

Sonraki adımlar

İşlem kümenizi kullanarak: