Планирование и управление затратами для Машинное обучение AzurePlan and manage costs for Azure Machine Learning

В этой статье описывается планирование и управление затратами для Машинное обучение Azure.This article describes how to plan and manage costs for Azure Machine Learning. Во первых, вы используете калькулятор цен Azure, чтобы помочь спланировать затраты перед добавлением ресурсов.First, you use the Azure pricing calculator to help plan for costs before you add any resources. После добавления ресурсов Azure ознакомьтесь с оценочными затратами.Next, as you add the Azure resources, review the estimated costs. Наконец, используйте советы по экономии затрат при обучении модели с управляемыми Машинное обучение Azureными кластерами.Finally, use cost-saving tips as you train your model with managed Azure Machine Learning compute clusters.

После начала работы с Машинное обучение Azure ресурсами используйте функции управления затратами для установки бюджетов и отслеживания затрат.After you've started using Azure Machine Learning resources, use the cost management features to set budgets and monitor costs. Также ознакомьтесь с прогнозными затратами и выявление тенденций расходов для выявления областей, в которых может потребоваться выполнить действие.Also review the forecasted costs and identify spending trends to identify areas where you might want to act.

Изучите, что затраты на Машинное обучение Azure являются частью ежемесячных затрат в счете Azure.Understand that the costs for Azure Machine Learning are only a portion of the monthly costs in your Azure bill. Если вы используете другие службы Azure, вам будет выставлен счет за все службы и ресурсы Azure, используемые в вашей подписке Azure, в том числе на сторонние службы.If you are using other Azure services, you're billed for all the Azure services and resources used in your Azure subscription, including the third-party services. В этой статье описывается планирование и управление затратами для Машинное обучение Azure.This article explains how to plan for and manage costs for Azure Machine Learning. После ознакомления с управлением затратами на Машинное обучение Azure примените аналогичные методы для управления затратами для всех служб Azure, используемых в вашей подписке.After you're familiar with managing costs for Azure Machine Learning, apply similar methods to manage costs for all the Azure services used in your subscription.

При обучении моделей машинного обучения используйте управляемые Машинное обучение Azure вычислений-кластеры, чтобы воспользоваться преимуществами дополнительных советов по экономии ресурсов:When you train your machine learning models, use managed Azure Machine Learning compute clusters to take advantage of more cost-saving tips:

  • Настройка кластеров для обучения для автоматического масштабированияConfigure your training clusters for autoscaling
  • Установка квот для подписки и рабочих областейSet quotas on your subscription and workspaces
  • Настройка политик завершения для обучающего запускаSet termination policies on your training run
  • Использование виртуальных машин с низким приоритетом (ВМ)Use low-priority virtual machines (VM)
  • Использование зарезервированного экземпляра виртуальной машины AzureUse an Azure Reserved VM Instance

Предварительные требованияPrerequisites

Анализ стоимости поддерживает различные типы учетных записей Azure.Cost analysis supports different kinds of Azure account types. Полный список поддерживаемых типов учетных записей см. в статье Understand Cost Management data (Интерпретация данных службы "Управление затратами").To view the full list of supported account types, see Understand Cost Management data. Чтобы просмотреть данные о затратах, нужен как минимум доступ на чтение для учетной записи Azure.To view cost data, you need at least read access for your Azure account.

Дополнительные сведения о назначении доступа к данным службы "Управление затратами" Azure см. в этой статье.For information about assigning access to Azure Cost Management data, see Assign access to data.

Оценка затрат перед использованием Машинное обучение AzureEstimate costs before using Azure Machine Learning

Используйте Калькулятор цен Azure , чтобы оценить затраты перед созданием ресурсов в учетной записи машинное обучение Azure.Use the Azure pricing calculator to estimate costs before you create the resources in an Azure Machine Learning account. Слева выберите AI + машинное обучение, а затем выберите машинное обучение Azure , чтобы начать.On the left, select AI + Machine Learning, then select Azure Machine Learning to begin.

На следующем снимке экрана показана оценка затрат с помощью калькулятора:The following screenshot shows the cost estimation by using the calculator:

Оценка затрат в калькуляторе Azure

Когда вы добавляете новые ресурсы в рабочую область, вернитесь к этому калькулятору и добавьте в него тот же ресурс, чтобы обновить оценки затрат.As you add new resources to your workspace, return to this calculator and add the same resource here to update your cost estimates.

Дополнительные сведения см. в разделе цены на машинное обучение Azure.For more information, see Azure Machine Learning pricing.

Сведения о модели полного выставления счетов для Машинное обучение AzureUnderstand the full billing model for Azure Machine Learning

Машинное обучение Azure работает в инфраструктуре Azure, которая выполняет накопление затрат вместе с Машинное обучение Azure при развертывании нового ресурса.Azure Machine Learning runs on Azure infrastructure that accrues costs along with Azure Machine Learning when you deploy the new resource. Важно понимать, что дополнительная инфраструктура может начислять затраты.It's important to understand that additional infrastructure might accrue cost. Необходимо управлять этими затратами при внесении изменений в развернутые ресурсы.You need to manage that cost when you make changes to deployed resources.

Затраты, которые обычно начисляются с помощью Машинное обучение AzureCosts that typically accrue with Azure Machine Learning

При создании ресурсов для Машинное обучение Azure рабочей области также создаются ресурсы для других служб Azure.When you create resources for an Azure Machine Learning workspace, resources for other Azure services are also created. Их можно сформулировать следующим образом.They are:

Затраты могут начисляться после удаления ресурсаCosts might accrue after resource deletion

При удалении рабочей области Машинное обучение Azure в портал Azure или с помощью Azure CLI по прежнему существуют следующие ресурсы.When you delete an Azure Machine Learning workspace in the Azure portal or with Azure CLI, the following resources continue to exist. Они продолжают начислять затраты до тех пор, пока вы не удалите их.They continue to accrue costs until you delete them.

  • Реестр контейнеров AzureAzure Container Registry
  • Хранилище блочных BLOB-объектов AzureAzure Block Blob Storage
  • Key VaultKey Vault
  • Application InsightsApplication Insights

Чтобы удалить рабочую область вместе с этими зависимыми ресурсами, используйте пакет SDK:To delete the workspace along with these dependent resources, use the SDK:

ws.delete(delete_dependent_resources=True)

Если вы создаете службу Azure Kubernetes Service (AKS) в рабочей области или подключаете какие-либо ресурсы вычислений к рабочей области, их необходимо удалить отдельно в портал Azure.If you create Azure Kubernetes Service (AKS) in your workspace, or if you attach any compute resources to your workspace you must delete them separately in Azure portal.

Использование предварительной оплаты Azure с Машинное обучение AzureUsing Azure Prepayment credit with Azure Machine Learning

Вы можете платить за Машинное обучение Azureную оплату с предоплатой Azure (ранее называлось денежным обязательством).You can pay for Azure Machine Learning charges with your Azure Prepayment (previously called monetary commitment) credit. Однако вы не можете использовать предоплату Azure для оплаты за продукты и услуги сторонних производителей, включая данные из Azure Marketplace.However, you can't use Azure Prepayment to pay for charges for third party products and services including those from the Azure Marketplace.

Создание бюджетовCreate budgets

Вы можете создавать бюджеты для управления затратами и создавать оповещения , которые автоматически уведомляют заинтересованных лиц о трате аномалий и чрезмерной трате рисков.You can create budgets to manage costs and create alerts that automatically notify stakeholders of spending anomalies and overspending risks. Оповещения основываются на расходах по сравнению с пороговыми значениями бюджета и затрат.Alerts are based on spending compared to budget and cost thresholds. Бюджеты и оповещения создаются для подписок Azure и групп ресурсов, поэтому они полезны в рамках общей стратегии мониторинга затрат.Budgets and alerts are created for Azure subscriptions and resource groups, so they're useful as part of an overall cost monitoring strategy.

Бюджеты можно создавать с помощью фильтров для конкретных ресурсов или служб в Azure, если требуется дополнительная детализация в мониторинге.Budgets can be created with filters for specific resources or services in Azure if you want more granularity present in your monitoring. Фильтры помогают предотвратить случайное создание новых ресурсов, которые избавляет вас от дополнительных денег.Filters help ensure that you don't accidentally create new resources that cost you additional money. Дополнительные сведения о параметрах фильтра при создании бюджета см. в разделе Параметры группы и фильтра.For more about the filter options when you when create a budget, see Group and filter options.

Экспорт данных о затратахExport cost data

Вы также можете экспортировать данные о затратах в учетную запись хранения.You can also export your cost data to a storage account. Это полезно, если вам или другим пользователям требуется выполнить дополнительный анализ данных за затраты.This is helpful when you need or others to do additional data analysis for costs. Например, финансовые группы могут анализировать данные с помощью Excel или Power BI.For example, a finance teams can analyze the data using Excel or Power BI. Вы можете экспортировать затраты на ежедневное, еженедельное или ежемесячное расписание и задать настраиваемый диапазон дат.You can export your costs on a daily, weekly, or monthly schedule and set a custom date range. Для извлечения наборов данных о затратах рекомендуется экспортировать данные о затратах.Exporting cost data is the recommended way to retrieve cost datasets.

Другие способы управления и снижения затрат на Машинное обучение AzureOther ways to manage and reduce costs for Azure Machine Learning

Используйте эти советы, чтобы узнать о затратах на ресурсы для вычислений машинного обучения.Use these tips for containing costs on your machine learning compute resources.

Использование кластера Машинное обучение Azure Compute (Амлкомпуте)Use Azure Machine Learning compute cluster (AmlCompute)

С постоянно изменяющимися данными вам потребуются быстрый и оптимизированный процесс обучения и переобучение модели для поддержания точных моделей.With constantly changing data, you need fast and streamlined model training and retraining to maintain accurate models. Однако непрерывное обучение происходит по затратам, особенно для моделей глубокого обучения на графических процессорах.However, continuous training comes at a cost, especially for deep learning models on GPUs.

Машинное обучение Azure пользователи могут использовать управляемый Машинное обучение Azureный кластер, который также называется Амлкомпуте.Azure Machine Learning users can use the managed Azure Machine Learning compute cluster, also called AmlCompute. Амлкомпуте поддерживает различные параметры GPU и ЦП.AmlCompute supports a variety of GPU and CPU options. Амлкомпуте внутренне размещено от имени подписки с Машинное обучение Azure.The AmlCompute is internally hosted on behalf of your subscription by Azure Machine Learning. Она обеспечивает такую же безопасность корпоративного уровня, как обеспечение безопасности и соответствия требованиям, а также управление ими в облачном масштабировании Azure IaaS.It provides the same enterprise grade security, compliance and governance at Azure IaaS cloud scale.

Поскольку эти кластеры вычислений находятся в инфраструктуре IaaS Azure, вы можете развертывать, масштабировать и управлять обучением, используя те же требования безопасности и соответствия требованиям, что и остальная часть инфраструктуры.Because these compute pools are inside of Azure's IaaS infrastructure, you can deploy, scale, and manage your training with the same security and compliance requirements as the rest of your infrastructure. Эти развертывания выполняются в вашей подписке и подчиняются правилам управления.These deployments occur in your subscription and obey your governance rules. Дополнительные сведения о машинное обучение Azure COMPUTE.Learn more about Azure Machine Learning compute.

Настройка кластеров обучения для автоматического масштабированияConfigure training clusters for autoscaling

Автоматическое масштабирование кластеров в зависимости от требований вашей рабочей нагрузки помогает сократить затраты, чтобы использовать только необходимые компоненты.Autoscaling clusters based on the requirements of your workload helps reduce your costs so you only use what you need.

Кластеры Амлкомпуте предназначены для динамического масштабирования в зависимости от рабочей нагрузки.AmlCompute clusters are designed to scale dynamically based on your workload. Кластер можно масштабировать до максимального количества настраиваемых узлов.The cluster can be scaled up to the maximum number of nodes you configure. По мере завершения каждого выполнения кластер выдает узлы и масштабирует их до настроенного минимального числа узлов.As each run completes, the cluster will release nodes and scale to your configured minimum node count.

Важно!

Чтобы избежать расходов, когда нет выполняющихся заданий, установите минимальное количество узлов равным 0.To avoid charges when no jobs are running, set the minimum nodes to 0. Этот параметр позволяет Машинное обучение Azure отменить распределение узлов, когда они не используются.This setting allows Azure Machine Learning to de-allocate the nodes when they aren't in use. Любое значение, превышающее 0, сохранит количество работающих узлов, даже если они не используются.Any value larger than 0 will keep that number of nodes running, even if they are not in use.

Кроме того, можно настроить период бездействия узла перед уменьшением масштаба.You can also configure the amount of time the node is idle before scale down. По умолчанию время простоя до уменьшения масштаба равно 120 секунд.By default, idle time before scale down is set to 120 seconds.

  • Если вы выполняете меньше итеративных экспериментов, сократите это время, чтобы сэкономить затраты.If you perform less iterative experimentation, reduce this time to save costs.
  • При выполнении высокоитеративного эксперимента для разработки и тестирования может потребоваться увеличить время, чтобы не платить за постоянное масштабирование после каждого изменения в обучающем сценарии или среде.If you perform highly iterative dev/test experimentation, you might need to increase the time so you aren't paying for constant scaling up and down after each change to your training script or environment.

Кластеры Амлкомпуте можно настроить для изменения требований рабочей нагрузки в портал Azure с помощью класса пакета SDK для амлкомпуте, амлкомпуте интерфейса командной строкис интерфейсами API.AmlCompute clusters can be configured for your changing workload requirements in Azure portal, using the AmlCompute SDK class, AmlCompute CLI, with the REST APIs.

az ml computetarget create amlcompute --name testcluster --vm-size Standard_NC6 --min-nodes 0 --max-nodes 5 --idle-seconds-before-scaledown 300

Установка квот для ресурсовSet quotas on resources

Амлкомпуте поставляется с квотой (или лимитом) конфигурации.AmlCompute comes with a quota (or limit) configuration. Эта квота связана с семейством виртуальных машин (например, сериями Dv2, сериями NCv3) и зависит от региона для каждой подписки.This quota is by VM family (for example, Dv2 series, NCv3 series) and varies by region for each subscription. Подписки начинаются с небольших значений по умолчанию, но с помощью этого параметра можно управлять объемом ресурсов Амлкомпуте, доступных для всплывающих подписке.Subscriptions start with small defaults to get you going, but use this setting to control the amount of Amlcompute resources available to be spun up in your subscription.

Также настройте квоту уровня рабочей области для семейства виртуальных машиндля каждой рабочей области в подписке.Also configure workspace level quota by VM family, for each workspace within a subscription. Это позволяет более детально контролировать затраты, которые могут повлечься в каждой рабочей области, и ограничивать определенные семейства виртуальных машин.Doing so allows you to have more granular control on the costs that each workspace might potentially incur and restrict certain VM families.

Чтобы задать квоты на уровне рабочей области, начните с портал Azure.To set quotas at the workspace level, start in the Azure portal. Выберите любую рабочую область в подписке и выберите использование + квоты на левой панели.Select any workspace in your subscription, and select Usages + quotas in the left pane. Затем перейдите на вкладку Настройка квот , чтобы просмотреть квоты.Then select the Configure quotas tab to view the quotas. Для задания квоты требуются привилегии в области действия подписки, так как это параметр влияет на несколько рабочих областей.You need privileges at the subscription scope to set the quota, since it's a setting that affects multiple workspaces.

Задание политик автозавершения запускаSet run autotermination policies

В некоторых случаях следует настроить запуски обучения, чтобы ограничить их длительность или завершить их на раннем этапе.In some cases, you should configure your training runs to limit their duration or terminate them early. Например, при использовании встроенной настройки параметров или автоматизированного машинного обучения Машинное обучение Azure.For example, when you are using Azure Machine Learning's built-in hyperparameter tuning or automated machine learning.

Вот несколько вариантов:Here are a few options that you have:

  • Определите параметр, вызываемый max_run_duration_seconds в RunConfiguration, чтобы определить максимальную продолжительность, с которой может продлить запуск, в зависимости от выбранного вами типа вычислений (локальное или удаленное облачное вычисление).Define a parameter called max_run_duration_seconds in your RunConfiguration to control the maximum duration a run can extend to on the compute you choose (either local or remote cloud compute).
  • Для настройки параметров помощникаОпределите политику раннего завершения из политики бандит, политики остановки медианы или политики выбора усечения.For hyperparameter tuning, define an early termination policy from a Bandit policy, a Median stopping policy, or a Truncation selection policy. Для дальнейшего управления очисткой параметров используйте такие параметры, как max_total_runs или max_duration_minutes .To further control hyperparameter sweeps, use parameters such as max_total_runs or max_duration_minutes.
  • Для автоматического машинного обучениянастройте аналогичные политики завершения с помощью enable_early_stopping флага.For automated machine learning, set similar termination policies using the enable_early_stopping flag. Кроме того, используйте такие свойства, как iteration_timeout_minutes и, experiment_timeout_minutes чтобы управлять максимальной длительностью выполнения или для всего эксперимента.Also use properties such as iteration_timeout_minutes and experiment_timeout_minutes to control the maximum duration of a run or for the entire experiment.

Использование виртуальных машин с низким приоритетомUse low-priority VMs

Azure позволяет использовать избыточную емкость в качестве Low-Priority виртуальных машин в масштабируемых наборах виртуальных машин, пакетных служб и Машинное обучение.Azure allows you to use excess unutilized capacity as Low-Priority VMs across virtual machine scale sets, Batch, and the Machine Learning service. Эти выделения предварительно емптибле, но имеют уменьшенную стоимость по сравнению с выделенными виртуальными машинами.These allocations are pre-emptible but come at a reduced price compared to dedicated VMs. Как правило, для пакетных рабочих нагрузок рекомендуется использовать Low-Priority виртуальные машины.In general, we recommend using Low-Priority VMs for Batch workloads. Их также следует использовать там, где прерывания можно восстановить либо с помощью повторной отправки (для пакетной обработки), либо с помощью перезагрузки (для обучения глубокого обучения с помощью контрольных точек).You should also use them where interruptions are recoverable either through resubmits (for Batch Inferencing) or through restarts (for deep learning training with checkpointing).

Low-Priority ВМ имеют отдельную квоту, отделенную от значения выделенной квоты, которое входит в семейство виртуальных машин.Low-Priority VMs have a single quota separate from the dedicated quota value, which is by VM family. Дополнительные сведения о квотах амлкомпуте.Learn more about AmlCompute quotas.

Low-Priority виртуальные машины не работают для экземпляров вычислений, так как они должны поддерживать интерактивные возможности записной книжки.Low-Priority VMs don't work for compute instances, since they need to support interactive notebook experiences.

Использование зарезервированных экземпляровUse reserved instances

Другим способом экономии денег на вычислительных ресурсах является зарезервированный экземпляр виртуальной машины Azure.Another way to save money on compute resources is Azure Reserved VM Instance. С этим предложением вы зафиксируете условия на один год или три года.With this offering, you commit to one-year or three-year terms. Эти скидки находятся в диапазоне до 72% цен с оплатой по мере использования и применяются непосредственно к месячному счету за использование Azure.These discounts range up to 72% of the pay-as-you-go prices and are applied directly to your monthly Azure bill.

Машинное обучение Azure COMPUTE поддерживает зарезервированные экземпляры по сути.Azure Machine Learning Compute supports reserved instances inherently. Если вы приобретаете зарезервированный экземпляр на один или три года, мы будем автоматически применять скидку к Машинное обучение Azure управляемым вычислительным средам.If you purchase a one-year or three-year reserved instance, we will automatically apply discount against your Azure Machine Learning managed compute.

Дальнейшие действияNext steps