Tworzenie wystąpienia obliczeniowego usługi Azure Machine Learning i zarządzanie nim za pomocą interfejsu wiersza polecenia w wersji 1

DOTYCZY:Rozszerzenie uczenia maszynowego platformy Azure w wersji 1Zestaw SDK języka Python w wersji 1

Dowiedz się, jak utworzyć wystąpienie obliczeniowe i zarządzać nim w obszarze roboczym usługi Azure Machine Learning za pomocą interfejsu wiersza polecenia w wersji 1.

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 docelowego obiektu obliczeniowego trenowania lub docelowego wnioskowania. Wystąpienie obliczeniowe może uruchamiać wiele zadań równolegle i ma kolejkę zadań. Jako środowisko programistyczne wystąpienie obliczeniowe nie może być współużytkowane z innymi użytkownikami w obszarze roboczym.

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.

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

Uwaga

W tym artykule opisano tylko sposób wykonywania tych zadań przy użyciu interfejsu wiersza polecenia w wersji 1. Aby uzyskać najnowsze sposoby zarządzania wystąpieniem obliczeniowym, zobacz Tworzenie klastra obliczeniowego usługi Azure Machine Learning.

Wymagania wstępne

Utwórz

Ważne

Elementy oznaczone poniżej (wersja zapoznawcza) są obecnie dostępne w publicznej wersji zapoznawczej. Wersja zapoznawcza jest udostępniana bez umowy dotyczącej poziomu usług i nie jest zalecana w przypadku obciążeń produkcyjnych. Niektóre funkcje mogą być nieobsługiwane lub ograniczone. Aby uzyskać więcej informacji, zobacz Uzupełniające warunki korzystania z wersji zapoznawczych platformy Microsoft Azure.

Szacowany czas: około 5 minut.

Tworzenie wystąpienia obliczeniowego jest jednorazowym procesem dla obszaru roboczego. Możesz ponownie użyć zasobów obliczeniowych jako stacji roboczej dewelopera lub jako celu obliczeniowego na potrzeby trenowania. Do obszaru roboczego można dołączyć wiele wystąpień obliczeniowych.

Dedykowane rdzenie na region na limit przydziału rodziny maszyn wirtualnych i całkowity przydział regionalny, 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.

W poniższym przykładzie pokazano, jak utworzyć wystąpienie obliczeniowe:

DOTYCZY:Zestaw SDK języka Python w wersji 1

import datetime
import time

from azureml.core.compute import ComputeTarget, ComputeInstance
from azureml.core.compute_target import ComputeTargetException

# Choose a name for your instance
# Compute instance name should be unique across the azure region
compute_name = "ci{}".format(ws._workspace_id)[:10]

# Verify that instance does not exist already
try:
    instance = ComputeInstance(workspace=ws, name=compute_name)
    print('Found existing instance, use it.')
except ComputeTargetException:
    compute_config = ComputeInstance.provisioning_configuration(
        vm_size='STANDARD_D3_V2',
        ssh_public_access=False,
        # vnet_resourcegroup_name='<my-resource-group>',
        # vnet_name='<my-vnet-name>',
        # subnet_name='default',
        # admin_user_ssh_public_key='<my-sshkey>'
    )
    instance = ComputeInstance.create(ws, compute_name, compute_config)
    instance.wait_for_completion(show_output=True)

Aby uzyskać więcej informacji na temat klas, metod i parametrów używanych w tym przykładzie, zobacz następujące dokumenty referencyjne:

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 będzie 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.

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, wydają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 w wersji 1

W poniższych przykładach nazwa wystąpienia obliczeniowego to wystąpienie.

  • Uzyskiwanie stanu

    # get_status() gets the latest status of the ComputeInstance target
    instance.get_status()
    
  • Stop

    # stop() is used to stop the ComputeInstance
    # Stopping ComputeInstance will stop the billing meter and persist the state on the disk.
    # Available Quota will not be changed with this operation.
    instance.stop(wait_for_completion=True, show_output=True)
    
  • Rozpocznij

    # start() is used to start the ComputeInstance if it is in stopped state
    instance.start(wait_for_completion=True, show_output=True)
    
  • Uruchom ponownie

    # restart() is used to restart the ComputeInstance
    instance.restart(wait_for_completion=True, show_output=True)
    
  • Usuń

    # delete() is used to delete the ComputeInstance target. Useful if you want to re-use the compute name
    instance.delete(wait_for_completion=True, show_output=True)
    

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 z roli współautora i właściciela obszaru roboczego mogą tworzyć, usuwać, uruchamiać, zatrzymywać i ponownie uruchamiać wystąpienia obliczeniowe w obszarze roboczym. Jednak tylko twórca określonego wystąpienia obliczeniowego lub użytkownik przypisany, jeśli został utworzony w jego imieniu, może uzyskać dostęp do programów Jupyter, JupyterLab, RStudio i Posit Workbench (dawniej RStudio Workbench) w tym wystąpieniu obliczeniowym. Wystąpienie obliczeniowe jest przeznaczone dla pojedynczego użytkownika, który ma dostęp do konta głównego. Ten użytkownik ma dostęp do aplikacji Jupyter/JupyterLab/RStudio/Posit Workbench 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 przebiegów eksperymentu. Dostęp za pomocą protokołu SSH jest kontrolowany za pomocą mechanizmu kluczy publicznych/prywatnych.

Te akcje mogą być kontrolowane przez kontrolę dostępu opartą 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

Następne kroki