Provisioning a Cost-Optimized ML Environment on Azure

Optimizing Costs for Your ML Environment

Question

You are tasked to set up a ML environment for running experiments.

While configuring the compute environment for your experiments, your priority is to provision the necessary capacity but keeping costs as low as possible.

Which is not the way of optimizing costs?

Answers

Explanations

Click on the arrows to vote for the correct answer

A. B. C. D.

Answer: B.

Option A is incorrect because using your own local environment while developing code generates no extra cost, not even for long execution times.

Option B is CORRECT because AKS is recommended for high-scale production environments.

Not the best way to keep costs low.

Option C is incorrect because in a cloud environment, utilizing the pay-as-you-go model, automatically launching and stopping computes is one of the best ways of preventing costs from “exploding”.

Option D is incorrect because in the cloud environment, you can set up compute clusters which provide the necessary compute power while scaling up and down automatically, according to the actual demand.

Reference:

In order to optimize costs while provisioning a compute environment for running ML experiments, there are several strategies that can be employed.

Option A, developing code in a local, low-cost environment, can certainly help keep costs down by avoiding the need for expensive cloud-based resources. However, this may not always be practical, especially if the dataset being used is too large to fit on a local machine or if the models being developed require more processing power than what a local machine can provide.

Option B, using Azure Kubernetes Service (AKS), is a viable option for scaling up compute resources as needed while also providing a level of cost optimization. With AKS, it is possible to scale up or down the number of nodes in a cluster based on demand, which can help ensure that the right amount of resources are provisioned for the workload. However, AKS does come with additional overhead and management complexity, which may offset some of the cost savings.

Option C, using managed computes that start automatically on-demand and stop when not needed, is a great way to optimize costs. Azure provides several services that fall under this category, including Azure Batch and Azure Machine Learning Compute. With these services, you can define the resources required for a job and the system will automatically provision and de-provision the necessary resources as needed. This can help ensure that resources are only used when needed, which can lead to significant cost savings.

Option D, setting automatic scaling for computes based on the workload, is another way to optimize costs. With this approach, the compute resources are automatically scaled up or down based on the workload being processed. This can help ensure that resources are not being wasted when they are not needed, which can help keep costs low. However, this approach requires careful monitoring and configuration to ensure that the scaling is appropriate for the workload being processed.

In conclusion, option A, developing code in a local, low-cost environment, can be a viable cost optimization strategy in some cases. However, options C and D, using managed computes and setting automatic scaling, are likely to provide the best cost optimization while still providing the necessary compute resources for ML experiments. Option B, using AKS, can also be a viable option but comes with additional management overhead that may offset some of the cost savings.