Aracılığıyla paylaş


Toplu dağıtımlarda düşük öncelikli VM'leri kullanma

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

Azure Batch Dağıtımları, toplu çıkarım iş yüklerinin maliyetini azaltmak için düşük öncelikli VM'leri destekler. Düşük öncelikli VM'ler, düşük maliyet için büyük miktarda işlem gücünün kullanılmasını sağlar. Düşük öncelikli VM'ler Azure'daki fazla kapasiteden yararlanıyor. Havuzlarınızda düşük öncelikli VM'ler belirttiğinizde Azure, kullanılabilir olduğunda bu fazlalığı kullanabilir.

Bunları kullanmanın dezavantajı, bu VM'lerin her zaman ayrılamayabilir veya kullanılabilir kapasiteye bağlı olarak herhangi bir zamanda önalımlı hale getirilebileceğidir. Bu nedenle, iş tamamlanma süresinin esnek olduğu ve işin birçok VM'ye dağıtıldığı toplu iş yükleri ve zaman uyumsuz işleme iş yükleri için en uygun olanlardır.

Düşük öncelikli VM'ler, ayrılmış VM'lerle karşılaştırıldığında önemli ölçüde daha düşük bir fiyata sunulur. Fiyatlandırma ayrıntıları için bkz . Azure Machine Learning fiyatlandırması.

Toplu dağıtım düşük öncelikli VM'lerle nasıl çalışır?

Azure Machine Learning Toplu Dağıtımları, düşük öncelikli VM'lerin kullanılmasını ve kullanılmasını kolaylaştıran çeşitli özellikler sağlar:

  • Toplu dağıtım işleri, düşük öncelikli VM'lerle oluşturulan Azure Machine Learning işlem kümelerinde çalıştırarak düşük öncelikli VM'leri tüketir. Bir dağıtım düşük öncelikli vm'lerin kümesiyle ilişkilendirildikten sonra, bu dağıtım tarafından üretilen tüm işler düşük öncelikli VM'leri kullanır. İş başına yapılandırma mümkün değildir.
  • Toplu dağıtım işleri, gönderilebilecek görev sayısına göre kullanılabilir işlem kümesindeki hedef VM sayısını otomatik olarak arar. VM'ler önceden damgalanmış veya kullanılamıyorsa, toplu dağıtım işleri başarısız görevleri kümeye kuyruğa alarak kayıp kapasiteyi değiştirmeyi dener.
  • Düşük öncelikli VM'lerin ayrılmış VM'ler için olandan farklı ayrı bir vCPU kotası vardır. Bölge başına düşük öncelikli çekirdek sayısının varsayılan sınırı, abonelik teklifinizin türüne bağlı olarak 100 ile 3.000 arasındadır. Abonelik başına düşük öncelikli çekirdek sayısı artırılabilir ve sanal makine aileleri genelinde tek bir değerdir. Bkz. Azure Machine Learning işlem kotaları.

Dikkat edilmesi gerekenler ve kullanım örnekleri

Birçok toplu iş yükü, düşük öncelikli VM'ler için uygundur. Bu, VM'lerin serbest bırakılması durumunda daha fazla yürütme gecikmesine neden olsa da, işlerin tamamlanması gereken süre içinde esneklik varsa, kapasitedeki olası düşüşler daha düşük maliyetle çalıştırma giderlerinde tolere edilebilir.

Modelleri toplu iş uç noktaları altında dağıtırken, mini toplu iş düzeyinde yeniden zamanlama yapılabilir. Bu, serbest bırakma özelliğinin yalnızca şu anda işlenmekte olan ve etkilenen düğümde tamamlanmamış olan mini toplu işlemleri etkilemesi için ek avantaja sahiptir. Tamamlanan her ilerleme korunur.

Düşük öncelikli VM'lerle toplu dağıtımlar oluşturma

Toplu dağıtım işleri, düşük öncelikli VM'lerle oluşturulan Azure Machine Learning işlem kümelerinde çalıştırarak düşük öncelikli VM'leri tüketir.

Not

Bir dağıtım düşük öncelikli vm'lerin kümesiyle ilişkilendirildikten sonra, bu dağıtım tarafından üretilen tüm işler düşük öncelikli VM'leri kullanır. İş başına yapılandırma mümkün değildir.

Aşağıda gösterildiği gibi düşük öncelikli bir Azure Machine Learning işlem kümesi oluşturabilirsiniz:

Aşağıdakine benzer bir işlem tanımı YAML oluşturun:

low-pri-cluster.yml

$schema: https://azuremlschemas.azureedge.net/latest/amlCompute.schema.json 
name: low-pri-cluster
type: amlcompute
size: STANDARD_DS3_v2
min_instances: 0
max_instances: 2
idle_time_before_scale_down: 120
tier: low_priority

Aşağıdaki komutu kullanarak işlem oluşturun:

az ml compute create -f low-pri-cluster.yml

Yeni işlem oluşturulduktan sonra, yeni kümeyi kullanmak için dağıtımınızı oluşturabilir veya güncelleştirebilirsiniz:

Yeni işlem kümesi altında bir dağıtım oluşturmak veya güncelleştirmek için aşağıdakine benzer bir YAML yapılandırma oluşturun:

$schema: https://azuremlschemas.azureedge.net/latest/batchDeployment.schema.json
endpoint_name: heart-classifier-batch
name: classifier-xgboost
description: A heart condition classifier based on XGBoost
type: model
model: azureml:heart-classifier@latest
compute: azureml:low-pri-cluster
resources:
  instance_count: 2
settings:
  max_concurrency_per_instance: 2
  mini_batch_size: 2
  output_action: append_row
  output_file_name: predictions.csv
  retry_settings:
    max_retries: 3
    timeout: 300

Ardından, aşağıdaki komutla dağıtımı oluşturun:

az ml batch-endpoint create -f endpoint.yml

Düğüm ayırmayı görüntüleme ve izleme

Düşük öncelikli VM'lerin düşük öncelikli VM'leri izlemesi için Azure portalında yeni ölçümler sağlanır. Bu ölçümler şunlardır:

  • Önceden damgalanmış düğümler
  • Önceden damgalanmış çekirdekler

Bu ölçümleri Azure portalında görüntülemek için

  1. Azure portalında Azure Machine Learning çalışma alanınıza gidin.
  2. İzleme bölümünden Ölçümler'i seçin.
  3. Ölçüm listesinden istediğiniz ölçümleri seçin.

Düşük öncelikli VM'ler için ilgili ölçümleri gösteren kaynak izleme dikey penceresindeki ölçümler bölümünün ekran görüntüsü.

Sınırlamalar

  • Bir dağıtım düşük öncelikli vm'lerin kümesiyle ilişkilendirildikten sonra, bu dağıtım tarafından üretilen tüm işler düşük öncelikli VM'leri kullanır. İş başına yapılandırma mümkün değildir.
  • Yeniden zamanlama, ilerlemeden bağımsız olarak mini toplu iş düzeyinde yapılır. Denetim noktası oluşturma özelliği sağlanmadı.

Uyarı

Tüm kümenin önceden damgalandığı (veya tek düğümlü bir kümede çalıştığı) durumlarda, çalıştırılacak kapasite olmadığından iş iptal edilir. Bu durumda yeniden gönderme gerekir.