Jak działa usługa Azure Machine Learning: zasoby i zasoby
DOTYCZY: Rozszerzenie interfejsu wiersza polecenia platformy Azure w wersji 2 (current)Zestaw PYTHON SDK azure-ai-ml v2 (bieżąca)
Ten artykuł dotyczy drugiej wersji interfejsu wiersza polecenia usługi Azure Machine Learning i zestawu PYTHON SDK (wersja 2). Aby uzyskać informacje o wersji 1, zobacz Jak działa usługa Azure Machine Learning: architektura i pojęcia (wersja 1)
Usługa Azure Machine Learning obejmuje kilka zasobów i zasobów umożliwiających wykonywanie zadań uczenia maszynowego. Te zasoby i zasoby są potrzebne do uruchomienia dowolnego zadania.
- Zasoby: konfigurowanie lub zasoby infrastrukturalne potrzebne do uruchomienia przepływu pracy uczenia maszynowego. Zasoby obejmują:
- Zasoby: utworzone przy użyciu poleceń usługi Azure Machine Learning lub w ramach przebiegu trenowania/oceniania. Zasoby są wersjonowane i można je zarejestrować w obszarze roboczym usługi Azure Machine Learning. Obejmują one:
Ten dokument zawiera krótkie omówienie tych zasobów i zasobów.
Wymagania wstępne
Aby użyć przykładów kodu zestawu SDK języka Python w tym artykule:
Instalowanie zestawu Python SDK w wersji 2
Utwórz połączenie z subskrypcją usługi Azure Machine Learning. Wszystkie przykłady bazują na .
ml_client
Aby utworzyć obszar roboczy, połączenie nie wymaga nazwy obszaru roboczego, ponieważ być może jeszcze go nie ma. Wszystkie inne przykłady w tym artykule wymagają, aby nazwa obszaru roboczego została uwzględniona w połączeniu.# import required libraries from azure.ai.ml import MLClient from azure.ai.ml.entities import Workspace from azure.identity import DefaultAzureCredential # Enter details of your subscription subscription_id = "<SUBSCRIPTION_ID>" resource_group = "<RESOURCE_GROUP>" # get a handle to the subscription (use this if you haven't created a workspace yet) ml_client = MLClient(DefaultAzureCredential(), subscription_id, resource_group) # all other examples in this article require the connection to include workspace name workspace_name = "<WORKSPACE_NAME>" ml_client = ml_client = MLClient(DefaultAzureCredential(), subscription_id, resource_group, workspace_name)
Obszar roboczy
Obszar roboczy jest zasobem najwyższego poziomu dla usługi Azure Machine Learning, który udostępnia scentralizowane miejsce do pracy z wszystkimi tworzonymi podczas korzystania usługi Azure Machine Learning artefaktami. Obszar roboczy przechowuje historię wszystkich zadań, w tym dzienniki, metryki, dane wyjściowe i migawkę skryptów. Obszar roboczy przechowuje odwołania do zasobów, takich jak magazyny danych i zasoby obliczeniowe. Zawiera również wszystkie zasoby, takie jak modele, środowiska, składniki i zasób danych.
Tworzenie obszaru roboczego
Aby utworzyć obszar roboczy przy użyciu zestawu Python SDK w wersji 2, możesz użyć następującego kodu:
DOTYCZY: Zestaw PYTHON SDK azure-ai-ml w wersji 2 (bieżąca)
# specify the workspace details
ws = Workspace(
name="my_workspace",
location="eastus",
display_name="My workspace",
description="This example shows how to create a workspace",
tags=dict(purpose="demo"),
)
ml_client.workspaces.begin_create(ws) # use MLClient to connect to the subscription and resource group and create workspace
Ten notes Jupyter zawiera więcej sposobów tworzenia obszaru roboczego usługi Azure Machine Learning przy użyciu zestawu SDK w wersji 2.
Aby uzyskać bardziej szczegółowe informacje na temat tworzenia obszaru roboczego, zobacz Zarządzanie obszarami roboczymi usługi Azure Machine Learning w portalu lub przy użyciu zestawu SDK języka Python (wersja 2).
Compute
Obliczenia to wyznaczony zasób obliczeniowy, w którym uruchamiasz zadanie lub hostujesz punkt końcowy. Usługa Azure Machine Learning obsługuje następujące typy obliczeń:
- Wystąpienie obliczeniowe — w pełni skonfigurowane i zarządzane środowisko programistyczne w chmurze. Możesz użyć wystąpienia jako środowiska obliczeniowego trenowania lub wnioskowania na potrzeby programowania i testowania. Jest ona podobna do maszyny wirtualnej w chmurze.
- Klaster obliczeniowy — zarządzana infrastruktura obliczeniowa, która umożliwia łatwe tworzenie klastra węzłów obliczeniowych procesora CPU lub procesora GPU w chmurze.
- Obliczenia bezserwerowe — klaster obliczeniowy dostępny na bieżąco. W przypadku korzystania z bezserwerowych obliczeń nie trzeba tworzyć własnego klastra. Całe zarządzanie cyklem życia zasobów obliczeniowych jest odciążane do usługi Azure Machine Learning.
- Klaster wnioskowania — służy do wdrażania wytrenowanych modeli uczenia maszynowego w usłudze Azure Kubernetes Service. Klaster usługi Azure Kubernetes Service (AKS) można utworzyć z poziomu obszaru roboczego usługi Azure Machine Learning lub dołączyć istniejący klaster usługi AKS.
- Dołączone zasoby obliczeniowe — możesz dołączyć własne zasoby obliczeniowe do obszaru roboczego i użyć ich do trenowania i wnioskowania.
Tworzenie obliczeń
Aby utworzyć klaster obliczeniowy przy użyciu zestawu Python SDK w wersji 2, możesz użyć następującego kodu:
DOTYCZY: Zestaw PYTHON SDK azure-ai-ml w wersji 2 (bieżąca)
cluster_basic = AmlCompute(
name="basic-example",
type="amlcompute",
size="STANDARD_DS3_v2",
location="westus",
min_instances=0,
max_instances=2,
idle_time_before_scale_down=120,
)
ml_client.begin_create_or_update(cluster_basic)
Ten notes Jupyter zawiera więcej sposobów tworzenia zasobów obliczeniowych przy użyciu zestawu SDK w wersji 2.
Aby uzyskać bardziej szczegółowe informacje na temat tworzenia obliczeń, zobacz:
- Tworzenie wystąpienia obliczeniowego usługi Azure Machine Learning
- Tworzenie klastra obliczeniowego usługi Azure Machine Learning
Magazyn danych
Magazyny danych usługi Azure Machine Learning bezpiecznie przechowują informacje o połączeniu z magazynem danych na platformie Azure, więc nie musisz kodować ich w skryptach. Możesz zarejestrować i utworzyć magazyn danych, aby łatwo nawiązać połączenie z kontem magazynu i uzyskać dostęp do danych w podstawowej usłudze magazynu. Interfejs wiersza polecenia w wersji 2 i zestaw SDK w wersji 2 obsługują następujące typy usług magazynu w chmurze:
- Azure Blob Container
- Udział plików platformy Azure
- Azure Data Lake
- Azure Data Lake Gen2
Tworzenie magazynu danych
Aby utworzyć magazyn danych przy użyciu zestawu SDK języka Python w wersji 2, możesz użyć następującego kodu:
DOTYCZY: Zestaw PYTHON SDK azure-ai-ml w wersji 2 (bieżąca)
import AzureBlobDatastore
blob_datastore1 = AzureBlobDatastore(
name="blob_example",
description="Datastore pointing to a blob container.",
account_name="mytestblobstore",
container_name="data-container",
credentials={
"account_key": "XXXxxxXXXxXXXXxxXXXXXxXXXXXxXxxXxXXXxXXXxXXxxxXXxxXXXxXxXXXxxXxxXXXXxxxxxXXxxxxxxXXXxXXX"
},
)
ml_client.create_or_update(blob_datastore1)
Ten notes Jupyter zawiera więcej sposobów tworzenia magazynów danych przy użyciu zestawu SDK w wersji 2.
Aby dowiedzieć się więcej na temat korzystania z magazynu danych, zobacz Tworzenie zasobów danych i zarządzanie nimi.
Model
Modele usługi Azure Machine Learning składają się z co najmniej jednego pliku binarnego reprezentującego model uczenia maszynowego i odpowiednie metadane. Modele można tworzyć na podstawie lokalnego lub zdalnego pliku lub katalogu. W przypadku lokalizacji zdalnych https
wasbs
i azureml
lokalizacji są obsługiwane. Utworzony model jest śledzony w obszarze roboczym pod określoną nazwą i wersją. Usługa Azure Machine Learning obsługuje trzy typy formatów magazynu dla modeli:
custom_model
mlflow_model
triton_model
Tworzenie modelu w rejestrze modeli
Rejestracja modelu umożliwia przechowywanie i przechowywanie wersji modeli w chmurze platformy Azure w obszarze roboczym. Rejestr modeli ułatwia organizowanie i śledzenie wytrenowanych modeli.
Aby uzyskać więcej informacji na temat tworzenia modeli w rejestrze, zobacz Praca z modelami w usłudze Azure Machine Learning.
Środowisko
Środowiska usługi Azure Machine Learning to hermetyzacja środowiska, w którym odbywa się zadanie uczenia maszynowego. Określają pakiety oprogramowania, zmienne środowiskowe i ustawienia oprogramowania wokół skryptów trenowania i oceniania. Środowiska są zarządzane i wersjonowane w obszarze roboczym usługi Machine Learning. Środowiska umożliwiają odtwarzanie, inspekcję i przenośne przepływy pracy uczenia maszynowego w różnych obliczeniach.
Typy środowiska
Usługa Azure Machine Learning obsługuje dwa typy środowisk: wyselekcjonowane i niestandardowe.
Wyselekcjonowane środowiska są udostępniane przez usługę Azure Machine Learning i są domyślnie dostępne w obszarze roboczym. Przeznaczone do użycia tak, jak to jest, zawierają kolekcje pakietów i ustawień języka Python, aby ułatwić rozpoczęcie pracy z różnymi strukturami uczenia maszynowego. Te wstępnie utworzone środowiska umożliwiają również krótszy czas wdrażania. Aby uzyskać pełną listę, zobacz artykuł wyselekcjonowane środowiska.
W środowiskach niestandardowych odpowiadasz za konfigurowanie środowiska i instalowanie pakietów lub innych zależności wymaganych przez skrypt trenowania lub oceniania na podstawie obliczeń. Usługa Azure Machine Learning umożliwia tworzenie własnego środowiska przy użyciu polecenia
- Obraz platformy Docker
- Podstawowy obraz platformy Docker z plikiem YAML conda w celu dalszego dostosowywania
- Kontekst kompilacji platformy Docker
Tworzenie niestandardowego środowiska usługi Azure Machine Learning
Aby utworzyć środowisko przy użyciu zestawu PYTHON SDK w wersji 2, zobacz Tworzenie środowiska.
Ten notes Jupyter zawiera więcej sposobów tworzenia środowisk niestandardowych przy użyciu zestawu SDK w wersji 2.
Aby uzyskać bardziej szczegółowe informacje o środowiskach, zobacz Tworzenie środowisk i zarządzanie nimi w usłudze Azure Machine Learning.
Data
Usługa Azure Machine Learning umożliwia pracę z różnymi typami danych:
- Identyfikatory URI (lokalizacja w magazynie lokalnym/w chmurze)
uri_folder
uri_file
- Tabele (abstrakcja danych tabelarycznych)
mltable
- Pierwotnych
string
boolean
number
W większości scenariuszy używasz identyfikatorów URI (uri_folder
i uri_file
) — lokalizacji w magazynie, która może być łatwo mapowana na system plików węzła obliczeniowego w zadaniu przez zainstalowanie lub pobranie magazynu do węzła.
mltable
to abstrakcja danych tabelarycznych, które mają być używane w przypadku zadań automl, zadań równoległych i niektórych zaawansowanych scenariuszy. Jeśli dopiero zaczynasz korzystać z usługi Azure Machine Learning i nie używasz rozwiązania AutoML, zdecydowanie zachęcamy do rozpoczęcia od identyfikatorów URI.
Składnik
Składnik usługi Azure Machine Learning to samodzielny fragment kodu, który wykonuje jeden krok w potoku uczenia maszynowego. Składniki to bloki konstrukcyjne zaawansowanych potoków uczenia maszynowego. Składniki mogą wykonywać zadania, takie jak przetwarzanie danych, trenowanie modelu, ocenianie modelu itd. Składnik jest analogiczny do funkcji — ma nazwę, parametry, oczekuje danych wejściowych i zwraca dane wyjściowe.