Een Azure Machine Learning-rekenproces maken en beheren met CLI v1

VAN TOEPASSING OP:Azure CLI ml-extensie v1Python SDK azureml v1

Meer informatie over het maken en beheren van een rekenproces in uw Azure Machine Learning-werkruimte met CLI v1.

Gebruik een rekenproces als uw volledig geconfigureerde en beheerde ontwikkelomgeving in de cloud. Voor ontwikkeling en testen kunt u het exemplaar ook gebruiken als rekendoel voor training of als deductiedoel. Een rekenproces kan meerdere taken parallel uitvoeren en heeft een taakwachtrij. Als ontwikkelomgeving kan een rekenproces niet worden gedeeld met andere gebruikers in uw werkruimte.

Rekeninstanties kunnen taken veilig uitvoeren in een virtuele netwerkomgeving, zonder dat ondernemingen SSH-poorten hoeven te openen. De taak wordt uitgevoerd in een containeromgeving en verpakt uw modelafhankelijkheden in een Docker-container.

In dit artikel leert u het volgende:

  • Een rekenproces maken
  • Een rekenproces beheren (starten, stoppen, opnieuw opstarten, verwijderen)

Notitie

In dit artikel wordt alleen beschreven hoe u deze taken uitvoert met CLI v1. Zie Een Azure Machine Learning-rekencluster maken voor recentere manieren om een rekenproces te beheren.

Vereisten

Maken

Belangrijk

Items die hieronder zijn gemarkeerd (preview) zijn momenteel in openbare preview. De preview-versie wordt aangeboden zonder Service Level Agreement en wordt niet aanbevolen voor productieworkloads. Misschien worden bepaalde functies niet ondersteund of zijn de mogelijkheden ervan beperkt. Zie Supplemental Terms of Use for Microsoft Azure Previews (Aanvullende gebruiksvoorwaarden voor Microsoft Azure-previews) voor meer informatie.

Geschatte tijd: ongeveer 5 minuten.

Het maken van een rekenproces is een eenmalig proces voor uw werkruimte. U kunt de berekening opnieuw gebruiken als een ontwikkelwerkstation of als rekendoel voor training. U kunt meerdere rekeninstanties aan uw werkruimte koppelen.

De toegewezen kernen per regio per VM-familie en het totale regionale quotum, dat van toepassing is op het maken van rekeninstanties, worden geïntegreerd en gedeeld met het quotum voor het rekencluster voor Azure Machine Learning-training. Als u het rekenproces stopt, wordt er geen quotum vrijgegeven om ervoor te zorgen dat u het rekenproces opnieuw kunt starten. Het is niet mogelijk om de grootte van de virtuele machine van het rekenproces te wijzigen nadat deze is gemaakt.

In het volgende voorbeeld ziet u hoe u een rekenproces maakt:

VAN TOEPASSING OP:Python SDK azureml v1

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)

Zie de volgende referentiedocumenten voor meer informatie over de klassen, methoden en parameters die in dit voorbeeld worden gebruikt:

Beheren

Een rekenproces starten, stoppen, opnieuw opstarten en verwijderen. Een rekenproces schaalt niet automatisch omlaag, dus zorg ervoor dat u de resource stopt om lopende kosten te voorkomen. Als u een rekenproces stopt, wordt de toewijzing ervan ongedaan gemaakt. Start de app vervolgens opnieuw wanneer u deze nodig hebt. Terwijl het stoppen van het rekenproces de facturering voor rekenuren stopt, wordt u nog steeds gefactureerd voor schijf, openbaar IP-adres en standaard load balancer.

Tip

Het reken-exemplaar heeft een besturingssysteemschijf van 120 GB. Als u onvoldoende schijfruimte hebt, gebruikt u de terminal om ten minste 1-2 GB te wissen voordat u het rekenproces stopt of opnieuw start. Stop het rekenproces niet door sudo uit te sluiten vanuit de terminal. De tijdelijke schijfgrootte op het rekenproces is afhankelijk van de gekozen VM-grootte en is gekoppeld aan /mnt.

VAN TOEPASSING OP:Python SDK azureml v1

In de onderstaande voorbeelden is de naam van het rekenproces instantie.

  • Status ophalen

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

    # 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)
    
  • Starten

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

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

    # 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)
    

Met Azure RBAC kunt u bepalen welke gebruikers in de werkruimte een rekenproces kunnen maken, verwijderen, starten, stoppen of opnieuw kunnen starten. Alle gebruikers in de rol inzender en eigenaar van de werkruimte kunnen rekenprocessen in de werkruimte maken, verwijderen, starten, stoppen en opnieuw starten. Alleen de maker van een specifiek rekenproces of de gebruiker die is toegewezen als deze namens hen is gemaakt, heeft echter toegang tot Jupyter, JupyterLab, RStudio en Posit Workbench (voorheen RStudio Workbench) voor dat rekenproces. Een rekenproces is toegewezen aan één gebruiker die hoofdtoegang heeft. Die gebruiker heeft toegang tot Jupyter/JupyterLab/RStudio/Posit Workbench die wordt uitgevoerd op het exemplaar. Het rekenproces heeft aanmelding met één gebruiker en alle acties gebruiken de identiteit van die gebruiker voor Azure RBAC en de toewijzing van experimentuitvoeringen. SSH-toegang wordt beheerd via een mechanisme met een openbare/persoonlijke sleutel.

Deze acties kunnen worden beheerd door Azure RBAC:

  • 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

Om u een rekenproces te maken, hebt u machtigingen nodig voor de volgende acties:

  • Microsoft.MachineLearningServices/workspaces/computes/write
  • Microsoft.MachineLearningServices/workspaces/checkComputeNameAvailability/action

Volgende stappen