Azure Machine Learning işlem kümesi oluşturma

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

Bu makalede, Azure Machine Learning çalışma alanınızda işlem kümesi oluşturma ve yönetme adımları açıklanmaktadır.

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

Şunları nasıl yapacağınızı öğrenin:

  • İşlem kümesi oluşturma.
  • Düşük öncelikli VM'lerle işlem kümesi maliyetinizi düşürün.
  • Küme için yönetilen bir kimlik ayarlayın.

Not

İşlem kümesi oluşturmak yerine, işlem yaşam döngüsü yönetimini Azure Machine Learning'e boşaltmak için sunucusuz işlem kullanın.

Önkoşullar

  • Azure Machine Learning çalışma alanı. Daha fazla bilgi için bkz . Azure Machine Learning çalışma alanlarını yönetme.

  • Machine Learning hizmeti (v2) için Azure CLI uzantısı, Azure Machine Learning Python SDK'sı veya Azure Machine Learning Visual Studio Code uzantısı.

  • Python SDK'sını kullanıyorsanız geliştirme ortamınızı bir çalışma alanıyla ayarlayın. Ortamınız ayarlandıktan sonra Python betiğinizdeki çalışma alanına ekleyin:

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

    Azure ML çalışma alanınıza bağlanmak için bu kodu çalıştırın.

    Aşağıdaki kodda Abonelik Kimliğinizi, Kaynak Grubu adınızı ve Çalışma Alanı adınızı değiştirin. Bu değerleri bulmak için:

    1. Azure Machine Learning stüdyosu oturum açın.
    2. Kullanmak istediğiniz çalışma alanını açın.
    3. Sağ üst Azure Machine Learning stüdyosu araç çubuğunda çalışma alanı adınızı seçin.
    4. Çalışma alanı, kaynak grubu ve abonelik kimliğinin değerini koda kopyalayın.
    5. Studio'nun içinde bir not defteri kullanıyorsanız, bir değeri kopyalamanız, alanı kapatıp yapıştırmanız ve ardından bir sonraki değer için geri dönmeniz gerekir.
    # Enter details of your AML workspace
    subscription_id = "<SUBSCRIPTION_ID>"
    resource_group = "<RESOURCE_GROUP>"
    workspace = "<AML_WORKSPACE_NAME>"
    # get a handle to the workspace
    from azure.ai.ml import MLClient
    from azure.identity import DefaultAzureCredential
    
    ml_client = MLClient(
        DefaultAzureCredential(), subscription_id, resource_group, workspace
    )

    ml_client , diğer kaynakları ve işleri yönetmek için kullanacağınız çalışma alanının işleyicisidir.

İş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 yönetilen bir sanal ağda veya Azure sanal ağında işleri 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 oluşturulabilir. Bu işlev yalnızca işlem kümeleri için kullanılabilir, işlem örnekleri için kullanılamaz.

    Uyarı

    Çalışma alanınızdan veya veri depolarınızdan farklı bir bölgede işlem kümesi kullanırken 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.

  • 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 uygulamak, 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.

Oluşturma

Zaman tahmini: Yaklaşık beş dakika.

Not

Sunucusuz işlem kullanıyorsanız işlem kümesi oluşturmanız gerekmez.

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ümenizdeki kümeye göre düğümlerin ölçeği otomatik olarak artırılır veya max_nodes azaltılır. Ayar min_nodes , 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.

İşlem kümesi oluşturmak için aşağıdaki örnekleri kullanın:

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

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

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

from azure.ai.ml.entities import AmlCompute

cluster_basic = AmlCompute(
    name="basic-example",
    type="amlcompute",
    size="STANDARD_DS3_v2",
    location="westus",
    min_instances=0,
    max_instances=2,
    idle_time_before_scale_down=120,
)
ml_client.begin_create_or_update(cluster_basic).result()

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.

Düşük öncelikli VM'lerle işlem kümesi maliyetinizi düşürün

İş 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'lerin kullanılabilirliği garanti edilemez ve kullanımdayken önalımlı olabilir. Önceden damgalanmış bir işi yeniden başlatmanız gerekir.

Azure Düşük Öncelikli Sanal Makineler kullanarak Azure'ın kullanılmayan kapasitesinden önemli bir maliyet tasarrufuyla yararlanabilirsiniz. Azure'ın kapasiteye geri ihtiyacı olduğunda, Azure altyapısı Azure Düşük Öncelikli Sanal Makineler çıkartır. Bu nedenle Azure Düşük Öncelikli Sanal Makine, kesintileri işleyebilen iş yükleri için mükemmeldir. Kullanılabilir kapasite miktarı boyuta, bölgeye, günün saatlerine ve daha fazlasına göre farklılık gösterebilir. Azure Düşük Öncelikli Sanal Makineler dağıtırken Azure, kullanılabilir kapasite varsa ancak bu VM'ler için SLA yoksa VM'leri ayırır. Azure Düşük Öncelikli Sanal Makine yüksek kullanılabilirlik garantisi sunar. Azure'ın kapasiteye geri ihtiyacı olduğunda, Azure altyapısı Azure Düşük Öncelikli Sanal Makineler çıkartır.

Düşük öncelikli vm belirtmek için aşağıdaki yollardan birini kullanın:

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

from azure.ai.ml.entities import AmlCompute

cluster_low_pri = AmlCompute(
    name="low-pri-example",
    size="STANDARD_DS3_v2",
    min_instances=0,
    max_instances=2,
    idle_time_before_scale_down=120,
    tier="low_priority",
)
ml_client.begin_create_or_update(cluster_low_pri).result()

Yönetilen kimliği ayarlama

İşlem kümenizle yönetilen kimlik yapılandırma hakkında bilgi için bkz . Azure Machine Learning ile diğer hizmetler arasında kimlik doğrulamasını ayarlama.

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.

Önemli

İşlem örneğiniz veya işlem kümeleriniz bu serilerden herhangi birini temel aldıysa, hizmet kesintisini önlemek için kullanımdan kaldırma tarihinden önce başka bir VM boyutuyla yeniden oluşturun.

Bu seriler 31 Ağustos 2023'te devre dışıdır:

Bu seriler 31 Ağustos 2024'te devre dışıdır:

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ım

İşlem kümenizi kullanarak: