Batch uç noktalarıyla işlem hatlarını dağıtma
ŞUNLAR IÇIN GEÇERLIDIR: Azure CLI ml uzantısı v2 (geçerli)Python SDK azure-ai-ml v2 (geçerli)
İşlem hattı bileşenlerini bir toplu iş uç noktası altında dağıtarak Bunları Azure Machine Learning'de kullanıma hazır hale getirmenin kullanışlı bir yolunu sağlayabilirsiniz. Bu makalede, basit bir işlem hattı içeren bir toplu dağıtım oluşturmayı öğreneceksiniz. Öğrenecekleriniz:
- İşlem hattı bileşeni oluşturma ve kaydetme
- Toplu iş uç noktası oluşturma ve işlem hattı bileşeni dağıtma
- Dağıtımı test etme
Bu örnek hakkında
Bu örnekte, "hello world!" yazdıran basit bir komut işinden oluşan bir işlem hattı bileşeni dağıtacağız. Bu bileşen giriş veya çıkış gerektirmez ve en basit işlem hattı dağıtım senaryosudur.
Bu makaledeki örnek, azureml-examples deposunda yer alan kod örneklerini temel alır. YAML ve diğer dosyaları kopyalamak/yapıştırmak zorunda kalmadan komutları yerel olarak çalıştırmak için önce depoyu kopyalayın ve ardından dizinleri klasöre değiştirin:
git clone https://github.com/Azure/azureml-examples --depth 1
cd azureml-examples/cli
Bu örnekteki dosyalar şunlardır:
cd endpoints/batch/deploy-pipelines/hello-batch
Jupyter not defterlerinde birlikte izleyin
Kopyalanan depoda sdk-deploy-and-test.ipynb not defterini açarak bu örneğin Python SDK sürümünü takip edebilirsiniz.
Önkoşullar
Azure aboneliği. Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun. Azure Machine Learning'in ücretsiz veya ücretli sürümünü deneyin.
Azure Machine Learning çalışma alanı. Çalışma alanı oluşturmak için bkz . Azure Machine Learning çalışma alanlarını yönetme.
Machine Learning çalışma alanında aşağıdaki izinlere sahip olduğunuzdan emin olun:
- Toplu iş uç noktalarını ve dağıtımlarını oluşturma veya yönetme: İzin veren
Microsoft.MachineLearningServices/workspaces/batchEndpoints/*
bir Sahip, Katkıda Bulunan veya Özel rol kullanın. - Çalışma alanı kaynak grubunda Azure Resource Manager dağıtımları oluşturma: Çalışma alanının dağıtıldığı kaynak grubunda izin veren
Microsoft.Resources/deployments/write
bir Sahip, Katkıda Bulunan veya Özel rol kullanın.
- Toplu iş uç noktalarını ve dağıtımlarını oluşturma veya yönetme: İzin veren
Machine Learning ile çalışmak için aşağıdaki yazılımı yükleyin:
Azure CLI'yi ve Azure Machine Learning uzantısını
ml
yüklemek için aşağıdaki komutu çalıştırın:az extension add -n ml
Batch Uç Noktaları için işlem hattı bileşeni dağıtımları, Azure CLI uzantısının
ml
2.7 sürümünde kullanıma sunulmuştur.az extension update --name ml
En son sürümü almak için komutunu kullanın.
Çalışma alanınıza bağlanma
Çalışma alanı Machine Learning için en üst düzey kaynaktır. Machine Learning'i kullanırken oluşturduğunuz tüm yapıtlarla çalışmak için merkezi bir yer sağlar. Bu bölümde, dağıtım görevlerinizi gerçekleştirdiğiniz çalışma alanına bağlanacaksınız.
Aşağıdaki komutta abonelik kimliğiniz, çalışma alanınız, konumunuz ve kaynak grubunuzun değerlerini girin:
az account set --subscription <subscription>
az configure --defaults workspace=<workspace> group=<resource-group> location=<location>
İşlem hattı bileşenini oluşturma
Batch uç noktaları modelleri veya işlem hattı bileşenlerini dağıtabilir. İşlem hattı bileşenleri yeniden kullanılabilir ve bu bileşenleri bir çalışma alanından diğerine taşımak için paylaşılan kayıt defterlerini kullanarak MLOps uygulamanızı kolaylaştırabilirsiniz.
Bu örnekteki işlem hattı bileşeni, günlüklerde yalnızca "merhaba dünya" iletisini yazdıran tek bir adım içerir. Herhangi bir giriş veya çıkış gerektirmez.
Dosya, hello-component/hello.yml
işlem hattı bileşeninin yapılandırmasını içerir:
hello-component/hello.yml
$schema: https://azuremlschemas.azureedge.net/latest/pipelineComponent.schema.json
name: hello_batch
display_name: Hello Batch component
version: 1
type: pipeline
jobs:
main_job:
type: command
component:
code: src
environment: azureml://registries/azureml/environments/sklearn-1.5/labels/latest
command: >-
python hello.py
Bileşeni kaydedin:
Toplu iş uç noktası oluşturma
Uç nokta için bir ad belirtin. Çağrı URI'sini oluşturmak için ad kullanıldığından, bir toplu iş uç noktasının adının her bölgede benzersiz olması gerekir. Benzersizliği sağlamak için, aşağıdaki kodda belirtilen ada sondaki karakterleri ekleyin.
Uç noktayı yapılandırın:
Uç noktayı oluşturun:
Uç nokta URI'sini sorgula:
İşlem hattı bileşenini dağıtma
İşlem hattı bileşenini dağıtmak için bir toplu dağıtım oluşturmamız gerekir. Dağıtım, fiili işi yapan varlığı barındırmak için gereken bir kaynak kümesidir.
İşlem kümesi oluşturma. Batch uç noktaları ve dağıtımları işlem kümelerinde çalışır. Çalışma alanında zaten var olan herhangi bir Azure Machine Learning işlem kümesinde çalıştırılabilir. Bu nedenle, birden çok toplu dağıtım aynı işlem altyapısını paylaşabilir. Bu örnekte adlı
batch-cluster
bir Azure Machine Learning işlem kümesi üzerinde çalışacağız. İşlemin çalışma alanında mevcut olduğunu doğrulayalım veya başka bir şekilde oluşturalım.Dağıtımı yapılandırın:
Dosya,
deployment.yml
dağıtımın yapılandırmasını içerir. Ek özellikler için tam toplu iş uç noktası YAML şemasını denetleyebilirsiniz.deployment.yml
$schema: https://azuremlschemas.azureedge.net/latest/pipelineComponentBatchDeployment.schema.json name: hello-batch-dpl endpoint_name: hello-pipeline-batch type: pipeline component: azureml:hello_batch@latest settings: default_compute: batch-cluster
Dağıtımı oluşturun:
Toplu iş uç noktası altında bir toplu dağıtım oluşturmak ve bunu varsayılan dağıtım olarak ayarlamak için aşağıdaki kodu çalıştırın.
az ml batch-deployment create --endpoint $ENDPOINT_NAME -f deployment.yml --set-default
İpucu
Bu yeni dağıtımın
--set-default
artık varsayılan olduğunu belirtmek için bayrağının kullanıldığına dikkat edin.Dağıtımınız kullanıma hazır.
Dağıtımı test etme
Dağıtım oluşturulduktan sonra iş almaya hazır olur. Varsayılan dağıtımı aşağıdaki gibi çağırabilirsiniz:
İpucu
Bu örnekte işlem hattının girişleri veya çıkışları yoktur. Ancak, işlem hattı bileşeni biraz gerektiriyorsa, çağrı zamanında belirtilebilir. Giriş ve çıkışları belirtme hakkında bilgi edinmek için toplu iş uç noktaları için iş ve giriş verileri oluşturma bölümüne bakın veya ön işleme (önizleme) ile toplu puanlama gerçekleştirmek için işlem hattı dağıtma öğreticisine bakın.
Gösterinin ilerleme durumunu izleyebilir ve günlüklerin akışını şu şekilde yapabilirsiniz:
Kaynakları temizleme
İşiniz bittiğinde, ilişkili kaynakları çalışma alanından silin:
Toplu iş uç noktasını ve temel dağıtımını silmek için aşağıdaki kodu çalıştırın. --yes
silme işlemini onaylamak için kullanılır.
az ml batch-endpoint delete -n $ENDPOINT_NAME --yes
(İsteğe bağlı) İşlem kümenizi daha sonraki dağıtımlarla yeniden kullanmak istemiyorsanız işlemi silin.