Mevcut işlem hattı işlerini toplu iş uç noktalarına dağıtma
ŞUNLAR IÇIN GEÇERLIDIR: Azure CLI ml uzantısı v2 (geçerli)Python SDK azure-ai-ml v2 (geçerli)
Batch uç noktaları işlem hattı bileşenlerini dağıtmanıza olanak tanıyarak Azure Machine Learning'de işlem hatlarını kullanıma hazır hale getirmek için kullanışlı bir yol sağlar. Batch uç noktaları dağıtım için işlem hattı bileşenlerini kabul eder. Ancak, zaten başarıyla çalışan bir işlem hattı işiniz varsa, Azure Machine Learning bu işi toplu iş uç noktanıza giriş olarak kabul edebilir ve işlem hattı bileşenini sizin için otomatik olarak oluşturabilir. Bu makalede, toplu dağıtım için giriş olarak mevcut işlem hattı işinizi kullanmayı öğreneceksiniz.
Öğrenecekleriniz:
- Dağıtmak istediğiniz işlem hattı işini çalıştırma ve oluşturma
- Mevcut işten toplu dağıtım oluşturma
- 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ı dağıtacağız. İşlem hattı bileşenini dağıtımdan önce kaydetmek yerine, dağıtım için kullanılacak mevcut bir işlem hattı işini belirtiriz. Azure Machine Learning daha sonra işlem hattı bileşenini otomatik olarak oluşturur ve toplu uç nokta işlem hattı bileşeni dağıtımı olarak dağıtır.
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
Önkoşullar
Bu makaledeki adımları takip etmeden önce aşağıdaki önkoşullara sahip olduğunuzdan emin olun:
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ı. Yoksa, azure machine learning çalışma alanlarını yönetme makalesindeki adımları kullanarak bir tane oluşturun.
Ç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 ARM 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.
Azure Machine Learning ile çalışmak için aşağıdaki yazılımı yüklemeniz gerekir:
Azure CLI ve
ml
Azure Machine Learning uzantısı.az extension add -n ml
Not
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. Son sürümünü almak için kullanınaz extension update --name ml
.
Çalışma alanınıza bağlanma
Çalışma alanı Azure Machine Learning'in en üst düzey kaynağıdır. Azure Machine Learning'i kullanırken oluşturduğunuz tüm yapıtlarla çalışmak için merkezi bir konum sağlar. Bu bölümde, dağıtım görevlerini gerçekleştirdiğiniz çalışma alanına bağlanacağız.
Abonelik kimliğiniz, çalışma alanınız, konumunuz ve kaynak grubunuzun değerlerini aşağıdaki kodda geçirin:
az account set --subscription <subscription>
az configure --defaults workspace=<workspace> group=<resource-group> location=<location>
Dağıtmak istediğiniz işlem hattı işini çalıştırma
Bu bölümde, bir işlem hattı işi çalıştırarak başlayacağız:
Aşağıdaki pipeline-job.yml
dosya işlem hattı işinin yapılandırmasını içerir:
pipeline-job.yml
$schema: https://azuremlschemas.azureedge.net/latest/pipelineJob.schema.json
type: pipeline
experiment_name: hello-pipeline-batch
display_name: hello-pipeline-batch-job
description: This job demonstrates how to run the a pipeline component in a pipeline job. You can use this example to test a component in an standalone job before deploying it in an endpoint.
compute: batch-cluster
component: hello-component/hello.yml
İşlem hattı işini oluşturun:
Toplu iş uç noktası oluşturma
İşlem hattı işini dağıtmadan önce dağıtımı barındırmak için bir toplu iş uç noktası dağıtmamız gerekir.
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ı işini dağıtma
İşlem hattı bileşenini dağıtmak için mevcut işten bir toplu dağıtım oluşturmamız gerekir.
Azure Machine Learning'e dağıtmak istediğimiz işin adını söylememiz gerekir. Bizim örneğimizde bu iş aşağıdaki değişkende belirtilmiştir:
Dağıtımı yapılandırın.
Dosya,
deployment-from-job.yml
dağıtımın yapılandırmasını içerir. Bu dağıtımın bir işlem hattı işinden oluşturulduğunucomponent
belirtmek yerine anahtarınıjob_definition
nasıl kullandığımıza dikkat edin:deployment-from-job.yml
$schema: https://azuremlschemas.azureedge.net/latest/pipelineComponentBatchDeployment.schema.json name: hello-batch-from-job endpoint_name: hello-pipeline-batch type: pipeline job_definition: azureml:job_name_placeholder settings: continue_on_step_failure: false default_compute: batch-cluster
İpucu
Bu yapılandırmada adlı
batch-cluster
bir işlem kümeniz olduğu varsayılır. Bu değeri kümenizin adıyla değiştirebilirsiniz.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 --set job_definition=azureml:$JOB_NAME -f deployment-from-job.yml
İpucu
kullanımına
--set job_definition=azureml:$JOB_NAME
dikkat edin. İş adları benzersiz olduğundan, çalışma alanınızda çalıştırdığınızda işin adını değiştirmek için burada komutu--set
kullanılır.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:
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
Sonraki adımlar
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin