You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/machine-learning/concept-environments.md
+19-19Lines changed: 19 additions & 19 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,9 +14,9 @@ ms.date: 01/03/2024
14
14
15
15
# What are Azure Machine Learning environments?
16
16
17
-
Azure Machine Learning environments are an encapsulation of the environment where your machine learning training happens. They specify the Python packages, environment variables, and software settings around your training and scoring scripts. They also specify runtimes (Python, Spark, or Docker). The environments are managed and versioned entities within your Machine Learning workspace that enable reproducible, auditable, and portable machine learning workflows across a variety of compute targets.
17
+
Azure Machine Learning environments are an encapsulation of the environment where your machine learning training happens. They specify the Python packages, and software settings around your training and scoring scripts. The environments are managed and versioned entities within your Machine Learning workspace that enable reproducible, auditable, and portable machine learning workflows across various compute targets.
18
18
19
-
You can use an `Environment` object on your local compute to:
19
+
You can use an `Environment` object to:
20
20
* Develop your training script.
21
21
* Reuse the same environment on Azure Machine Learning Compute for model training at scale.
22
22
* Deploy your model with that same environment.
@@ -26,15 +26,15 @@ The following diagram illustrates how you can use a single `Environment` object
26
26
27
27

28
28
29
-
The environment, compute target and training script together form the job configuration: the full specification of a training job.
29
+
The environment, compute target, and training script together form the job configuration: the full specification of a training job.
30
30
31
31
## Types of environments
32
32
33
33
Environments can broadly be divided into three categories: *curated*, *user-managed*, and *system-managed*.
34
34
35
-
Curated environments are provided by Azure Machine Learning and are available in your workspace by default. Intended to be used as is, they contain collections of Python packages and settings to help you get started with various machine learning frameworks. These pre-created environments also allow for faster deployment time. For a full list, see the [curated environments article](resource-curated-environments.md).
35
+
Curated environments are provided by Azure Machine Learning and are available in your workspace by default. Intended to be used as is, they contain collections of Python packages and settings to help you get started with various machine learning frameworks. These precreated environments also allow for faster deployment time. Curated environments are hosted in [AzureML Registry](concept-machine-learning-registries-mlops.md). For a full list, see the [environments in azureml registry](https://ml.azure.com/registries/azureml/environments).
36
36
37
-
In user-managed environments, you're responsible for setting up your environment and installing every package that your training script needs on the compute target. Also be sure to include any dependencies needed for model deployment.
37
+
In user-managed environments, you're responsible for setting up your environment and installing every package that your training script needs on the compute target. Also be sure to include any dependencies needed for model deployment. User managed environment can be BYOC (Bring Your Own Container) or Docker Build Context based that delegates image materialization to AzureML.
38
38
39
39
You use system-managed environments when you want [conda](https://conda.io/docs/) to manage the Python environment for you. A new conda environment is materialized from your conda specification on top of a base docker image.
40
40
@@ -58,61 +58,61 @@ For code samples, see the "Manage environments" section of [How to use environme
58
58
59
59
## Environment building, caching, and reuse
60
60
61
-
Azure Machine Learning builds environment definitions into Docker images and conda environments. It also caches the environments so they can be reused in subsequent training jobs and service endpoint deployments. Running a training script remotely requires the creation of a Docker image, but a local job can use a conda environment directly.
61
+
Azure Machine Learning builds environment definitions into Docker images. It also caches the environments so they can be reused in subsequent training jobs and service endpoint deployments. Running a training script remotely requires the creation of a Docker image. By default, AzureML manages image build target on available workspace [serverless compute quota](how-to-use-serverless-compute.md) if no dedicated compute set for the workspace.
62
62
63
-
### Submitting a job using an environment
63
+
> [!NOTE]
64
+
> Any network restrictions in AzureML Workspace might require dedicated user managed image build compute setup. Please follow the steps to [secure workspace resources](how-to-secure-workspace-vnet.md).
64
65
65
-
When you first submit a remote job using an environment, the Azure Machine Learning service invokes an [ACR Build Task](../container-registry/container-registry-tasks-overview.md) on the Azure Container Registry (ACR) associated with the Workspace. The built Docker image is then cached on the Workspace ACR. Curated environments are backed by Docker images that are cached in Global ACR. At the start of the job execution, the image is retrieved by the compute target from the relevant ACR.
66
+
### Submitting a job using an environment
66
67
67
-
For local jobs, a Docker or conda environment is created based on the environment definition. The scripts are then executed on the target compute - a local runtime environment or local Docker engine.
68
+
When you first submit a remote job using an environment or create environment instance manually, the Azure Machine Learning builds an image for the provided specification. Result image is cached in the container registry instance associated with the workspace. Curated environments are already cached in the AzureML Registry. At the start of the job execution, the image is retrieved by the compute target from the relevant container registry.
68
69
69
70
### Building environments as Docker images
70
71
71
-
If the image for a particular environment definition doesn't already exist in the workspace ACR, a new image will be built. The image build consists of two steps:
72
+
If the image for a particular environment definition doesn't already exist in the container registry instance associated with AzureML Workspace, a new image is built. For system managed environments, the image build consists of two steps:
72
73
73
74
1. Downloading a base image, and executing any Docker steps
74
75
2. Building a conda environment according to conda dependencies specified in the environment definition.
75
76
76
-
The second step is optional, and the environment may instead come from the Docker build context or base image. In this case you're responsible for installing any Python packages, by including them in your base image, or specifying custom Docker steps. You're also responsible for specifying the correct location for the Python executable. It is also possible to use a [custom Docker base image](./how-to-deploy-custom-container.md).
77
+
For user managed environments provided docker context will be build as is. In this case you're responsible for installing any Python packages, by including them in your base image, or specifying custom Docker steps.
77
78
78
79
### Image caching and reuse
79
80
80
-
If you use the same environment definition for another job, Azure Machine Learning reuses the cached image from the Workspace ACR to save time.
81
+
If you use the same environment definition for another job, Azure Machine Learning reuses the cached image from the container registry associated with your Workspace.
81
82
82
83
To view the details of a cached image, check the Environments page in Azure Machine Learning studio or use [`MLClient.environments`](/python/api/azure-ai-ml/azure.ai.ml.mlclient#azure-ai-ml-mlclient-environments) to get and inspect the environment.
83
84
84
-
To determine whether to reuse a cached image or build a new one, Azure Machine Learning computes a [hash value](https://en.wikipedia.org/wiki/Hash_table) from the environment definition and compares it to the hashes of existing environments. The hash is based on the environment definition's:
85
+
To determine whether to reuse a cached image or build a new one, Azure Machine Learning computes a [hash value](https://en.wikipedia.org/wiki/Hash_table) from the environment definition and compares it to the hashes of existing environments. The hash serves as a unique identifier for an environment and is based on the environment definition's:
85
86
86
87
* Base image
87
88
* Custom docker steps
88
89
* Python packages
89
-
* Spark packages
90
90
91
-
The hash isn't affected by the environment name or version. If you rename your environment or create a new one with the same settings and packages as another environment, then the hash value will remain the same. However, environment definition changes like adding or removing a Python package or changing a package version will result cause the resulting hash value to change. Changing the order of dependencies or channels in an environment will also change the hash and require a new image build. Similarly, any change to a curated environment will result in the creation of a new "non-curated" environment.
91
+
The hash isn't affected by the environment name or version. If you rename your environment or create a new one with the same settings and packages as another environment, then the hash value remains the same. However, environment definition changes like adding or removing a Python package or changing a package version changes the resulting hash value. Changing the order of dependencies or channels in an environment will also change the hash and require a new image build. Similarly, any change to a curated environment results in the creation of a custom environment.
92
92
93
93
> [!NOTE]
94
94
> You will not be able to submit any local changes to a curated environment without changing the name of the environment. The prefixes "AzureML-" and "Microsoft" are reserved exclusively for curated environments, and your job submission will fail if the name starts with either of them.
95
95
96
-
The environment's computed hash value is compared with those in the Workspace and global ACR, or on the compute target (local jobs only). If there is a match then the cached image is pulled and used, otherwise an image build is triggered.
96
+
The environment's computed hash value is compared with those in the Workspace container registry. If there is a match, then the cached image is pulled and used, otherwise an image build is triggered.
97
97
98
98
The following diagram shows three environment definitions. Two of them have different names and versions but identical base images and Python packages, which results in the same hash and corresponding cached image. The third environment has different Python packages and versions, leading to a different hash and cached image.
99
99
100
100

101
101
102
-
Actual cached images in your workspace ACR will have names like`azureml/azureml_e9607b2514b066c851012848913ba19f` with the hash appearing at the end.
102
+
Actual cached images in your workspace container registry have names similar to`azureml/azureml_e9607b2514b066c851012848913ba19f` with the hash appearing at the end.
103
103
104
104
>[!IMPORTANT]
105
105
> * If you create an environment with an unpinned package dependency (for example, `numpy`), the environment uses the package version that was *available when the environment was created*. Any future environment that uses a matching definition will use the original version.
106
106
>
107
107
> To update the package, specify a version number to force an image rebuild. An example of this would be changing `numpy` to `numpy==1.18.1`. New dependencies--including nested ones--will be installed, and they might break a previously working scenario.
108
108
>
109
-
> * Using an unpinned base image like `mcr.microsoft.com/azureml/openmpi3.1.2-ubuntu18.04` in your environment definition results in rebuilding the image every time the `latest` tag is updated. This helps the image receive the latest patches and system updates.
109
+
> * Using an unpinned base image like `mcr.microsoft.com/azureml/openmpi3.1.2-ubuntu18.04` in your environment definition may result in rebuilding the image every time the `latest` tag is updated. This helps the image receive the latest patches and system updates.
110
110
111
111
### Image patching
112
112
113
113
Microsoft is responsible for patching the base images for known security vulnerabilities. Updates for supported images are released every two weeks, with a commitment of no unpatched vulnerabilities older than 30 days in the latest version of the image. Patched images are released with a new immutable tag and the `:latest` tag is updated to the latest version of the patched image.
114
114
115
-
You'll need to update associated Azure Machine Learning assets to use the newly patched image. For example, when working with a managed online endpoint, you'll need to redeploy your endpoint to use the patched image.
115
+
You need to update associated Azure Machine Learning assets to use the newly patched image. For example, when working with a managed online endpoint, you need to redeploy your endpoint to use the patched image.
116
116
117
117
If you provide your own images, you're responsible for updating them and updating the Azure Machine Learning assets that use them.
Copy file name to clipboardExpand all lines: articles/machine-learning/how-to-secure-workspace-vnet.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -78,7 +78,7 @@ When your Azure Machine Learning workspace is configured with a private endpoint
78
78
79
79
### Azure Container Registry
80
80
81
-
When ACR is behind a virtual network, Azure Machine Learning can't use it to directly build Docker images. Instead, the compute cluster is used to build the images.
81
+
When your Azure Machine Learning workspace or any resource is configured with a private endpoint it may be required to setup a user managed compute cluster for AzureML Environment image builds. Default scenario is leveraging [serverless compute](how-to-use-serverless-compute.md) and currently intended for scenarios with no network restrictions on resources associated with AzureML Workspace.
82
82
83
83
> [!IMPORTANT]
84
84
> The compute cluster used to build Docker images needs to be able to access the package repositories that are used to train and deploy your models. You may need to add network security rules that allow access to public repos, [use private Python packages](concept-vulnerability-management.md#using-a-private-package-repository), or use [custom Docker images (SDK v1)](v1/how-to-train-with-custom-image.md?view=azureml-api-1&preserve-view=true) that already include the packages.
Copy file name to clipboardExpand all lines: articles/peering-service/azure-portal.md
+5-7Lines changed: 5 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@ author: halkazwini
5
5
ms.author: halkazwini
6
6
ms.service: peering-service
7
7
ms.topic: how-to
8
-
ms.date: 02/08/2024
8
+
ms.date: 03/07/2024
9
9
10
10
#CustomerIntent: As an administrator, I want to learn how to create and manage a Peering Service connection using the Azure portal so I can enhance the connectivity to Microsoft services over the public internet.
11
11
---
@@ -50,11 +50,9 @@ Sign in to the [Azure portal](https://portal.azure.com).
50
50
51
51
## Configure the Peering Service connection
52
52
53
-
1. On the **Configuration** page, select your**Country**and **State/Province** where the Peering Service must be enabled.
53
+
1. On the **Configuration** page, select the**Provider**that you're using to enable the Peering Service. For more information, see [Peering Service partners](location-partners.md).
54
54
55
-
1. Select the **Provider** that you're using to enable the Peering Service. For more information, see [Peering Service partners](./location-partners.md)
56
-
57
-
1. Select the **provider primary peering location** closest to your network location. This is the peering service location between Microsoft and the Partner.
55
+
1. Select the **provider primary peering location** closest to your network location. This peering location is between Microsoft and the Partner.
58
56
59
57
1. Select the **provider backup peering location** as the next closest to your network location. A peering service will be active via the backup peering location only in the event of failure of primary peering service location for disaster recovery. If **None** is selected, internet is the default failover route in the event of primary peering service location failure.
60
58
@@ -68,7 +66,7 @@ Sign in to the [Azure portal](https://portal.azure.com).
68
66
69
67
:::image type="content" source="./media/azure-portal/peering-service-create.png" alt-text="Screenshot of the Review + create tab of Create a peering service connection in Azure portal.":::
70
68
71
-
1. After you create a Peering Service connection, additional validation is performed on the included prefixes. You can review the validation status under the **Prefixes** section of your Peering Service.
69
+
1. After you create a Peering Service connection, more validation is performed on the included prefixes. You can review the validation status under the **Prefixes** section of your Peering Service.
72
70
73
71
:::image type="content" source="./media/azure-portal/peering-service-prefix-validation.png" alt-text="Screenshot shows the validation status of the prefixes." lightbox="./media/azure-portal/peering-service-prefix-validation.png":::
74
72
@@ -108,7 +106,7 @@ Review the [Technical requirements for Peering Service prefixes](../internet-pee
108
106
109
107
## Modifying the primary or backup peering location
110
108
111
-
If you would like to change the primary or backup peering location in your Peering Service, reach out to [email protected] to request this. Give the resource ID of the peering service to modify, and the new primary and backup locations you'd like to be configured.
109
+
If you would like to change the primary or backup peering location in your Peering Service, reach out to [email protected]. Provide the resource ID of the peering service to modify, and the new primary and backup locations you'd like to be configured.
0 commit comments