Delen via


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 trainingsrekendoel of voor een 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 beschikbaar als 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 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 ontwikkelwerkstation of als rekendoel voor training. U kunt meerdere rekeninstanties aan uw werkruimte koppelen.

De toegewezen kernen per regio per vm-familiequotum en het totale regionale quotum, dat van toepassing is op het maken van rekenprocessen, wordt geïntegreerd en gedeeld met het rekenclusterquotum van Azure Machine Learning-training. Als u het rekenproces stopt, wordt er geen quotum uitgebracht 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 zodra het 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 het opnieuw wanneer u het 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-afsluiting uit te geven vanuit de terminal. De tijdelijke schijfgrootte voor 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 een exemplaar.

  • 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)
    
  • Delete

    # 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 en opnieuw starten. Alle gebruikers in de rol inzender en eigenaar van de werkruimte kunnen rekeninstanties in de werkruimte maken, verwijderen, starten, stoppen en opnieuw starten. Alleen de maker van een specifiek rekenproces, of de gebruiker die namens hen is gemaakt, heeft echter alleen toegang tot Jupyter, JupyterLab, RStudio en Posit Workbench (voorheen RStudio Workbench) op dat rekenproces. Een rekenproces is toegewezen aan één gebruiker die hoofdtoegang heeft. Deze gebruiker heeft toegang tot Jupyter/JupyterLab/RStudio/Posit Workbench die wordt uitgevoerd op het exemplaar. Het rekenproces heeft eenmalige aanmelding en alle acties gebruiken de identiteit van die gebruiker voor Azure RBAC en het toewijzen van experimentuitvoeringen. SSH-toegang wordt beheerd via een mechanisme voor openbare/persoonlijke sleutels.

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