Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
ŞUNLAR IÇIN GEÇERLIDIR:
Azure CLI ml uzantısı v2 (geçerli)
Python SDK azure-ai-ml v2 (geçerli)
Bu makalede, çevrimiçi dağıtımlarda kullanmak istediğiniz modelleri belirtmenin farklı yollarını öğreneceksiniz. Azure Machine Learning çevrimiçi uç noktasına model dağıtırken modeli iki yoldan biriyle belirtmeniz gerekir:
- Modelin yerel bilgisayarınızdaki konumunun yolunu belirtin
- Çalışma alanınıza önceden kaydettiğiniz sürümlemiş bir modele referans sağlayın
Çevrimiçi uç noktanın dağıtımı için modelinizi nasıl belirttiğiniz, modeli nerede depoladığınıza bağlıdır.
Azure Machine Learning'de, dağıtımınızı oluşturduktan sonra ortam değişkeni AZUREML_MODEL_DIR Azure'da modelinizi depoladığınız depolama konumunu gösterir.
Yerel olarak depoladığınız modeller için dağıtım
Bu bölümde, çevrimiçi dağıtımda kullanılacak modelleri nasıl belirtebileceğinizi göstermek için bu yerel klasör yapısı örneği kullanılır:
Tek bir yerel model için dağıtım
Yerel makinenizde bulunan tek bir modeli bir dağıtımda kullanmak için path dağıtım YAML yapılandırma dosyanızda öğesini belirtinmodel. Aşağıdaki kod, yerel yola /Downloads/multi-models-sample/models/model_1/v1/sample_m1.pklsahip dağıtım YAML örneğidir:
$schema: https://azuremlschemas.azureedge.net/latest/managedOnlineDeployment.schema.json
name: blue
endpoint_name: my-endpoint
model:
path: /Downloads/multi-models-sample/models/model_1/v1/sample_m1.pkl
code_configuration:
code: ../../model-1/onlinescoring/
scoring_script: score.py
environment:
conda_file: ../../model-1/environment/conda.yml
image: mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04:latest
instance_type: Standard_DS3_v2
instance_count: 1
Azure Machine Learning'de, çevrimiçi uç noktaya dağıtımınızı oluşturduktan sonra ortam değişkeni AZUREML_MODEL_DIR Azure'da modelinizin depolandığı depolama konumunu gösterir. Örneğin, /var/azureml-app/azureml-models/aaa-aaa-aaa-aaa-aaa/1 şimdi modelini sample_m1.pkliçerir.
Puanlama betiğinizin ()score.py içinde modelinizi (bu örnekte, sample_m1.pkl) betiğin init() işlevine yükleyebilirsiniz:
def init():
model_path = os.path.join(str(os.getenv("AZUREML_MODEL_DIR")), "sample_m1.pkl")
model = joblib.load(model_path)
Birkaç yerel model için dağıtım
Azure CLI, Python SDK'sı ve diğer istemci araçları, dağıtım tanımında dağıtım başına yalnızca bir model belirtmenize izin verse de, tüm modelleri dosya veya alt dizin olarak içeren bir model klasörünü kaydederek bir dağıtımda birden çok modeli kullanmaya devam edebilirsiniz. Dağıtım sırasında kayıtlı adlarını ve sürümlerini belirtebilmeniz için modeller gibi varlıklarınızı kaydetme hakkında daha fazla bilgi için bkz . Modelinizi ve ortamınızı kaydetme.
Örnek yerel klasör yapısında, klasörde birkaç model models olduğunu fark edeceksiniz. Bu modelleri kullanmak için, dağıtım YAML'nizde klasörün yolunu models aşağıdaki gibi belirtirsiniz:
$schema: https://azuremlschemas.azureedge.net/latest/managedOnlineDeployment.schema.json
name: blue
endpoint_name: my-endpoint
model:
path: /Downloads/multi-models-sample/models/
code_configuration:
code: ../../model-1/onlinescoring/
scoring_script: score.py
environment:
conda_file: ../../model-1/environment/conda.yml
image: mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04:latest
instance_type: Standard_DS3_v2
instance_count: 1
Dağıtımınızı oluşturduktan sonra ortam değişkeni AZUREML_MODEL_DIR , Azure'da modellerinizin depolandığı depolama konumunu gösterir. Örneğin, /var/azureml-app/azureml-models/bbb-bbb-bbb-bbb-bbb/1 şimdi modelleri ve dosya yapısını içerir.
Bu örnekte, klasörün içeriği AZUREML_MODEL_DIR şöyle görünür:
Puanlama betiğinizin ()score.py içinde, modellerinizi işleve init() yükleyebilirsiniz. Aşağıdaki kod modeli yükler sample_m1.pkl :
def init():
model_path = os.path.join(str(os.getenv("AZUREML_MODEL_DIR")), "models","model_1","v1", "sample_m1.pkl ")
model = joblib.load(model_path)
Bir dağıtıma birden çok modelin nasıl dağıtılacağına ilişkin bir örnek için bkz . Bir dağıtıma birden çok model dağıtma (CLI örneği) ve Bir dağıtıma birden çok model dağıtma (SDK örneği).
İpucu
Kaydedilecek 1.500'den fazla dosyanız varsa, modelleri kaydederken dosyaları veya alt dizinleri .tar.gz olarak sıkıştırmayı göz önünde bulundurun. Modelleri kullanmak için, puanlama betiğinin işlevindeki init() dosyaları veya alt dizinleri açabilirsiniz. Alternatif olarak, modelleri kaydettiğinizde, dosyaları veya alt dizinleri otomatik olarak açmak için özelliğini azureml.unpackolarak ayarlayınTrue. Her iki durumda da dosyaları açma işlemi başlatma aşamasında bir kez gerçekleşir.
Çalışma alanınıza kayıtlı modeller için dağıtım
Dağıtım tanımınızda kayıtlı modelleri, dağıtım YAML'nizdeki adlarına başvurarak kullanabilirsiniz. Örneğin, aşağıdaki dağıtım YAML yapılandırması kayıtlı model adı olarak azureml:local-multimodel:3belirtir:
$schema: https://azuremlschemas.azureedge.net/latest/managedOnlineDeployment.schema.json
name: blue
endpoint_name: my-endpoint
model: azureml:local-multimodel:3
code_configuration:
code: ../../model-1/onlinescoring/
scoring_script: score.py
environment:
conda_file: ../../model-1/environment/conda.yml
image: mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04:latest
instance_type: Standard_DS3_v2
instance_count: 1
Bu örnekte, Azure Machine Learning studio'nun local-multimodel:3 sekmesinden görüntüleyebileceğiniz aşağıdaki model yapıtlarını içerdiğini düşünün:
Dağıtımınızı oluşturduktan sonra ortam değişkeni AZUREML_MODEL_DIR , Azure'da modellerinizin depolandığı depolama konumunu gösterir. Örneğin, /var/azureml-app/azureml-models/local-multimodel/3 modelleri ve dosya yapısını içerir.
AZUREML_MODEL_DIR model yapıtlarının kökünü içeren klasöre işaret eder. Bu örneğe bağlı olarak, klasörün içeriği AZUREML_MODEL_DIR şöyle görünür:
Puanlama betiğinizin ()score.py içinde, modellerinizi işleve init() yükleyebilirsiniz. Örneğin, modeli yükleyin diabetes.sav :
def init():
model_path = os.path.join(str(os.getenv("AZUREML_MODEL_DIR"), "models", "diabetes", "1", "diabetes.sav")
model = joblib.load(model_path)
Model kataloğunda kullanılabilen modeller için dağıtım
Azure OpenAI koleksiyonundaki modeller dışında, model kataloğundaki herhangi bir model için, dağıtım için modelin kartında gösterilen model kimliğini kullanabilirsiniz. Model kimlikleri biçimindedir azureml://registries/{registry_name}/models/{model_name}/versions/{model_version}. Örneğin, Meta Llama 3-8 B Yönerge modeli için
Bazı model kartları, dağıtım için model kimliğini nasıl kullanacağınızı gösteren örnek not defterleri içerir.
Kuruluşunuzun kayıt defterinde kullanılabilen modeller için dağıtım
Kuruluşun kayıt defterindeki her model, biçiminde azureml://registries/{registry_name}/models/{model_name}/versions/{model_version}bir model kimliğine sahiptir. Aynı kayıt defterine kayıtlı ortamları kullanmayı da seçebilirsiniz.