Tworzenie wystąpienia obliczeniowe usługi Azure Machine Learning i zarządzanie nim
DOTYCZY:Rozszerzenie uczenia maszynowego platformy Azure w wersji 2 (bieżąca)
Zestaw SDK języka Python azure-ai-ml w wersji 2 (bieżąca)
Dowiedz się, jak utworzyć wystąpienie obliczeniowe i zarządzać nim w obszarze roboczym usługi Azure Machine Learning.
Użyj wystąpienia obliczeniowego jako w pełni skonfigurowanego i zarządzanego środowiska programistycznego w chmurze. Na potrzeby programowania i testowania można również użyć wystąpienia jako celu obliczeniowego trenowania. Wystąpienie obliczeniowe może równolegle uruchamiać wiele zadań i ma kolejkę zadań. Jako środowisko programistyczne wystąpienie obliczeniowe nie może być udostępniane innym użytkownikom w obszarze roboczym.
W tym artykule omówiono sposób wykonywania następujących zadań:
- Tworzenie wystąpienia obliczeniowego
- Zarządzanie (uruchamianie, zatrzymywanie, ponowne uruchamianie, usuwanie) wystąpienia obliczeniowego
- Tworzenie harmonogramu automatycznego uruchamiania i zatrzymywania wystąpienia obliczeniowego
- Włączanie zamykania bezczynności
Możesz również użyć skryptu instalacyjnego , aby utworzyć wystąpienie obliczeniowe z własnym środowiskiem niestandardowym.
Wystąpienia obliczeniowe mogą bezpiecznie uruchamiać zadania w środowisku sieci wirtualnej bez konieczności otwierania portów SSH przez przedsiębiorstwa. Zadanie jest wykonywane w środowisku konteneryzowanym i pakuje zależności modelu w kontenerze platformy Docker.
Uwaga
W tym artykule przedstawiono interfejs wiersza polecenia w wersji 2 w poniższych sekcjach. Jeśli nadal używasz interfejsu wiersza polecenia w wersji 1, zobacz Tworzenie interfejsu wiersza polecenia klastra obliczeniowego usługi Azure Machine Learning w wersji 1).
Wymagania wstępne
Obszar roboczy usługi Azure Machine Learning. Aby uzyskać więcej informacji, zobacz Tworzenie obszaru roboczego usługi Azure Machine Learning. Na koncie magazynu opcja "Zezwalaj na dostęp do klucza konta magazynu" musi być włączona w celu pomyślnego utworzenia wystąpienia obliczeniowego.
Rozszerzenie interfejsu wiersza polecenia platformy Azure dla usługi Machine Learning Service (wersja 2),zestaw SDK języka Python usługi Azure Machine Learning (wersja 2) lub rozszerzenie usługi Azure Machine Learning Visual Studio Code.
Jeśli używasz zestawu SDK języka Python, skonfiguruj środowisko deweloperskie z obszarem roboczym. Po skonfigurowaniu środowiska dołącz go do obszaru roboczego w skrypsie języka Python:
DOTYCZY:
Zestaw SDK języka Python azure-ai-ml w wersji 2 (bieżący)
Uruchom ten kod, aby nawiązać połączenie z obszarem roboczym usługi Azure ML.
Zastąp identyfikator subskrypcji, nazwę grupy zasobów i nazwę obszaru roboczego w poniższym kodzie. Aby znaleźć następujące wartości:
- Zaloguj się do Azure Machine Learning studio.
- Otwórz obszar roboczy, którego chcesz użyć.
- Na prawym górnym pasku narzędzi Azure Machine Learning studio wybierz nazwę obszaru roboczego.
- Skopiuj wartość obszaru roboczego, grupy zasobów i identyfikatora subskrypcji do kodu.
- Jeśli używasz notesu wewnątrz programu Studio, musisz skopiować jedną wartość, zamknąć obszar i wkleić, a następnie wrócić do następnego.
# Enter details of your AML workspace subscription_id = "<SUBSCRIPTION_ID>" resource_group = "<RESOURCE_GROUP>" workspace = "<AML_WORKSPACE_NAME>"
# get a handle to the workspace from azure.ai.ml import MLClient from azure.identity import DefaultAzureCredential ml_client = MLClient( DefaultAzureCredential(), subscription_id, resource_group, workspace )
ml_client
to procedura obsługi obszaru roboczego, którego będziesz używać do zarządzania innymi zasobami i zadaniami.
Utwórz
Szacowanie czasu: około 5 minut.
Tworzenie wystąpienia obliczeniowego to jednorazowy proces dla obszaru roboczego. Możesz ponownie użyć zasobów obliczeniowych jako stacji roboczej deweloperów lub jako celu obliczeniowego na potrzeby trenowania. Możesz mieć wiele wystąpień obliczeniowych dołączonych do obszaru roboczego.
Dedykowane rdzenie na region na przydział rodziny maszyn wirtualnych i łączny limit przydziału regionalnego, który ma zastosowanie do tworzenia wystąpienia obliczeniowego, jest ujednolicony i współużytkowany z limitem przydziału klastra obliczeniowego trenowania usługi Azure Machine Learning. Zatrzymanie wystąpienia obliczeniowego nie zwalnia limitu przydziału, aby upewnić się, że będzie można ponownie uruchomić wystąpienie obliczeniowe. Nie można zmienić rozmiaru maszyny wirtualnej wystąpienia obliczeniowego po jego utworzeniu.
Najszybszym sposobem utworzenia wystąpienia obliczeniowego jest wykonanie czynności związanych z tworzeniem zasobów, które należy rozpocząć.
Możesz też użyć następujących przykładów, aby utworzyć wystąpienie obliczeniowe z większą liczbie opcji:
DOTYCZY: Zestaw SDK języka Python azure-ai-ml w wersji 2 (bieżący)
# Compute Instances need to have a unique name across the region.
# Here we create a unique name with current datetime
from azure.ai.ml.entities import ComputeInstance, AmlCompute
import datetime
ci_basic_name = "basic-ci" + datetime.datetime.now().strftime("%Y%m%d%H%M")
ci_basic = ComputeInstance(name=ci_basic_name, size="STANDARD_DS3_v2")
ml_client.begin_create_or_update(ci_basic).result()
Aby uzyskać więcej informacji na temat klas, metod i parametrów używanych w tym przykładzie, zobacz następujące dokumenty referencyjne:
- Klasa
AmlCompute
- Klasa
ComputeInstance
Utwórz w imieniu użytkownika
Jako administrator możesz utworzyć wystąpienie obliczeniowe w imieniu analityka danych i przypisać do niego wystąpienie za pomocą następujących elementów:
Studio przy użyciu ustawień zaawansowanych
Szablon usługi Azure Resource Manager. Aby uzyskać szczegółowe informacje na temat znajdowania identyfikatorów TenantID i ObjectID wymaganych w tym szablonie, zobacz Znajdowanie identyfikatorów obiektów tożsamości na potrzeby konfiguracji uwierzytelniania. Te wartości można również znaleźć w portalu usługi Azure Active Directory.
Interfejs API REST
Analityk danych, dla którego utworzono wystąpienie obliczeniowe, musi mieć następujące uprawnienia kontroli dostępu opartej na rolach (RBAC) platformy Azure :
- Microsoft.MachineLearningServices/workspaces/computes/start/action
- Microsoft.MachineLearningServices/workspaces/computes/stop/action
- Microsoft.MachineLearningServices/workspaces/computes/restart/action
- Microsoft.MachineLearningServices/workspaces/computes/applicationaccess/action
- Microsoft.MachineLearningServices/workspaces/computes/updateSchedules/action
Analityk danych może uruchomić, zatrzymać i ponownie uruchomić wystąpienie obliczeniowe. Mogą używać wystąpienia obliczeniowego dla:
- Jupyter
- JupyterLab
- RStudio
- Posit Workbench (dawniej RStudio Workbench)
- Zintegrowane notesy
Włączanie zamykania bezczynności
Aby uniknąć naliczania opłat za wystąpienie obliczeniowe, które jest włączone, ale nieaktywne, możesz skonfigurować czas zamykania wystąpienia obliczeniowego z powodu braku aktywności.
Wystąpienie obliczeniowe jest uznawane za nieaktywne, jeśli spełnione są poniższe warunki:
- Brak aktywnych sesji jądra Jupyter (co przekłada się na brak użycia notesów za pośrednictwem notesów Jupyter, JupyterLab lub interaktywnych notesów)
- Brak aktywnych sesji terminalu Jupyter
- Brak aktywnych przebiegów ani eksperymentów usługi Azure Machine Learning
- Brak połączeń SSH
- Brak połączeń programu VS Code; Aby wystąpienie obliczeniowe było uznawane za nieaktywne, należy zamknąć połączenie programu VS Code. Sesje są automatycznie przerywane, jeśli program VS Code nie wykryje działania przez 3 godziny.
- W obliczeniach nie są uruchomione żadne aplikacje niestandardowe
Wystąpienie obliczeniowe nie zostanie uznane za bezczynne, jeśli jest uruchomiona żadna aplikacja niestandardowa. Istnieją również pewne podstawowe granice dotyczące okresów braku aktywności; Wystąpienie obliczeniowe musi być nieaktywne przez co najmniej 15 minut i maksymalnie trzy dni.
Ponadto jeśli wystąpienie obliczeniowe zostało już bezczynne przez określony czas, jeśli ustawienia zamknięcia bezczynności zostaną zaktualizowane do czasu krótszego niż bieżący czas bezczynności, zegar bezczynności zostanie zresetowany do 0. Jeśli na przykład wystąpienie obliczeniowe było już bezczynne przez 20 minut, a ustawienia zamykania zostaną zaktualizowane do 15 minut, zegar bezczynności zostanie zresetowany do 0.
Ustawienie można skonfigurować podczas tworzenia wystąpienia obliczeniowego lub dla istniejących wystąpień obliczeniowych za pośrednictwem następujących interfejsów:
DOTYCZY: Zestaw SDK języka Python azure-ai-ml w wersji 2 (bieżący)
Podczas tworzenia nowego wystąpienia obliczeniowego dodaj idle_time_before_shutdown_minutes
parametr .
# Note that idle_time_before_shutdown has been deprecated.
ComputeInstance(name=ci_basic_name, size="STANDARD_DS3_v2", idle_time_before_shutdown_minutes="30")
Nie można zmienić czasu bezczynności istniejącego wystąpienia obliczeniowego za pomocą zestawu SDK języka Python.
Możesz również zmienić czas bezczynności przy użyciu:
Interfejs API REST
Punkt końcowy:
POST https://management.azure.com/subscriptions/{SUB_ID}/resourceGroups/{RG_NAME}/providers/Microsoft.MachineLearningServices/workspaces/{WS_NAME}/computes/{CI_NAME}/updateIdleShutdownSetting?api-version=2021-07-01
Ciała:
{ "idleTimeBeforeShutdown": "PT30M" // this must be a string in ISO 8601 format }
Szablony usługi ARM: konfigurowalne tylko podczas tworzenia nowego wystąpienia obliczeniowego
// Note that this is just a snippet for the idle shutdown property in an ARM template { "idleTimeBeforeShutdown":"PT30M" // this must be a string in ISO 8601 format }
Obsługa zasad platformy Azure
Administratorzy mogą używać wbudowanej definicji Azure Policy, aby wymusić automatyczne zatrzymywanie wszystkich wystąpień obliczeniowych w danej subskrypcji/grupie zasobów.
Przejdź do Azure Policy w Azure Portal.
W obszarze "Definicje" poszukaj zasad zamykania bezczynności.
Przypisz zasady do wymaganego zakresu.
Możesz również utworzyć własne niestandardowe zasady platformy Azure. Jeśli na przykład poniższe zasady zostaną przypisane, wszystkie nowe wystąpienia obliczeniowe będą miały skonfigurowane automatyczne zatrzymanie z 60-minutowym okresem braku aktywności.
{
"mode": "All",
"policyRule": {
"if": {
"allOf": [
{
"field": "type",
"equals": "Microsoft.MachineLearningServices/workspaces/computes"
},
{
"field": "Microsoft.MachineLearningServices/workspaces/computes/computeType",
"equals": "ComputeInstance"
},
{
"anyOf": [
{
"field": "Microsoft.MachineLearningServices/workspaces/computes/idleTimeBeforeShutdown",
"exists": false
},
{
"value": "[empty(field('Microsoft.MachineLearningServices/workspaces/computes/idleTimeBeforeShutdown'))]",
"equals": true
}
]
}
]
},
"then": {
"effect": "append",
"details": [
{
"field": "Microsoft.MachineLearningServices/workspaces/computes/idleTimeBeforeShutdown",
"value": "PT60M"
}
]
}
},
"parameters": {}
}
Planowanie automatycznego uruchamiania i zatrzymywania
Zdefiniuj wiele harmonogramów automatycznego zamykania i automatycznego uruchamiania. Na przykład utwórz harmonogram rozpoczęcia o godzinie 9:00 i zatrzymaj się o godzinie 18:00 od poniedziałku do czwartku, a drugi harmonogram, który rozpocznie się o godzinie 19:00 i zatrzymaj się o godzinie 16:00 w piątek. Możesz utworzyć łącznie cztery harmonogramy na wystąpienie obliczeniowe.
Harmonogramy można również zdefiniować do tworzenia w imieniu wystąpień obliczeniowych. Możesz utworzyć harmonogram, który tworzy wystąpienie obliczeniowe w stanie zatrzymania. Zatrzymane wystąpienia obliczeniowe są przydatne podczas tworzenia wystąpienia obliczeniowego w imieniu innego użytkownika.
Przed zaplanowanym zamknięciem użytkownicy będą widzieć powiadomienie informujące o tym, że wystąpienie obliczeniowe wkrótce zostanie zamknięte. W tym momencie użytkownik może zdecydować się na odrzucenie nadchodzącego zdarzenia zamknięcia, jeśli na przykład znajduje się w środku korzystania z wystąpienia obliczeniowego.
Tworzenie harmonogramu w programie Studio
Na drugiej stronie formularza otwórz pozycję Pokaż ustawienia zaawansowane.
Wybierz pozycję Dodaj harmonogram , aby dodać nowy harmonogram.
Wybierz pozycję Uruchom wystąpienie obliczeniowe lub Zatrzymaj wystąpienie obliczeniowe.
Wybierz strefę czasową.
Wybierz godzinę uruchamiania lub czas zamknięcia.
Wybierz dni, w których ten harmonogram jest aktywny.
Wybierz ponownie pozycję Dodaj harmonogram , jeśli chcesz utworzyć inny harmonogram.
Po utworzeniu wystąpienia obliczeniowego można wyświetlać, edytować lub dodawać nowe harmonogramy z sekcji szczegółów wystąpienia obliczeniowego.
Uwaga
Etykiety strefy czasowej nie uwzględniają oszczędności światła dziennego. Na przykład (UTC+01:00) Amsterdam, Berlin, Bern, Rzym, Sztokholm, Wiedeń jest rzeczywiście UTC+02:00 w ciągu dnia oszczędności światła.
Tworzenie harmonogramu przy użyciu interfejsu wiersza polecenia
DOTYCZY:Rozszerzenie uczenia maszynowego platformy Azure w wersji 2 (bieżąca)
az ml compute create -f create-instance.yml
Gdzie plik create-instance.yml to:
$schema: https://azuremlschemas.azureedge.net/latest/computeInstance.schema.json
name: schedule-example-i
type: computeinstance
size: STANDARD_DS3_v2
schedules:
compute_start_stop:
- action: stop
trigger:
type: cron
start_time: "2021-03-10T21:21:07"
time_zone: Pacific Standard Time
expression: 0 18 * * *
Tworzenie harmonogramu przy użyciu zestawu SDK
DOTYCZY: Zestaw SDK języka Python azure-ai-ml w wersji 2 (bieżący)
from azure.ai.ml.entities import ComputeInstance, ComputeSchedules, ComputeStartStopSchedule, RecurrenceTrigger, RecurrencePattern
from azure.ai.ml import MLClient
from azure.ai.ml.constants import TimeZone
from azure.identity import DefaultAzureCredential
subscription_id = "sub-id"
resource_group = "rg-name"
workspace = "ws-name"
# get a handle to the workspace
ml_client = MLClient(
DefaultAzureCredential(), subscription_id, resource_group, workspace
)
ci_minimal_name = "ci-name"
rec_trigger = RecurrenceTrigger(start_time="yyyy-mm-ddThh:mm:ss", time_zone=TimeZone.INDIA_STANDARD_TIME, frequency="week", interval=1, schedule=RecurrencePattern(week_days=["Friday"], hours=15, minutes=[30]))
myschedule = ComputeStartStopSchedule(trigger=rec_trigger, action="start")
com_sch = ComputeSchedules(compute_start_stop=[myschedule])
my_compute = ComputeInstance(name=ci_minimal_name, schedules=com_sch)
ml_client.compute.begin_create_or_update(my_compute)
Tworzenie harmonogramu przy użyciu szablonu Resource Manager
Automatyczne uruchamianie i zatrzymywanie wystąpienia obliczeniowego można zaplanować przy użyciu szablonu Resource Manager.
W szablonie Resource Manager dodaj:
"schedules": "[parameters('schedules')]"
Następnie użyj wyrażeń cron lub LogicApps, aby zdefiniować harmonogram, który uruchamia lub zatrzymuje wystąpienie w pliku parametrów:
"schedules": {
"value": {
"computeStartStop": [
{
"triggerType": "Cron",
"cron": {
"timeZone": "UTC",
"expression": "0 18 * * *"
},
"action": "Stop",
"status": "Enabled"
},
{
"triggerType": "Cron",
"cron": {
"timeZone": "UTC",
"expression": "0 8 * * *"
},
"action": "Start",
"status": "Enabled"
},
{
"triggerType": "Recurrence",
"recurrence": {
"frequency": "Day",
"interval": 1,
"timeZone": "UTC",
"schedule": {
"hours": [17],
"minutes": [0]
}
},
"action": "Stop",
"status": "Enabled"
}
]
}
}
Akcja może mieć wartość "Start" lub "Stop".
W przypadku typu
Recurrence
wyzwalacza użyj tej samej składni co aplikacja logiki z tym schematem cyklu.W przypadku typu wyzwalacza użyj standardowej
cron
składni cron:// Crontab expression format: // // * * * * * // - - - - - // | | | | | // | | | | +----- day of week (0 - 6) (Sunday=0) // | | | +------- month (1 - 12) // | | +--------- day of month (1 - 31) // | +----------- hour (0 - 23) // +------------- min (0 - 59) // // Star (*) in the value field above means all legal values as in // braces for that column. The value column can have a * or a list // of elements separated by commas. An element is either a number in // the ranges shown above or two numbers in the range separated by a // hyphen (meaning an inclusive range).
Azure Policy obsługę domyślnego harmonogramu
Użyj Azure Policy, aby wymusić harmonogram zamknięcia istnieje dla każdego wystąpienia obliczeniowego w subskrypcji lub domyślnego harmonogramu, jeśli nic nie istnieje. Poniżej przedstawiono przykładowe zasady domyślnego harmonogramu zamykania o godzinie 10 PM PST.
{
"mode": "All",
"policyRule": {
"if": {
"allOf": [
{
"field": "Microsoft.MachineLearningServices/workspaces/computes/computeType",
"equals": "ComputeInstance"
},
{
"field": "Microsoft.MachineLearningServices/workspaces/computes/schedules",
"exists": "false"
}
]
},
"then": {
"effect": "append",
"details": [
{
"field": "Microsoft.MachineLearningServices/workspaces/computes/schedules",
"value": {
"computeStartStop": [
{
"triggerType": "Cron",
"cron": {
"startTime": "2021-03-10T21:21:07",
"timeZone": "Pacific Standard Time",
"expression": "0 22 * * *"
},
"action": "Stop",
"status": "Enabled"
}
]
}
}
]
}
}
}
Przypisywanie tożsamości zarządzanej
Tożsamość zarządzaną przypisaną przez system lub użytkownika można przypisać do wystąpienia obliczeniowego, aby uwierzytelnić się względem innych zasobów platformy Azure, takich jak magazyn. Uwierzytelnianie przy użyciu tożsamości zarządzanych pomaga zwiększyć bezpieczeństwo obszaru roboczego i zarządzanie nim. Na przykład można zezwolić użytkownikom na dostęp do danych treningowych tylko wtedy, gdy zalogowano się do wystąpienia obliczeniowego. Możesz też użyć typowej tożsamości zarządzanej przypisanej przez użytkownika, aby zezwolić na dostęp do określonego konta magazynu.
Wystąpienie obliczeniowe można utworzyć przy użyciu tożsamości zarządzanej w usłudze Azure Machine Learning Studio:
- Wypełnij formularz, aby utworzyć nowe wystąpienie obliczeniowe.
- Wybierz pozycję Dalej: Ustawienia zaawansowane.
- Włącz przypisywanie tożsamości zarządzanej.
- Wybierz pozycję Przypisane przez system lub Przypisane przez użytkownika w obszarze Typ tożsamości.
- W przypadku wybrania pozycji Przypisane przez użytkownika wybierz subskrypcję i nazwę tożsamości.
Za pomocą zestawu SDK w wersji 2 można utworzyć wystąpienie obliczeniowe z przypisaną przez system tożsamością zarządzaną:
from azure.ai.ml import MLClient
from azure.identity import ManagedIdentityCredential
client_id = os.environ.get("DEFAULT_IDENTITY_CLIENT_ID", None)
credential = ManagedIdentityCredential(client_id=client_id)
ml_client = MLClient(credential, sub_id, rg_name, ws_name)
data = ml_client.data.get(name=data_name, version="1")
Możesz również użyć zestawu SDK w wersji 1:
from azureml.core.authentication import MsiAuthentication
from azureml.core import Workspace
client_id = os.environ.get("DEFAULT_IDENTITY_CLIENT_ID", None)
auth = MsiAuthentication(identity_config={"client_id": client_id})
workspace = Workspace.get("chrjia-eastus", auth=auth, subscription_id="381b38e9-9840-4719-a5a0-61d9585e1e91", resource_group="chrjia-rg", location="East US")
Interfejs wiersza polecenia w wersji 2 umożliwia utworzenie wystąpienia obliczeniowego z przypisaną przez system tożsamością zarządzaną:
az ml compute create --name myinstance --identity-type SystemAssigned --type ComputeInstance --resource-group my-resource-group --workspace-name my-workspace
Możesz również użyć interfejsu wiersza polecenia w wersji 2 z plikiem yaml, na przykład w celu utworzenia wystąpienia obliczeniowego z tożsamością zarządzaną przypisaną przez użytkownika:
Azure Machine Learning compute create --file compute.yaml --resource-group my-resource-group --workspace-name my-workspace
Definicja tożsamości znajduje się w pliku compute.yaml:
https://azuremlschemas.azureedge.net/latest/computeInstance.schema.json
name: myinstance
type: computeinstance
identity:
type: user_assigned
user_assigned_identities:
- resource_id: identity_resource_id
Po utworzeniu tożsamości zarządzanej przyznaj tożsamość zarządzaną co najmniej rolę Czytelnik danych obiektów blob usługi Storage na koncie magazynu danych, zobacz Uzyskiwanie dostępu do usług magazynu. Następnie podczas pracy nad wystąpieniem obliczeniowym tożsamość zarządzana jest automatycznie używana do uwierzytelniania w magazynach danych.
Uwaga
Nazwa utworzonej tożsamości zarządzanej systemu będzie mieć format /workspace-name/computes/compute-instance-name w usłudze Azure Active Directory.
Tożsamość zarządzana można również użyć ręcznie do uwierzytelniania względem innych zasobów platformy Azure. W poniższym przykładzie pokazano, jak używać go do uzyskiwania tokenu dostępu usługi Azure Resource Manager:
import requests
def get_access_token_msi(resource):
client_id = os.environ.get("DEFAULT_IDENTITY_CLIENT_ID", None)
resp = requests.get(f"{os.environ['MSI_ENDPOINT']}?resource={resource}&clientid={client_id}&api-version=2017-09-01", headers={'Secret': os.environ["MSI_SECRET"]})
resp.raise_for_status()
return resp.json()["access_token"]
arm_access_token = get_access_token_msi("https://management.azure.com")
Aby użyć interfejsu wiersza polecenia platformy Azure z tożsamością zarządzaną do uwierzytelniania, określ identyfikator klienta tożsamości jako nazwę użytkownika podczas logowania:
az login --identity --username $DEFAULT_IDENTITY_CLIENT_ID
Uwaga
Nie można używać azcopy
podczas próby użycia tożsamości zarządzanej. azcopy login --identity
nie będzie działać.
Dodawanie aplikacji niestandardowych, takich jak RStudio lub Posit Workbench
Podczas tworzenia wystąpienia obliczeniowego można skonfigurować inne aplikacje, takie jak RStudio lub Posit Workbench (dawniej RStudio Workbench). Wykonaj następujące kroki w programie Studio, aby skonfigurować aplikację niestandardową w wystąpieniu obliczeniowym
- Wypełnij formularz, aby utworzyć nowe wystąpienie obliczeniowe
- Wybierz pozycję Dalej: Ustawienia zaawansowane
- Wybierz pozycję Dodaj aplikację w sekcji Konfiguracja aplikacji niestandardowej (RStudio Workbench itp.)
Setup Posit Workbench (dawniej RStudio Workbench)
RStudio jest jednym z najpopularniejszych rozwiązań IDE wśród deweloperów języka R dla projektów uczenia maszynowego i nauki o danych. Możesz łatwo skonfigurować aplikację Posit Workbench, która zapewnia dostęp do programu RStudio wraz z innymi narzędziami programistycznymi w celu uruchamiania w wystąpieniu obliczeniowym, przy użyciu własnej licencji posit i uzyskiwania dostępu do bogatego zestawu funkcji, który oferuje aplikacja Posit Workbench
- Wykonaj kroki wymienione powyżej, aby dodać aplikację podczas tworzenia wystąpienia obliczeniowego.
- Wybierz pozycję Posit Workbench (przynieś własną licencję) na liście rozwijanej Aplikacja i wprowadź klucz licencji Posit Workbench w polu Klucz licencji . Licencję usługi Posit Workbench lub licencję próbną możesz uzyskać z witryny posit.
- Wybierz pozycję Utwórz, aby dodać aplikację Posit Workbench do wystąpienia obliczeniowego.
Ważne
Jeśli używasz obszaru roboczego łącza prywatnego, upewnij się, że obraz platformy Docker pkg-containers.githubusercontent.com i ghcr.io są dostępne. Ponadto użyj opublikowanego portu w zakresie 8704-8993. W przypadku aplikacji Posit Workbench (dawniej RStudio Workbench) upewnij się, że licencja jest dostępna, zapewniając dostęp sieciowy do https://www.wyday.comprogramu .
Uwaga
- Obsługa uzyskiwania dostępu do magazynu plików obszaru roboczego z aplikacji Posit Workbench nie jest jeszcze dostępna.
- Jeśli podczas uzyskiwania dostępu do wielu wystąpień aplikacji Posit Workbench zostanie wyświetlony komunikat "400 Nieprawidłowe żądanie. Błąd nagłówka żądania lub pliku cookie zbyt duży" — użyj nowej przeglądarki lub dostępu z przeglądarki w trybie incognito.
Konfigurowanie programu RStudio (open source)
Aby użyć programu RStudio, skonfiguruj aplikację niestandardową w następujący sposób:
Wykonaj kroki wymienione powyżej, aby dodać aplikację podczas tworzenia wystąpienia obliczeniowego.
Wybierz pozycję Aplikacja niestandardowa na liście rozwijanej Aplikacja
Skonfiguruj nazwę aplikacji , której chcesz użyć.
Skonfiguruj aplikację do uruchamiania na porcie
8787
docelowym — obraz platformy Docker dla programu RStudio open source wymienionych poniżej musi zostać uruchomiony na tym porcie docelowym.Skonfiguruj aplikację, do której ma być uzyskiwany dostęp na porcie opublikowanym — możesz skonfigurować dostęp do aplikacji na innym porcie
8787
opublikowanym, jeśli chcesz.Wskaż obraz platformy Docker na
ghcr.io/azure/rocker-rstudio-ml-verse:latest
.Wybierz pozycję Utwórz, aby skonfigurować aplikację RStudio jako aplikację niestandardową w wystąpieniu obliczeniowym.
Ważne
Jeśli używasz obszaru roboczego łącza prywatnego, upewnij się, że obraz platformy Docker pkg-containers.githubusercontent.com i ghcr.io są dostępne. Ponadto użyj opublikowanego portu w zakresie 8704-8993. W przypadku aplikacji Posit Workbench (dawniej RStudio Workbench) upewnij się, że licencja jest dostępna, zapewniając dostęp sieciowy do https://www.wyday.comprogramu .
Konfigurowanie innych aplikacji niestandardowych
Skonfiguruj inne aplikacje niestandardowe w wystąpieniu obliczeniowym, udostępniając aplikację na obrazie platformy Docker.
- Wykonaj kroki wymienione powyżej, aby dodać aplikację podczas tworzenia wystąpienia obliczeniowego.
- Wybierz pozycję Aplikacja niestandardowa na liście rozwijanej Aplikacja .
- Skonfiguruj nazwę aplikacji, port docelowy , na którym chcesz uruchomić aplikację, port opublikowany , na którym chcesz uzyskać dostęp do aplikacji, oraz obraz platformy Docker zawierający aplikację.
- Opcjonalnie dodaj zmienne środowiskowe , których chcesz użyć dla aplikacji.
- Użyj instalacji bind, aby dodać dostęp do plików na domyślnym koncie magazynu:
- Określ /home/azureuser/cloudfiles dla ścieżki hosta.
- Określ /home/azureuser/cloudfiles dla ścieżki kontenera.
- Wybierz pozycję Dodaj, aby dodać tę instalowanie. Ponieważ pliki są instalowane, zmiany wprowadzone w nich będą dostępne w innych wystąpieniach obliczeniowych i aplikacjach.
- Wybierz pozycję Utwórz, aby skonfigurować aplikację niestandardową w wystąpieniu obliczeniowym.
Ważne
Jeśli używasz obszaru roboczego łącza prywatnego, upewnij się, że obraz platformy Docker pkg-containers.githubusercontent.com i ghcr.io są dostępne. Ponadto użyj opublikowanego portu w zakresie 8704-8993. W przypadku aplikacji Posit Workbench (dawniej RStudio Workbench) upewnij się, że licencja jest dostępna, zapewniając dostęp sieciowy do https://www.wyday.comprogramu .
Uzyskiwanie dostępu do aplikacji niestandardowych w programie Studio
Uzyskaj dostęp do aplikacji niestandardowych skonfigurowanych w programie Studio:
- Po lewej stronie wybierz pozycję Obliczenia.
- Na karcie Wystąpienie obliczeniowe zobacz aplikacje w kolumnie Aplikacje .
Uwaga
Skonfigurowanie aplikacji niestandardowej może potrwać kilka minut, dopóki nie będzie można uzyskać do niej dostępu za pośrednictwem powyższych linków. Ilość czasu zajętego będzie zależeć od rozmiaru obrazu używanego dla aplikacji niestandardowej. Jeśli podczas próby uzyskania dostępu do aplikacji zostanie wyświetlony komunikat o błędzie 502, poczekaj na skonfigurowanie aplikacji i spróbuj ponownie.
Zarządzanie
Uruchamianie, zatrzymywanie, ponowne uruchamianie i usuwanie wystąpienia obliczeniowego. Wystąpienie obliczeniowe nie jest automatycznie skalowane w dół, dlatego należy pamiętać o zatrzymaniu zasobu, aby uniknąć ciągłego naliczania opłat. Zatrzymanie wystąpienia obliczeniowego powoduje cofnięcie jego przydziału. Następnie uruchom go ponownie, gdy jest potrzebny. Zatrzymanie wystąpienia obliczeniowego zatrzymuje naliczanie opłat za godziny obliczeniowe, nadal jednak są naliczane opłaty za dysk, publiczny adres IP i standardowy moduł równoważenia obciążenia.
Możesz utworzyć harmonogram dla wystąpienia obliczeniowego, aby automatycznie uruchamiać i zatrzymywać się na podstawie godziny i dnia tygodnia.
Porada
Wystąpienie obliczeniowe korzysta z dysku systemu operacyjnego o pojemności 120 GB. Jeśli zabraknie miejsca na dysku, użyj terminalu , aby wyczyścić co najmniej 1–2 GB przed zatrzymaniem lub ponownym uruchomieniem wystąpienia obliczeniowego. Nie należy zatrzymywać wystąpienia obliczeniowego, wystawiając polecenie sudo shutdown z terminalu. Rozmiar dysku tymczasowego w wystąpieniu obliczeniowym zależy od wybranego rozmiaru maszyny wirtualnej i jest instalowany na /mnt.
DOTYCZY: Zestaw SDK języka Python azure-ai-ml w wersji 2 (bieżący)
W poniższych przykładach nazwa wystąpienia obliczeniowego jest przechowywana w zmiennej ci_basic_name
.
Uzyskiwanie stanu
from azure.ai.ml.entities import ComputeInstance, AmlCompute # Get compute ci_basic_state = ml_client.compute.get(ci_basic_name)
Stop
from azure.ai.ml.entities import ComputeInstance, AmlCompute # Stop compute ml_client.compute.begin_stop(ci_basic_name).wait()
Rozpocznij
from azure.ai.ml.entities import ComputeInstance, AmlCompute # Start compute ml_client.compute.begin_start(ci_basic_name).wait()
Uruchom ponownie
from azure.ai.ml.entities import ComputeInstance, AmlCompute # Restart compute ml_client.compute.begin_restart(ci_basic_name).wait()
Usuń
from azure.ai.ml.entities import ComputeInstance, AmlCompute ml_client.compute.begin_delete(ci_basic_name).wait()
Kontrola dostępu oparta na rolach platformy Azure umożliwia kontrolowanie, którzy użytkownicy w obszarze roboczym mogą tworzyć, usuwać, uruchamiać, zatrzymywać, uruchamiać ponownie wystąpienie obliczeniowe. Wszyscy użytkownicy w roli współautora i właściciela obszaru roboczego mogą tworzyć, usuwać, uruchamiać, zatrzymywać i uruchamiać ponownie wystąpienia obliczeniowe w obszarze roboczym. Jednak tylko twórca określonego wystąpienia obliczeniowego lub użytkownik przypisany, jeśli został utworzony w ich imieniu, może uzyskiwać dostęp do programów Jupyter, JupyterLab i RStudio w tym wystąpieniu obliczeniowym. Wystąpienie obliczeniowe jest przeznaczone dla jednego użytkownika, który ma dostęp główny. Ten użytkownik ma dostęp do aplikacji Jupyter/JupyterLab/RStudio uruchomionej w wystąpieniu. Wystąpienie obliczeniowe będzie miało logowanie jednokrotne użytkownika, a wszystkie akcje będą używać tożsamości tego użytkownika na potrzeby kontroli dostępu opartej na rolach platformy Azure i przypisywania zadań eksperymentu. Dostęp SSH jest kontrolowany za pośrednictwem mechanizmu kluczy publicznych/prywatnych.
Te akcje można kontrolować za pomocą kontroli dostępu opartej na rolach platformy Azure:
- Microsoft.MachineLearningServices/workspaces/computes/read
- Microsoft.MachineLearningServices/workspaces/computes/write
- Microsoft.MachineLearningServices/workspaces/computes/delete
- Microsoft.MachineLearningServices/workspaces/computes/start/action
- Microsoft.MachineLearningServices/workspaces/computes/stop/action
- Microsoft.MachineLearningServices/workspaces/computes/restart/action
- Microsoft.MachineLearningServices/workspaces/computes/updateSchedules/action
Aby utworzyć wystąpienie obliczeniowe, musisz mieć uprawnienia do następujących akcji:
- Microsoft.MachineLearningServices/workspaces/computes/write
- Microsoft.MachineLearningServices/workspaces/checkComputeNameAvailability/action
Inspekcja i obserwowanie wersji wystąpienia obliczeniowego
Po wdrożeniu wystąpienia obliczeniowego nie zostanie ono automatycznie zaktualizowane. Firma Microsoft publikuje nowe obrazy maszyn wirtualnych co miesiąc. Aby poznać opcje utrzymywania najnowszej wersji, zobacz Zarządzanie lukami w zabezpieczeniach.
Aby śledzić, czy wersja systemu operacyjnego wystąpienia jest aktualna, możesz wykonać zapytanie dotyczące jego wersji przy użyciu interfejsu wiersza polecenia, zestawu SDK lub interfejsu użytkownika programu Studio.
- Interfejs użytkownika programu Studio
- Zestaw SDK dla języka Python
- Interfejs wiersza polecenia platformy Azure
DOTYCZY: Zestaw SDK języka Python azure-ai-ml w wersji 2 (bieżący)
from azure.ai.ml.entities import ComputeInstance, AmlCompute
# Display operating system version
instance = ml_client.compute.get("myci")
print instance.os_image_metadata
Aby uzyskać więcej informacji na temat klas, metod i parametrów używanych w tym przykładzie, zobacz następujące dokumenty referencyjne:
- Klasa
AmlCompute
- Klasa
ComputeInstance
Administratorzy IT mogą używać Azure Policy do monitorowania spisu wystąpień w obszarach roboczych w portalu zgodności Azure Policy. Przypisz wbudowane zasady Audit Azure Machine Learning Compute Instances z nieaktualnym systemem operacyjnym w ramach subskrypcji platformy Azure lub zakresu grupy zarządzania platformy Azure.