Настройте распределение затрат на уровне предприятия для сред и рабочих нагрузок машинного обучения с помощью тегов ресурсов в Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Настройте распределение затрат на уровне предприятия для сред и рабочих нагрузок машинного обучения с помощью тегов ресурсов в Amazon SageMaker.

По мере того, как компании и ИТ-руководители стремятся ускорить внедрение машинного обучения (ML), возрастает потребность в понимании затрат и распределения затрат для вашей среды ML для удовлетворения требований предприятия. Без надлежащего управления затратами и управления ваши расходы на машинное обучение могут привести к неожиданностям в вашем ежемесячном счете за AWS. Создатель мудреца Амазонки — это полностью управляемая платформа машинного обучения в облаке, которая предоставляет нашим корпоративным клиентам инструменты и ресурсы для определения показателей распределения затрат и повышения прозрачности подробных затрат и использования вашими командами, бизнес-подразделениями, продуктами и т. д.

В этом посте мы делимся советами и рекомендациями по распределению затрат для вашей среды SageMaker и рабочих нагрузок. Почти во всех сервисах AWS, включая SageMaker, применение тегов к ресурсам является стандартным способом отслеживания затрат. Эти теги могут помочь вам отслеживать, составлять отчеты и контролировать свои расходы на машинное обучение с помощью готовых решений, таких как Анализ затрат AWS и Бюджеты AWS, а также собственные решения, построенные на данных из Отчеты о расходах и использовании AWS (КУРС).

Маркировка распределения затрат

Распределение затрат в AWS представляет собой трехэтапный процесс:

  1. Прикреплять теги распределения затрат к вашим ресурсам.
  2. Активируйте свои теги в Теги распределения затрат раздел биллинговой консоли AWS.
  3. Используйте теги для отслеживания и фильтрации отчетов о распределении затрат.

После того как вы создадите и прикрепите теги к ресурсам, они появятся в консоли биллинга AWS. Теги распределения затрат Раздел под Пользовательские теги распределения затрат. Отображение тегов после их создания может занять до 24 часов. Затем вам нужно активировать эти теги, чтобы AWS начал отслеживать их для ваших ресурсов. Как правило, после активации тега требуется от 24 до 48 часов, чтобы теги появились в Cost Explorer. Самый простой способ проверить, работают ли ваши теги, — найти новый тег в фильтре тегов в Cost Explorer. Если он есть, значит, вы готовы использовать теги для отчетов о распределении затрат. Затем вы можете сгруппировать результаты по ключам тегов или отфильтровать по значениям тегов, как показано на следующем снимке экрана.

Настройте распределение затрат на уровне предприятия для сред и рабочих нагрузок машинного обучения с помощью тегов ресурсов в Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Одно замечание: если вы используете AWS Организации и имеют связанные учетные записи AWS, теги можно активировать только в основной учетной записи плательщика. При желании вы также можете активировать CUR для учетных записей AWS, которые позволяют создавать отчеты о распределении затрат в виде CSV-файла с вашим использованием и затратами, сгруппированными по вашим активным тегам. Это дает вам более подробное отслеживание ваших затрат и упрощает настройку ваших собственных настраиваемых решений для отчетности.

Теги в SageMaker

На высоком уровне тегирование ресурсов SageMaker можно сгруппировать в две группы:

  • Маркировка среды ноутбука SageMaker либо Студия Amazon SageMaker домены и пользователи домена или экземпляры блокнотов SageMaker
  • Маркировка заданий, управляемых SageMaker (маркировка, обработка, обучение, настройка гиперпараметров, пакетное преобразование и т. д.) и ресурсов (таких как модели, рабочие группы, конфигурации конечных точек и конечные точки)

Мы рассмотрим их более подробно в этом посте и предложим некоторые решения о том, как применить контроль управления для обеспечения надлежащей гигиены тегов.

Маркировка доменов и пользователей SageMaker Studio

Studio — это веб-интегрированная среда разработки (IDE) для машинного обучения, которая позволяет создавать, обучать, отлаживать, развертывать и отслеживать модели машинного обучения. Вы можете быстро запускать блокноты Studio и динамически подключать или отключать базовые вычислительные ресурсы, не прерывая свою работу.

Чтобы автоматически пометить эти динамические ресурсы, необходимо назначить теги домену SageMaker и пользователям домена, которым предоставлен доступ к этим ресурсам. Вы можете указать эти теги в параметре tags создать домен or создать профиль пользователя во время создания профиля или домена, или вы можете добавить их позже, используя добавить теги API. Studio автоматически копирует и назначает эти теги блокнотам Studio, созданным в домене или определенными пользователями. Вы также можете добавить теги в домены SageMaker, изменив настройки домена в панели управления Studio.

Ниже приведен пример назначения тегов профилю во время создания.

aws sagemaker create-user-profile --domain-id  --user-profile-name data-scientist-full --tags Key=studiouserid,Value= --user-settings ExecutionRole=arn:aws:iam:::role/SageMakerStudioExecutionRole_datascientist-full

Чтобы пометить существующие домены и пользователей, используйте add-tags API. Затем теги применяются ко всем новым блокнотам. Чтобы эти теги были применены к вашим существующим блокнотам, вам необходимо перезапустить приложение Studio (Kernel Gateway и Jupyter Server), принадлежащее этому профилю пользователя. Это не приведет к потере данных записной книжки. Обратитесь к этому Завершение работы и обновление SageMaker Studio и приложений Studio чтобы узнать, как удалять и перезапускать приложения Studio.

Настройте распределение затрат на уровне предприятия для сред и рабочих нагрузок машинного обучения с помощью тегов ресурсов в Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Маркировка экземпляров блокнота SageMaker

В случае экземпляра ноутбука SageMaker теги применяются к самому экземпляру. Теги назначаются всем ресурсам, работающим в одном экземпляре. Вы можете указать теги программно, используя параметр tags в создать экземпляр ноутбука API или добавьте их через консоль SageMaker во время создания экземпляра. Вы также можете добавлять или обновлять теги в любое время, используя добавить теги API или через консоль SageMaker.

Обратите внимание, что это исключает задания и ресурсы, управляемые SageMaker, такие как задания обучения и обработки, поскольку они находятся в среде службы, а не в экземпляре. В следующем разделе мы более подробно рассмотрим, как применять теги к этим ресурсам.

Маркировка заданий и ресурсов, управляемых SageMaker

Для заданий и ресурсов, управляемых SageMaker, теги должны применяться к tags атрибут как часть каждого запроса API. Ан SKLearnProcessor пример проиллюстрирован в следующем коде. Дополнительные примеры того, как назначать теги другим заданиям и ресурсам, управляемым SageMaker, можно найти на странице Репо GitHub.

from sagemaker import get_execution_role
from sagemaker.sklearn.processing import SKLearnProcessor

processing_tags = [{' Key':"cost-center','Value':'TF2WorkflowProcessing'}]
sklearn_processorl = SKLearnProcessor(framework_version='0.23-1' ,
									 role=get_execution_role(),
									 instance_type='ml.m5.xlarge',
									 instance_count=2,
									 tags=processing_tags)

Маркировка конвейеров SageMaker

В случае конвейеров SageMaker вы можете пометить весь конвейер целиком, а не каждый отдельный шаг. Конвейер SageMaker автоматически распространяет теги на каждый шаг конвейера. У вас по-прежнему есть возможность добавить дополнительные отдельные теги к отдельным шагам, если это необходимо. В пользовательском интерфейсе Studio теги конвейера отображаются в разделе метаданных.

Настройте распределение затрат на уровне предприятия для сред и рабочих нагрузок машинного обучения с помощью тегов ресурсов в Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Чтобы применить теги к конвейеру, используйте SDK SageMaker Python:

pipeline_tags = [ {'Key': 'pipeline-type', 'Value': 'TF2WorkflowPipeline'}]
pipeline.upsert(role_arn=role, tags=pipeline_tags)
execution = pipeline.start()

Принудительное добавление тегов с помощью политик IAM

Хотя тегирование является эффективным механизмом для реализации стратегий управления и контроля в облаке, обеспечение правильного поведения тегов может быть сложной задачей, если вы просто предоставите это конечным пользователям. Как вы предотвращаете создание ресурсов машинного обучения, если определенный тег отсутствует, как вы обеспечиваете применение правильных тегов и как вы запрещаете пользователям удалять существующие теги?

Вы можете сделать это, используя Управление идентификацией и доступом AWS (IAM) политики. Следующий код является примером политики, которая предотвращает такие действия SageMaker, как CreateDomain or CreateNotebookInstance если запрос не содержит ключ среды и одно из значений списка. ForAllValues модификатор с aws:TagKeys ключ условия указывает, что только ключ environment допускается в запросе. Это не позволяет пользователям включать другие ключи, например, случайно использовать Environment вместо environment.

"sagemaker:CreateTrainingJob"
      ],
      "{
      "Sid": "SageMakerEnforceEnvtOnCreate",
      "Action": [
        "sagemaker:CreateDomain",
        "sagemaker:CreateEndpoint",
        "sagemaker:CreateNotebookInstance",
        Effect": "Allow",
      "Resource": "*",
  "Condition": {
            "StringEquals": {
                "aws:RequestTag/environment": [
                    "dev","staging","production"
                ]
            },
            "ForAllValues:StringEquals": {"aws:TagKeys": "environment"}
        }
      }

Политики тегов и политики управления услугами (SCP) также может быть хорошим способом стандартизировать создание и маркировку ваших ресурсов машинного обучения. Дополнительные сведения о том, как реализовать стратегию тегирования, обеспечивающую и проверяющую тегирование на уровне организации, см. Серия блогов о распределении затрат № 3: Применение и проверка тегов ресурсов AWS.

Отчет о распределении затрат

Вы можете просмотреть теги, отфильтровав представления в Cost Explorer, просмотрев ежемесячный отчет о распределении затрат, или изучив CUR.

Визуализация тегов в Cost Explorer

Cost Explorer — это инструмент, который позволяет вам просматривать и анализировать ваши расходы и использование. Вы можете изучить свое использование и расходы, используя основной график: отчеты о расходах и использовании Cost Explorer. Краткое видео о том, как использовать Cost Explorer, см. Как я могу использовать Cost Explorer для анализа своих расходов и использования?

С помощью Cost Explorer вы можете фильтровать способ просмотра своих затрат AWS по тегам. Группа по позволяет нам отфильтровывать результаты по ключам тегов, таким как Environment, Deploymentили Cost Center. Фильтр тегов помогает нам выбрать желаемое значение независимо от ключа. Примеры включают Production и Staging. Имейте в виду, что вы должны запускать ресурсы после добавления и активации тегов; в противном случае в Cost Explorer не будет данных об использовании, а значение тега не будет отображаться в виде фильтра или группировки по параметрам.

Настройте распределение затрат на уровне предприятия для сред и рабочих нагрузок машинного обучения с помощью тегов ресурсов в Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

На следующем снимке экрана показан пример фильтрации по всем значениям параметра BusinessUnit тег.

Настройте распределение затрат на уровне предприятия для сред и рабочих нагрузок машинного обучения с помощью тегов ресурсов в Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Изучение тегов в CUR

Отчет о затратах и ​​использовании содержит наиболее полный набор доступных данных о затратах и ​​использовании. Отчет содержит позиции для каждой уникальной комбинации продукта AWS, типа использования и операции, которую использует ваша учетная запись AWS. Вы можете настроить CUR для агрегирования информации либо по часам, либо по дням. Ежемесячный отчет о распределении затрат — это один из способов настроить отчет о распределении затрат. Вы можете настроить ежемесячный отчет о распределении затрат в котором указано использование AWS для вашей учетной записи по категориям продуктов и пользователям связанной учетной записи. Отчет содержит те же позиции, что и подробный отчет о выставлении счетов и дополнительные столбцы для ваших ключей тегов. Вы можете настроить его и загрузить отчет, выполнив действия, описанные в Ежемесячный отчет о распределении затрат.

На следующем снимке экрана показано, как определяемые пользователем ключи тегов отображаются в CUR. Определяемые пользователем ключи тегов имеют префикс user, Такие, как user:Department и user:CostCenter. Ключи тегов, сгенерированные AWS, имеют префикс aws.

Настройте распределение затрат на уровне предприятия для сред и рабочих нагрузок машинного обучения с помощью тегов ресурсов в Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Визуализируйте CUR с помощью Amazon Athena и Amazon QuickSight.

Амазонка Афина — интерактивный сервис запросов, упрощающий анализ данных в Amazon S3 с помощью стандартного SQL. Athena не имеет серверов, поэтому не нужно управлять инфраструктурой, и вы платите только за те запросы, которые выполняете. Чтобы интегрировать Athena с CUR, см. Запрос отчетов о расходах и использовании с помощью Amazon Athena. Затем вы можете создавать собственные запросы для запроса данных CUR с использованием стандартного SQL. На следующем снимке экрана показан пример запроса для фильтрации всех ресурсов со значением TF2WorkflowTraining для cost-center тег.

select * from {$table_name} where resource_tags_user_cost-center= 'TF2WorkflowTraining'

В следующем примере мы пытаемся выяснить, для каких ресурсов отсутствуют значения в разделе cost-center тег.

SELECT
 bill_payer_account_id, line_item_usage_account_id, DATE_FORMAT((line_item_usage_start_date), '%Y-%m-%d') AS day_line_item_usage_start_date, line_item_resource_id, line_item_usage_type, resource_tags_user_cost-center
FROM
{$table_name} 
WHERE
 resource_tags_user_cost-center IS NULL
AND line_item_product_code = 'AmazonSageMaker'

Дополнительную информацию и примеры запросов можно найти в Библиотека запросов AWS CUR.

Вы также можете передать данные CUR в Amazon QuickSight, где вы можете нарезать и нарезать его любым удобным для вас способом для создания отчетов или визуализации. Инструкции по загрузке данных CUR в QuickSight см. Как загрузить и визуализировать отчет о затратах и ​​использовании AWS (CUR) в Amazon QuickSight.

Мониторинг бюджета по тегам

AWS Budgets — это отличный способ заблаговременно предупредить о неожиданном скачке расходов. Вы можете создавать настраиваемые бюджеты, которые оповещают вас, когда ваши затраты и использование машинного обучения превышают (или прогнозируются превышения) ваши пользовательские пороговые значения. С помощью AWS Budgets вы можете отслеживать общие ежемесячные расходы на машинное обучение или фильтровать свои бюджеты, чтобы отслеживать расходы, связанные с определенными параметрами использования. Например, вы можете установить объем бюджета, чтобы включить расходы на ресурсы SageMaker, помеченные как cost-center: ML-Marketing, как показано на следующем снимке экрана. Дополнительные параметры и подробные инструкции по настройке AWS Budgets см. здесь.

Настройте распределение затрат на уровне предприятия для сред и рабочих нагрузок машинного обучения с помощью тегов ресурсов в Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Доступно оповещения о бюджете, вы можете отправлять уведомления, когда пределы вашего бюджета превышены (или вот-вот будут превышены). Эти оповещения также могут быть размещены на Amazon Простая служба уведомлений (Amazon SNS) тема. Ан AWS Lambda Затем вызывается функция, которая подписывается на тему SNS, и могут быть предприняты любые программно реализуемые действия.

AWS Budgets также позволяет настраивать бюджетные действия, то есть действия, которые можно предпринять при превышении порога бюджета (фактическая или прогнозируемая сумма). Этот уровень контроля позволяет уменьшить непреднамеренные перерасходы в вашем аккаунте. Вы можете настроить конкретные ответы на расходы и использование в своей учетной записи, которые будут применяться автоматически или в процессе утверждения рабочего процесса, когда целевой бюджет будет превышен. Это действительно мощное решение для обеспечения того, чтобы ваши расходы на машинное обучение соответствовали целям бизнеса. Вы можете выбрать, какой тип действия предпринять. Например, при превышении порога бюджета вы можете перевести определенных пользователей IAM с прав администратора на доступ только для чтения. Для клиентов, использующих организации, вы можете применить действия ко всему организационному подразделению, переместив их с прав администратора на доступ только для чтения. Дополнительные сведения о том, как управлять затратами с помощью бюджетных действий, см. Как управлять перерасходом средств в среде с несколькими учетными записями AWS — часть 1.

Вы также можете настроить отчет для отслеживания эффективности существующих бюджетов в ежедневной, еженедельной или ежемесячной периодичности и отправить этот отчет на 50 адресов электронной почты. С Отчеты по бюджетам AWS, вы можете объединить все бюджеты, связанные с SageMaker, в один отчет. Эта функция позволяет отслеживать ваш след SageMaker из одного места, как показано на следующем снимке экрана. Вы можете получать эти отчеты ежедневно, еженедельно или ежемесячно (я выбрал Еженедельные для этого примера) и выберите день недели, когда вы хотите их получать.

Эта функция полезна, чтобы держать ваших заинтересованных лиц в курсе ваших затрат и использования SageMaker, а также помогать им видеть, когда расходы не соответствуют ожидаемому.

Настройте распределение затрат на уровне предприятия для сред и рабочих нагрузок машинного обучения с помощью тегов ресурсов в Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

После настройки этой конфигурации вы должны получить электронное письмо, подобное следующему.

Настройте распределение затрат на уровне предприятия для сред и рабочих нагрузок машинного обучения с помощью тегов ресурсов в Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Заключение

В этом посте мы показали, как настроить маркировку распределения затрат для SageMaker, и поделились советами по маркировке передовых методов для вашей среды и рабочих нагрузок SageMaker. Затем мы обсудили различные варианты отчетов, такие как Cost Explorer и CUR, которые помогут вам лучше отслеживать расходы на машинное обучение. Наконец, мы продемонстрировали бюджеты AWS и сводный отчет о бюджете, чтобы помочь вам отслеживать расходы вашей организации на машинное обучение.

Дополнительные сведения о применении и активации тегов распределения затрат см. Пользовательские теги распределения затрат.


Об авторах

Шон МорганШон Морган является архитектором решений AI/ML в AWS. У него есть опыт работы в области полупроводников и академических исследований, и он использует свой опыт, чтобы помочь клиентам достичь своих целей в AWS. В свободное время Шон активно участвует в разработке и сопровождении проектов с открытым исходным кодом, а также является руководителем специальной группы по интересам надстроек TensorFlow.

Настройте распределение затрат на уровне предприятия для сред и рабочих нагрузок машинного обучения с помощью тегов ресурсов в Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Брент Рабовски фокусируется на науке данных в AWS и использует свой опыт, чтобы помочь клиентам AWS в их собственных проектах по науке данных.

Настройте распределение затрат на уровне предприятия для сред и рабочих нагрузок машинного обучения с помощью тегов ресурсов в Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Нилеш Шетти работает старшим техническим менеджером по работе с клиентами в AWS, где он помогает клиентам поддержки предприятий оптимизировать свои облачные операции в AWS. Он увлечен машинным обучением и имеет опыт работы консультантом, архитектором и разработчиком. Вне работы он любит слушать музыку и смотреть спортивные передачи.

Настройте распределение затрат на уровне предприятия для сред и рабочих нагрузок машинного обучения с помощью тегов ресурсов в Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Джеймс Ву является старшим специалистом по архитектуре решений AI/ML в AWS. помогая клиентам разрабатывать и создавать решения AI/ML. Работа Джеймса охватывает широкий спектр вариантов использования машинного обучения, в первую очередь интересуясь компьютерным зрением, глубоким обучением и масштабированием машинного обучения на предприятии. До прихода в AWS Джеймс более 10 лет был архитектором, разработчиком и руководителем технологий, в том числе 6 лет в области проектирования и 4 года в сфере маркетинга и рекламы.

Отметка времени:

Больше от Машинное обучение AWS