Számítási példány létrehozása Azure Machine Learning kezeléseCreate and manage an Azure Machine Learning compute instance

Megtudhatja, hogyan hozhat létre és kezelhet számítási példányt a Azure Machine Learning munkaterületén.Learn how to create and manage a compute instance in your Azure Machine Learning workspace.

Számítási példány használata teljes körűen konfigurált és felügyelt fejlesztési környezetként a felhőben.Use a compute instance as your fully configured and managed development environment in the cloud. Fejlesztéshez és teszteléshez használhatja a példányt betanítás számítási célként vagy következtetési célként is.For development and testing, you can also use the instance as a training compute target or for an inference target. Egy számítási példány több feladatot is futtathat párhuzamosan, és feladat-várólistával rendelkezik.A compute instance can run multiple jobs in parallel and has a job queue. Fejlesztési környezetként a számítási példányok nem megoszthatók a munkaterület más felhasználóival.As a development environment, a compute instance cannot be shared with other users in your workspace.

Ebben a cikkben az alábbiakkal ismerkedhet meg:In this article, you learn how to:

  • Új számítási példány létrehozásaCreate a compute instance
  • Számítási példány kezelése (indítás, leállítás, újraindítás, törlés)Manage (start, stop, restart, delete) a compute instance
  • A terminálablak eléréseAccess the terminal window
  • R- vagy Python-csomagok telepítéseInstall R or Python packages
  • Új környezetek vagy Jupyter-kernelek létrehozásaCreate new environments or Jupyter kernels

A számítási példányok biztonságosan futtatnak feladatokat egy virtuális hálózati környezetbenanélkül, hogy a vállalatoknak SSH-portokat kell megnyitniuk.Compute instances can run jobs securely in a virtual network environment, without requiring enterprises to open up SSH ports. A feladat tárolóba telepített környezetben fut, és a modellfüggőségeket egy Docker-tárolóba csomagolása.The job executes in a containerized environment and packages your model dependencies in a Docker container.

ElőfeltételekPrerequisites

LétrehozásCreate

Fontos

Az alább megjelölt (előzetes verzió) elemek jelenleg nyilvános előzetes verzióban állnak rendelkezésre.Items marked (preview) below are currently in public preview. Az előzetes verzió szolgáltatói szerződés nélkül érhető el, éles számítási feladatokhoz pedig nem ajánlott.The preview version is provided without a service level agreement, and it's not recommended for production workloads. Előfordulhat, hogy néhány funkció nem támogatott, vagy korlátozott képességekkel rendelkezik.Certain features might not be supported or might have constrained capabilities. További információ: Kiegészítő használati feltételek a Microsoft Azure előzetes verziójú termékeihez.For more information, see Supplemental Terms of Use for Microsoft Azure Previews.

Becsült idő: Körülbelül 5 perc.Time estimate: Approximately 5 minutes.

A számítási példányok létrehozása a munkaterület egy egyszeres folyamata.Creating a compute instance is a one time process for your workspace. A számítást felhasználhatja fejlesztői munkaállomásként vagy betanítási célként is.You can reuse the compute as a development workstation or as a compute target for training. A munkaterülethez több számítási példány is csatolható.You can have multiple compute instances attached to your workspace.

A virtuálisgép-családonkénti régiónkénti dedikált magok kvótája és a számítási példányok létrehozására vonatkozó teljes regionális kvóta egységes, és meg van osztva a Azure Machine Learning számításifürt-kvótával.The dedicated cores per region per VM family quota and total regional quota, which applies to compute instance creation, is unified and shared with Azure Machine Learning training compute cluster quota. A számítási példány leállítása nem ad ki kvótát, így biztosítható, hogy újra tudja indítani a számítási példányt.Stopping the compute instance does not release quota to ensure you will be able to restart the compute instance. Vegye figyelembe, hogy a létrehozott számítási példány virtuálisgép-mérete nem változtatható meg.Note it is not possible to change the virtual machine size of compute instance once it is created.

Az alábbi példa bemutatja, hogyan hozhat létre számítási példányt:The following example demonstrates how to create a compute instance:

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)

A példában használt osztályokkal, metódusokkal és paraméterekkel kapcsolatos további információkért tekintse meg a következő referenciadokumentumokat:For more information on the classes, methods, and parameters used in this example, see the following reference documents:

Számítási példányt is létrehozhat egy Azure Resource Manager sablonnal.You can also create a compute instance with an Azure Resource Manager template.

Létrehozás nevében (előzetes verzió)Create on behalf of (preview)

Rendszergazdaként létrehozhat egy számítási példányt egy adattudós nevében, és hozzárendelheti a példányt a következővel:As an administrator, you can create a compute instance on behalf of a data scientist and assign the instance to them with:

Az adattudósnak, aki számára létrehozza a számítási példányt, a következőkre van szüksége: Azure szerepköralapú hozzáférés-vezérlési (Azure RBAC) engedélyek:The data scientist you create the compute instance for needs the following be Azure role-based access control (Azure RBAC) permissions:

  • Microsoft.MachineLearningServices/workspaces/computes/start/actionMicrosoft.MachineLearningServices/workspaces/computes/start/action
  • Microsoft.MachineLearningServices/workspaces/computes/stop/actionMicrosoft.MachineLearningServices/workspaces/computes/stop/action
  • Microsoft.MachineLearningServices/workspaces/computes/restart/actionMicrosoft.MachineLearningServices/workspaces/computes/restart/action
  • Microsoft.MachineLearningServices/workspaces/computes/applicationaccess/actionMicrosoft.MachineLearningServices/workspaces/computes/applicationaccess/action

Az adattudós elindíthatja, leállíthatja és újraindíthatja a számítási példányt.The data scientist can start, stop, and restart the compute instance. A számítási példányt a következőre használhatja:They can use the compute instance for:

  • JupyterJupyter
  • JupyterLabJupyterLab
  • RStudioRStudio
  • Integrált jegyzetfüzetekIntegrated notebooks

A számítási példány testreszabása szkripttel (előzetes verzió)Customize the compute instance with a script (preview)

Tipp

Ez az előzetes verzió jelenleg az USA nyugati középső régiójában és az USA keleti régiójában lévő munkaterületeken érhető el.This preview is currently available for workspaces in West Central US and East US regions.

Beállítási szkript használatával automatizált módon szabhatja testre és konfigurálhatja a számítási példányt a kiépítéskor.Use a setup script for an automated way to customize and configure the compute instance at provisioning time. Rendszergazdaként írhat egy testreszabási szkriptet, amely a munkaterület összes számítási példányának követelményeknek megfelelő építésre használható.As an administrator, you can write a customization script to be used to provision all compute instances in the workspace according to your requirements.

Néhány példa arra, hogy mit tehetünk egy beállítási szkriptben:Some examples of what you can do in a setup script:

  • Csomagok és eszközök telepítéseInstall packages and tools
  • Adatok csatlakoztatásaMount data
  • Egyéni Conda-környezet és Jupyter-kernelek létrehozásaCreate custom conda environment and Jupyter kernels
  • Git-adattárak klónozásaClone git repositories

A telepítési szkript létrehozásaCreate the setup script

A telepítési szkript egy héjszk szkript, amely azureuserként fut.The setup script is a shell script which runs as azureuser. Hozza létre vagy töltse fel a szkriptet a Notebooks-fájlokba:Create or upload the script into your Notebooks files:

  1. Jelentkezzen be a Studióba, és válassza ki a munkaterületét.Sign into the studio and select your workspace.
  2. A bal oldalon válassza a Jegyzetfüzetek lehetőséget.On the left, select Notebooks
  3. A Fájlok hozzáadása eszközzel hozza létre vagy töltse fel a telepítési rendszerhéj parancsfájlját.Use the Add files tool to create or upload your setup shell script. Győződjön meg arról, hogy a fájlnév ".sh" végződik.Make sure the script filename ends in ".sh". Új fájl létrehozásakor módosítsa a Fájltípust is bash(.sh) fájlra.When you create a new file, also change the File type to bash(.sh).

A beállítási szkript létrehozása vagy feltöltése a Studio Notebooks-fájljába

A szkript futtatásakor az aktuális munkakönyvtár az a könyvtár, ahová feltöltötték.When the script runs, the current working directory is the directory where it was uploaded. Ha feltölti>szkriptet>rendszergazda számára, a fájl helye /mnt/batch/tasks/shared/LS_root/mounts/clusters/ciname/code/Users/admin a ciname nevű számítási példány kiépítésekor.If you upload the script to Users>admin, the location of the the file is /mnt/batch/tasks/shared/LS_root/mounts/clusters/ciname/code/Users/admin when provisioning the compute instance named ciname.

A szkript argumentumai a szkriptben $1, $2 stb. néven hivatkoznak. Ha például végrehajtja a parancsprogramot, a szkriptet tároló könyvtárba scriptname ciname cd /mnt/batch/tasks/shared/LS_root/mounts/clusters/$1/code/admin navigálhat.Script arguments can be referred to in the script as $1, $2, etc. For example, if you execute scriptname ciname then in the script you can cd /mnt/batch/tasks/shared/LS_root/mounts/clusters/$1/code/admin to navigate to the directory where the script is stored.

Az elérési utat a szkripten belül is lekérheti:You can also retrieve the path inside the script:

#!/bin/bash 
SCRIPT=$(readlink -f "$0") 
SCRIPT_PATH=$(dirname "$SCRIPT") 

A szkript használata a StudióbanUse the script in the studio

A szkript tárolása után adja meg a számítási példány létrehozása során:Once you store the script, specify it during creation of your compute instance:

  1. Jelentkezzen be a Studióba, és válassza ki a munkaterületét.Sign into the studio and select your workspace.
  2. A bal oldalon válassza a Számítás lehetőséget.On the left, select Compute.
  3. Új számítási példány létrehozásához válassza az +Új lehetőséget.Select +New to create a new compute instance.
  4. Töltse ki az űrlapot.Fill out the form.
  5. Az űrlap második oldalán nyissa meg a Speciális beállítások megjelenítése gombra.On the second page of the form, open Show advanced settings
  6. A Kiépítés beállítási szkript használatával bekapcsolvaTurn on Provision with setup script
  7. Keresse meg a mentett héjszkprogramot.Browse to the shell script you saved. Vagy töltsön fel egy szkriptet a számítógépről.Or upload a script from your computer.
  8. Szükség szerint adjon hozzá parancs argumentumokat.Add command arguments as needed.

Kiépít egy számítási példányt egy telepítési szkript használatával a Studióban.

Szkript használata Resource Manager sablonbanUse script in a Resource Manager template

Egy új Resource Manager adjahozzá a parancsprogramot, hogy meghívja a telepítési szkriptet a számítási példány setupScripts kiépítésekor.In a Resource Manager template, add setupScripts to invoke the setup script when the compute instance is provisioned. Például:For example:

"setupScripts":{
    "scripts":{
        "creationScript":{
        "scriptSource":"workspaceStorage",
        "scriptData":"[parameters('creationScript.location')]",
        "scriptArguments":"[parameters('creationScript.cmdArguments')]"
        }
    }
}

Ehelyett a szkriptet beágyazottan is meg lehet adni egy Resource Manager sablonhoz.You could instead provide the script inline for a Resource Manager template. A rendszerhéjparancs hivatkozhat a notebookok fájlmegosztásába feltöltött függőségek bármelyikére.The shell command can refer to any dependencies uploaded into the notebooks file share. Beágyazott sztring használata esetén a szkript munkakönyvtára a következő: /mnt/batch/tasks/shared/LS_root/mounts/clusters/ciname/code/Users.When you use an inline string, the working directory for the script is /mnt/batch/tasks/shared/LS_root/mounts/clusters/ciname/code/Users.

Adjon meg például egy base64 kódolású parancssringet a scriptData számára:For example, specify a base64 encoded command string for scriptData:

"setupScripts":{
    "scripts":{
        "creationScript":{
        "scriptSource":"inline",
        "scriptData":"[base64(parameters('inlineCommand'))]",
        "scriptArguments":"[parameters('creationScript.cmdArguments')]"
        }
    }
}

Szkriptnaplók beállításaSetup script logs

A telepítési szkript végrehajtásával kapcsolatos naplók a számítási példány részleteinek lapján, a logs mappában jelennek meg.Logs from the setup script execution appear in the logs folder in the compute instance details page. A naplókat a notebookok fájlmegosztása tárolja a Naplók <compute instance name> mappában.Logs are stored back to your notebooks file share under the Logs<compute instance name> folder. Egy adott számítási példány parancsfájl- és parancs-argumentumai a részletek lapon jelennek meg.Script file and command arguments for a particular compute instance are shown in the details page.

KezelésManage

Számítási példányok elindítása, leállítása, újraindítása és törlése.Start, stop, restart, and delete a compute instance. A számítási példányok nem skálázódnak le automatikusan, ezért mindenképpen állítsa le az erőforrást a folyamatos költségek elkerülése érdekében.A compute instance does not automatically scale down, so make sure to stop the resource to prevent ongoing charges.

Tipp

A számítási példány 120 GB-os operációsrendszer-lemezzel rendelkezik.The compute instance has 120GB OS disk. Ha elfogy a lemezterület, a terminál használatával törölje legalább 1–2 GB-ot, mielőtt leállítja vagy újraindítja a számítási példányt.If you run out of disk space, use the terminal to clear at least 1-2 GB before you stop or restart the compute instance.

Az alábbi példákban a számítási példány neve példányIn the examples below, the name of the compute instance is instance

  • Állapot lekértGet status

    # get_status() gets the latest status of the ComputeInstance target
    instance.get_status()
    
  • LeállításStop

    # 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)
    
  • IndításStart

    # start() is used to start the ComputeInstance if it is in stopped state
    instance.start(wait_for_completion=True, show_output=True)
    
  • ÚjraindításRestart

    # restart() is used to restart the ComputeInstance
    instance.restart(wait_for_completion=True, show_output=True)
    
  • TörlésDelete

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

Az Azure RBAC segítségével szabályozhatja, hogy a munkaterület mely felhasználói hozhatnak létre, törölhet, indíthat el, állíthatnak le és indíthat újra számítási példányokat.Azure RBAC allows you to control which users in the workspace can create, delete, start, stop, restart a compute instance. A munkaterület közreműködője és a tulajdonosi szerepkör minden felhasználója létrehozhat, törölhet, elindíthat, leállíthat és újraindíthat számítási példányokat a munkaterületen.All users in the workspace contributor and owner role can create, delete, start, stop, and restart compute instances across the workspace. Azonban csak egy adott számítási példány létrehozója, vagy a hozzárendelt felhasználó férhet hozzá a Jupyterhez, a JupyterLab-hez és az RStudióhoz az adott számítási példányon.However, only the creator of a specific compute instance, or the user assigned if it was created on their behalf, is allowed to access Jupyter, JupyterLab, and RStudio on that compute instance. A számítási példányok egyetlen, gyökér szintű hozzáféréssel rendelkezik felhasználó számára vannak ki dedikáltan, és Jupyter/JupyterLab/RStudio-terminálon keresztül is elérhetőek.A compute instance is dedicated to a single user who has root access, and can terminal in through Jupyter/JupyterLab/RStudio. A számítási példány egyfelhasználós bejelentkezéssel fog bejelentkezni, és minden művelet az adott felhasználó Azure RBAC-identitását és a kísérletfuttatások forrásmegjelölését fogja használni.Compute instance will have single-user sign in and all actions will use that user’s identity for Azure RBAC and attribution of experiment runs. Az SSH-hozzáférés vezérlése nyilvános/titkos kulcsos mechanizmussal történik.SSH access is controlled through public/private key mechanism.

Ezeket a műveleteket az Azure RBAC vezérelheti:These actions can be controlled by Azure RBAC:

  • Microsoft.MachineLearningServices/workspaces/computes/readMicrosoft.MachineLearningServices/workspaces/computes/read
  • Microsoft.MachineLearningServices/workspaces/computes/writeMicrosoft.MachineLearningServices/workspaces/computes/write
  • Microsoft.MachineLearningServices/workspaces/computes/deleteMicrosoft.MachineLearningServices/workspaces/computes/delete
  • Microsoft.MachineLearningServices/workspaces/computes/start/actionMicrosoft.MachineLearningServices/workspaces/computes/start/action
  • Microsoft.MachineLearningServices/workspaces/computes/stop/actionMicrosoft.MachineLearningServices/workspaces/computes/stop/action
  • Microsoft.MachineLearningServices/workspaces/computes/restart/actionMicrosoft.MachineLearningServices/workspaces/computes/restart/action

Következő lépésekNext steps