Místní nasazení modelu
Zjistěte, jak pomocí služby Azure Machine Učení nasadit model jako webovou službu na výpočetní instanci Azure Machine Učení. Pokud platí jedna z následujících podmínek, použijte výpočetní instance:
- Potřebujete rychle nasadit a ověřit model.
- Testujete model, který je ve vývoji.
Tip
Nasazení modelu z poznámkového bloku Jupyter do webové služby na stejném virtuálním počítači je místní nasazení. V tomto případě je výpočetní instancí "místní" počítač.
Poznámka:
Koncové body služby Azure Machine Učení (v2) poskytují vylepšené a jednodušší prostředí pro nasazení. Koncové body podporují scénáře odvození v reálném čase i dávkového odvozu. Koncové body poskytují jednotné rozhraní pro vyvolání a správu nasazení modelu napříč typy výpočetních prostředků. Podívejte se, co jsou koncové body azure machine Učení?
Předpoklady
- Pracovní prostor azure machine Učení se spuštěnou výpočetní instancí. Další informace najdete v tématu Vytvoření prostředků, které vám pomůžou začít.
Nasazení do výpočetních instancí
Ukázkový poznámkový blok, který ukazuje místní nasazení, je součástí výpočetní instance. Pomocí následujících kroků načtěte poznámkový blok a nasaďte model jako webovou službu na virtuálním počítači:
V studio Azure Machine Learning vyberte Poznámkové bloky a pak v části Ukázkové poznámkové bloky vyberte how-to-use-azureml/deployment/deploy-to-local/register-model-deploy-local.ipynb. Naklonujte tento poznámkový blok do složky uživatele.
Vyhledejte naklonovaný poznámkový blok v kroku 1 a zvolte nebo vytvořte výpočetní instanci, která poznámkový blok spustí.
V poznámkovém bloku se zobrazí adresa URL a port, na kterém je služba spuštěná. Například,
https://localhost:6789
. Můžete také spustit buňku obsahujícíprint('Local service port: {}'.format(local_service.port))
k zobrazení portu.K otestování služby z výpočetní instance použijte
https://localhost:<local_service.port>
adresu URL. Pokud chcete testovat ze vzdáleného klienta, získejte veřejnou adresu URL služby spuštěné ve výpočetní instanci. Veřejnou adresu URL lze určit pomocí následujícího vzorce;- Virtuální počítač poznámkového bloku:
https://<vm_name>-<local_service_port>.<azure_region_of_workspace>.notebooks.azureml.net/score
. - Výpočetní instance:
https://<vm_name>-<local_service_port>.<azure_region_of_workspace>.instances.azureml.net/score
.
Příklad:
- Virtuální počítač poznámkového bloku:
https://vm-name-6789.northcentralus.notebooks.azureml.net/score
- Výpočetní instance:
https://vm-name-6789.northcentralus.instances.azureml.net/score
- Virtuální počítač poznámkového bloku:
Testování služby
K odeslání ukázkových dat do spuštěné služby použijte následující kód. Nahraďte hodnotu service_url
adresou URL z předchozího kroku:
Poznámka:
Při ověřování nasazení ve výpočetní instanci se ověřování provádí pomocí ID Microsoft Entra. Volání interactive_auth.get_authentication_header()
v ukázkovém kódu vás ověří pomocí ID Microsoft Entra a vrátí hlavičku, která se pak dá použít k ověření ve službě ve výpočetní instanci. Další informace najdete v tématu Nastavení ověřování pro prostředky a pracovní postupy azure machine Učení.
Při ověřování nasazení ve službě Azure Kubernetes Service nebo Azure Container Instances se použije jiná metoda ověřování. Další informace najdete v tématu Konfigurace ověřování pro modely počítačů Azure nasazené jako webové služby.
import requests
import json
from azureml.core.authentication import InteractiveLoginAuthentication
# Get a token to authenticate to the compute instance from remote
interactive_auth = InteractiveLoginAuthentication()
auth_header = interactive_auth.get_authentication_header()
# Create and submit a request using the auth header
headers = auth_header
# Add content type header
headers.update({'Content-Type':'application/json'})
# Sample data to send to the service
test_sample = json.dumps({'data': [
[1,2,3,4,5,6,7,8,9,10],
[10,9,8,7,6,5,4,3,2,1]
]})
test_sample = bytes(test_sample,encoding = 'utf8')
# Replace with the URL for your compute instance, as determined from the previous section
service_url = "https://vm-name-6789.northcentralus.notebooks.azureml.net/score"
# for a compute instance, the url would be https://vm-name-6789.northcentralus.instances.azureml.net/score
resp = requests.post(service_url, test_sample, headers=headers)
print("prediction:", resp.text)
Další kroky
- Nasazení modelu pomocí vlastní image Dockeru
- Řešení potíží s nasazením
- Zabezpečení webové služby prostřednictvím služby Azure Machine Learning s využitím protokolu TLS
- Využití modelu ML nasazeného jako webová služba
- Monitorování modelů Učení azure machine pomocí služby Application Přehledy
- Shromažďování dat pro modely v produkčním prostředí
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro