Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
DOTYCZY: Rozszerzenie interfejsu wiersza polecenia platformy Azure w wersji 2 (current)
Zestaw PYTHON SDK azure-ai-ml v2 (bieżąca)
W tym artykule przedstawiono różne sposoby określania modeli, które mają być używane we wdrożeniach online. Podczas wdrażania modelu w punkcie końcowym online usługi Azure Machine Learning należy określić model na jeden z dwóch sposobów:
- Podaj ścieżkę do lokalizacji modelu na komputerze lokalnym
- Podaj odwołanie do wersji modelu, który jest już zarejestrowany w obszarze roboczym.
Sposób określania modelu wdrożenia punktu końcowego online zależy od tego, gdzie jest przechowywany model.
W usłudze Azure Machine Learning po utworzeniu wdrożenia zmienna środowiskowa AZUREML_MODEL_DIR
wskazuje lokalizację magazynu na platformie Azure, w której jest przechowywany model.
Wdrażanie modeli przechowywanych lokalnie
W tej sekcji użyto tego przykładu lokalnej struktury folderów, aby pokazać, jak można określić modele do użycia we wdrożeniu online:
Wdrażanie pojedynczego modelu lokalnego
Aby użyć pojedynczego modelu na komputerze lokalnym we wdrożeniu, określ path
parametr do model
w pliku konfiguracji YAML wdrożenia. Poniższy kod jest przykładem wdrożenia YAML z ścieżką /Downloads/multi-models-sample/models/model_1/v1/sample_m1.pkl
lokalną :
$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
W usłudze Azure Machine Learning po utworzeniu wdrożenia w punkcie końcowym online zmienna środowiskowa AZUREML_MODEL_DIR
wskazuje lokalizację magazynu na platformie Azure, w której jest przechowywany model. Na przykład /var/azureml-app/azureml-models/aaa-aaa-aaa-aaa-aaa/1
teraz zawiera model sample_m1.pkl
.
W skrycie oceniania (score.py
) możesz załadować model (w tym przykładzie sample_m1.pkl
) w funkcji skryptu init()
:
def init():
model_path = os.path.join(str(os.getenv("AZUREML_MODEL_DIR")), "sample_m1.pkl")
model = joblib.load(model_path)
Wdrażanie dla kilku modeli lokalnych
Mimo że interfejs wiersza polecenia platformy Azure, zestaw SDK języka Python i inne narzędzia klienckie umożliwiają określenie tylko jednego modelu na wdrożenie w definicji wdrożenia, nadal można używać wielu modeli we wdrożeniu, rejestrując folder modelu zawierający wszystkie modele jako pliki lub podkatalogi. Aby uzyskać więcej informacji na temat rejestrowania zasobów, takich jak modele, aby można było określić ich zarejestrowane nazwy i wersje podczas wdrażania, zobacz Rejestrowanie modelu i środowiska.
W przykładowej strukturze folderów lokalnych zauważysz, że w folderze models
znajduje się kilka modeli. Aby użyć tych modeli, we wdrożeniu models
YAML należy określić ścieżkę do folderu w następujący sposób:
$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
Po utworzeniu wdrożenia zmienna środowiskowa AZUREML_MODEL_DIR
wskazuje lokalizację magazynu na platformie Azure, w której są przechowywane modele. Na przykład /var/azureml-app/azureml-models/bbb-bbb-bbb-bbb-bbb/1
teraz zawiera modele i strukturę plików.
W tym przykładzie AZUREML_MODEL_DIR
zawartość folderu wygląda następująco:
Za pomocą skryptu oceniania (score.py
) można załadować modele w init()
funkcji . Poniższy kod ładuje sample_m1.pkl
model:
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)
Aby zapoznać się z przykładem wdrażania kilku modeli w jednym wdrożeniu, zobacz Wdrażanie wielu modeli w jednym wdrożeniu (przykład interfejsu wiersza polecenia) i Wdrażanie wielu modeli w jednym wdrożeniu (przykład zestawu SDK).
Napiwek
Jeśli masz więcej niż 1500 plików do zarejestrowania, rozważ skompresowanie plików lub podkatalogów jako .tar.gz podczas rejestrowania modeli. Aby korzystać z modeli, możesz rozpakować pliki lub podkatalogi w init()
funkcji skryptu oceniania. Alternatywnie podczas rejestrowania modeli ustaw azureml.unpack
właściwość na True
, aby automatycznie rozpakować pliki lub podkatalogi. W obu przypadkach rozpakowywanie plików odbywa się raz na etapie inicjowania.
Wdrażanie modeli zarejestrowanych w obszarze roboczym
Zarejestrowane modele można używać w definicji wdrożenia, odwołując się do ich nazw we wdrożeniu YAML. Na przykład następująca konfiguracja wdrożenia YAML określa zarejestrowaną model
nazwę jako azureml:local-multimodel:3
:
$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
W tym przykładzie należy wziąć pod uwagę, że local-multimodel:3
zawiera następujące artefakty modelu, które można wyświetlić na karcie Modele w usłudze Azure Machine Learning Studio:
Po utworzeniu wdrożenia zmienna środowiskowa AZUREML_MODEL_DIR
wskazuje lokalizację magazynu na platformie Azure, w której są przechowywane modele. Na przykład /var/azureml-app/azureml-models/local-multimodel/3
zawiera modele i strukturę plików. AZUREML_MODEL_DIR
wskazuje folder zawierający katalog główny artefaktów modelu. Na podstawie tego przykładu AZUREML_MODEL_DIR
zawartość folderu wygląda następująco:
Za pomocą skryptu oceniania (score.py
) można załadować modele w init()
funkcji . Na przykład załaduj diabetes.sav
model:
def init():
model_path = os.path.join(str(os.getenv("AZUREML_MODEL_DIR"), "models", "diabetes", "1", "diabetes.sav")
model = joblib.load(model_path)
Wdrażanie modeli dostępnych w wykazie modeli
W przypadku dowolnego modelu w katalogu modeli, z wyjątkiem modeli w kolekcji Azure OpenAI, można użyć identyfikatora modelu wyświetlanego na karcie modelu do wdrożenia. Identyfikatory modeli mają postać azureml://registries/{registry_name}/models/{model_name}/versions/{model_version}
. Na przykład identyfikator modelu meta llama 3-8 B Poinstruuj model to azureml://registries/azureml-meta/models/Meta-Llama-3-8B-Instruct/versions/2
.
Niektóre karty modelu zawierają przykładowe notesy pokazujące, jak używać identyfikatora modelu dla wdrożenia.
Wdrażanie modeli dostępnych w rejestrze organizacji
Każdy model w rejestrze organizacji ma identyfikator modelu formularza azureml://registries/{registry_name}/models/{model_name}/versions/{model_version}
. Możesz również użyć środowisk zarejestrowanych w tym samym rejestrze.