Aracılığıyla paylaş


Kaynak kullanımını belirlemek için modelinizin profilini oluşturma

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

Önemli

Bu makalede Azure Machine Learning SDK v1 kullanımı hakkında bilgi sağlanır. SDK v1, 31 Mart 2025 itibarıyla kullanım dışı bırakılmıştır. Destek 30 Haziran 2026'da sona erecektir. Bu tarihe kadar SDK v1'i yükleyebilir ve kullanabilirsiniz. SDK v1 kullanan mevcut iş akışlarınız destek sonu tarihinden sonra çalışmaya devam edecektir. Ancak, üründe mimari değişiklikler olması durumunda güvenlik risklerine veya yıkıcı değişikliklere maruz kalabilirler.

30 Haziran 2026'dan önce SDK v2'ye geçmenizi öneririz. SDK v2 hakkında daha fazla bilgi için bkz. Azure Machine Learning CLI ve Python SDK v2 nedir? ve SDK v2 başvurusu.

Bu makalede, modeli web hizmeti olarak dağıtırken model için ne kadar CPU ve bellek ayırmanız gerektiğini belirlemek üzere bir makine öğrenmesinin profilinin nasıl belirleneceği gösterilmektedir.

Önemli

Bu makale CLI v1 ve SDK v1 için geçerlidir. Bu profil oluşturma tekniği CLI veya SDK'nın v2'sinde kullanılamaz.

Önemli

Bu makaledeki Azure CLI komutlarından bazıları Azure Machine Learning için uzantısını veya v1'i kullanır azure-cli-ml. CLI v1 desteği 30 Eylül 2025'te sona erdi. Microsoft artık bu hizmet için teknik destek veya güncelleştirme sağlamayacaktır. CLI v1 kullanan mevcut iş akışlarınız destek sonu tarihinden sonra çalışmaya devam edecektir. Ancak, üründe mimari değişiklikler olması durumunda güvenlik risklerine veya yıkıcı değişikliklere maruz kalabilirler.

Mümkün olan en kısa sürede ml, veya v2 uzantısına geçmenizi öneririz. v2 uzantısı hakkında daha fazla bilgi için bkz . Azure Machine Learning CLI uzantısı ve Python SDK v2.

Önkoşullar

Bu makalede, Azure Machine Learning ile bir modeli eğitip kaydettiğiniz varsayılır. Azure Machine Learning ile scikit-learn modelini eğitip kaydetme örneği için buradaki örnek öğreticiye bakın.

Sınırlamalar

  • Çalışma alanınızın Azure Container Registry (ACR) bir sanal ağın arkasındaysa, profilleme işlemi çalışmaz.

Profil oluşturucuyu çalıştırma

Modelinizi kaydettikten ve dağıtımı için gerekli diğer bileşenleri hazırladıktan sonra dağıtılan hizmetin ihtiyaç duyduğu CPU ve belleği belirleyebilirsiniz. Profil oluşturma, modelinizi çalıştıran hizmeti test edip CPU kullanımı, bellek kullanımı ve yanıt gecikme süresi gibi bilgileri döndürür. Ayrıca, kaynak kullanımına göre CPU ve bellek için bir öneri sağlar.

Modelinizin profilini almak için şunları yapmanız gerekir:

  • Kayıtlı bir model.
  • Giriş betiği ve çıkarım ortamı tanımınızı temel alan bir çıkarım yapılandırması.
  • Her satırın örnek istek verilerini temsil eden bir dize içerdiği, tek sütunlu bir tablo veri kümesi.

Önemli

Azure Machine Learning yalnızca istek verilerinin dize olmasını bekleyen hizmetlerin profilini oluşturmayı destekler; örneğin: dize serileştirilmiş json, metin, dize serileştirilmiş görüntüsü vb. Veri kümesinin (dize) her satırının içeriği HTTP isteğinin gövdesine konur ve modeli puanlama için kapsülleyen hizmete gönderilir.

Önemli

ChinaEast2 ve USGovArizona bölgesinde yalnızca 2 CPU'ya kadar profil oluşturmayı destekliyoruz.

Aşağıda, gelen istek verilerinin serileştirilmiş json içermesini bekleyen bir hizmetin profilini oluşturmak için bir giriş veri kümesini nasıl oluşturabileceğinize ilişkin bir örnek verilmiştir. Bu durumda, aynı istek verileri içeriğinin 100 örneğini temel alan bir veri kümesi oluşturduk. Gerçek dünya senaryolarında, özellikle model kaynağı kullanımınız/davranışınız girişe bağımlıysa, çeşitli girişler içeren daha büyük veri kümeleri kullanmanızı öneririz.

ŞUNLAR IÇIN GEÇERLIDIR:Python için Azure Machine Learning SDK v1

import json
from azureml.core import Datastore
from azureml.core.dataset import Dataset
from azureml.data import dataset_type_definitions

input_json = {'data': [[1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
                       [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]]}
# create a string that can be utf-8 encoded and
# put in the body of the request
serialized_input_json = json.dumps(input_json)
dataset_content = []
for i in range(100):
    dataset_content.append(serialized_input_json)
dataset_content = '\n'.join(dataset_content)
file_name = 'sample_request_data.txt'
f = open(file_name, 'w')
f.write(dataset_content)
f.close()

# upload the txt file created above to the Datastore and create a dataset from it
data_store = Datastore.get_default(ws)
data_store.upload_files(['./' + file_name], target_path='sample_request_data')
datastore_path = [(data_store, 'sample_request_data' +'/' + file_name)]
sample_request_data = Dataset.Tabular.from_delimited_files(
    datastore_path, separator='\n',
    infer_column_types=True,
    header=dataset_type_definitions.PromoteHeadersBehavior.NO_HEADERS)
sample_request_data = sample_request_data.register(workspace=ws,
                                                   name='sample_request_data',
                                                   create_new_version=True)

Örnek istek verilerini içeren veri kümesini hazırladıktan sonra bir çıkarım yapılandırması oluşturun. Çıkarım yapılandırması, score.py ve ortam tanımını temel alır. Aşağıdaki örnekte çıkarım yapılandırmasının nasıl oluşturulacağı ve profil oluşturmanın nasıl çalıştıracağı gösterilmektedir:

from azureml.core.model import InferenceConfig, Model
from azureml.core.dataset import Dataset


model = Model(ws, id=model_id)
inference_config = InferenceConfig(entry_script='path-to-score.py',
                                   environment=myenv)
input_dataset = Dataset.get_by_name(workspace=ws, name='sample_request_data')
profile = Model.profile(ws,
            'unique_name',
            [model],
            inference_config,
            input_dataset=input_dataset)

profile.wait_for_completion(True)

# see the result
details = profile.get_details()

ŞUNLAR IÇIN GEÇERLIDIR: Azure CLI ml uzantısı v1

Aşağıdaki komut, CLI kullanarak bir modelin profilinin nasıl yapılacağını gösterir:

az ml model profile -g <resource-group-name> -w <workspace-name> --inference-config-file <path-to-inf-config.json> -m <model-id> --idi <input-dataset-id> -n <unique-name>

İpucu

Profil oluşturma tarafından döndürülen bilgileri kalıcı hale getirmek için modelin etiketlerini veya özelliklerini kullanın. Etiketlerin veya özelliklerin kullanılması, verileri model kayıt defterinde modelle birlikte depolar. Aşağıdaki örneklerde ve requestedCpu bilgilerini içeren yeni bir etiket ekleme gösterilmektedirrequestedMemoryInGb:

model.add_tags({'requestedCpu': details['requestedCpu'],
                'requestedMemoryInGb': details['requestedMemoryInGb']})
az ml model profile -g <resource-group-name> -w <workspace-name> --i <model-id> --add-tag requestedCpu=1 --add-tag requestedMemoryInGb=0.5

Sonraki adımlar