Konfigurer omkostningsallokering på virksomhedsniveau for ML-miljøer og arbejdsbelastninger ved hjælp af ressourcetagging i Amazon SageMaker PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Konfigurer omkostningsallokering på virksomhedsniveau for ML-miljøer og arbejdsbelastninger ved hjælp af ressourcetagging i Amazon SageMaker

Efterhånden som virksomheder og it-ledere søger at fremskynde indførelsen af ​​maskinlæring (ML), er der et voksende behov for at forstå forbrug og omkostningsallokering for dit ML-miljø for at opfylde virksomhedens krav. Uden ordentlig omkostningsstyring og -styring kan dit ML-forbrug føre til overraskelser på din månedlige AWS-regning. Amazon SageMaker er en fuldt administreret ML-platform i skyen, der udstyrer vores virksomhedskunder med værktøjer og ressourcer til at etablere omkostningsallokeringsforanstaltninger og forbedre overblik over detaljerede omkostninger og brug af dine teams, forretningsenheder, produkter og mere.

I dette indlæg deler vi tips og bedste praksis vedrørende omkostningsallokering til dit SageMaker-miljø og arbejdsbelastninger. På tværs af næsten alle AWS-tjenester, inklusive SageMaker, er anvendelse af tags på ressourcer en standard måde at spore omkostninger på. Disse tags kan hjælpe dig med at spore, rapportere og overvåge dit ML-forbrug gennem out-the-box løsninger som AWS Cost Explorer , AWS budgetter, samt tilpassede løsninger bygget på dataene fra AWS omkostnings- og brugsrapporter (CUR'er).

Tagging af omkostningsfordeling

Omkostningsallokering på AWS er ​​en tre-trins proces:

  1. Vedhæft omkostningsfordelingsmærker til dine ressourcer.
  2. Aktiver dine tags i Omkostningsfordelingsmærker sektion af AWS Billing-konsollen.
  3. Brug tags til at spore og filtrere til rapportering af omkostningsfordeling.

Når du har oprettet og vedhæftet tags til ressourcer, vises de i AWS Billing-konsollen Omkostningsfordelingsmærker sektion under Brugerdefinerede omkostningsfordelingstags. Det kan tage op til 24 timer, før tags vises, efter de er oprettet. Du skal derefter aktivere disse tags for AWS for at begynde at spore dem for dine ressourcer. Efter et tag er aktiveret, tager det typisk omkring 24-48 timer, før taggene vises i Cost Explorer. Den nemmeste måde at kontrollere, om dine tags virker, er at lede efter dit nye tag i tags-filteret i Cost Explorer. Hvis det er der, så er du klar til at bruge tags til din omkostningsfordelingsrapportering. Du kan derefter vælge at gruppere dine resultater efter tag-nøgler eller filtrere efter tag-værdier, som vist på det følgende skærmbillede.

Konfigurer omkostningsallokering på virksomhedsniveau for ML-miljøer og arbejdsbelastninger ved hjælp af ressourcetagging i Amazon SageMaker PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

En ting at bemærke: hvis du bruger AWS-organisationer og har tilknyttet AWS-konti, kan tags kun aktiveres på den primære betalerkonto. Du kan valgfrit også aktivere CUR'er for AWS-konti, der aktiverer omkostningsfordelingsrapporter som en CSV-fil med dit forbrug og dine omkostninger grupperet efter dine aktive tags. Dette giver dig mere detaljeret sporing af dine omkostninger og gør det nemmere at opsætte dine egne tilpassede rapporteringsløsninger.

Tagging i SageMaker

På et højt niveau kan tagging SageMaker-ressourcer grupperes i to buckets:

  • Tagging af SageMaker notebook-miljøet, enten Amazon SageMaker Studio domæner og domænebrugere eller SageMaker notebook-forekomster
  • Tagging af SageMaker-administrerede job (mærkning, bearbejdning, træning, hyperparameterjustering, batchtransformation og mere) og ressourcer (såsom modeller, arbejdsteams, slutpunktskonfigurationer og slutpunkter)

Vi dækker disse mere detaljeret i dette indlæg og giver nogle løsninger på, hvordan man anvender styringskontrol for at sikre god tagging-hygiejne.

Tagging af SageMaker Studio-domæner og brugere

Studio er et webbaseret, integreret udviklingsmiljø (IDE) til ML, der lader dig bygge, træne, fejlfinde, implementere og overvåge dine ML-modeller. Du kan starte Studio-notebooks hurtigt og dynamisk ringe op eller ned for de underliggende computerressourcer uden at afbryde dit arbejde.

For automatisk at tagge disse dynamiske ressourcer, skal du tildele tags til SageMaker-domænet og domænebrugere, som har tildelt adgang til disse ressourcer. Du kan angive disse tags i tags-parameteren oprette-domæne or oprette-bruger-profil under oprettelse af profil eller domæne, eller du kan tilføje dem senere ved hjælp af Tilføj tags API. Studio kopierer og tildeler automatisk disse tags til Studio-notesbøgerne, der er oprettet i domænet eller af de specifikke brugere. Du kan også tilføje tags til SageMaker-domæner ved at redigere domæneindstillingerne i Studio Kontrolpanel.

Det følgende er et eksempel på tildeling af tags til profilen under oprettelsen.

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

For at tagge eksisterende domæner og brugere skal du bruge add-tags API. Mærkerne påføres derefter alle nye notesbøger. For at få disse tags anvendt på dine eksisterende notebooks, skal du genstarte Studio-appen (Kernel Gateway og Jupyter Server), der hører til den brugerprofil. Dette vil ikke forårsage tab af notebook-data. Henvis til dette Luk ned og opdater SageMaker Studio- og Studio-apps for at lære, hvordan du sletter og genstarter dine Studio-apps.

Konfigurer omkostningsallokering på virksomhedsniveau for ML-miljøer og arbejdsbelastninger ved hjælp af ressourcetagging i Amazon SageMaker PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Tagging af SageMaker notebook-forekomster

I tilfælde af en SageMaker notebook-forekomst anvendes tagging på selve forekomsten. Mærkerne tildeles alle ressourcer, der kører i samme instans. Du kan angive tags programmatisk ved hjælp af tags-parameteren i oprette-notesbog-instans API eller tilføje dem via SageMaker-konsollen under oprettelse af instanser. Du kan også tilføje eller opdatere tags når som helst ved hjælp af Tilføj tags API eller via SageMaker-konsollen.

Bemærk, at dette udelukker SageMaker-administrerede job og ressourcer såsom trænings- og behandlingsjob, fordi de er i servicemiljøet i stedet for på instansen. I det næste afsnit gennemgår vi, hvordan man anvender tagging på disse ressourcer mere detaljeret.

Tagging SageMaker administrerede job og ressourcer

For SageMaker administrerede job og ressourcer skal tagging anvendes på tags attribut som en del af hver API-anmodning. An SKLearnProcessor eksemplet er illustreret i følgende kode. Du kan finde flere eksempler på, hvordan du tildeler tags til andre SageMaker-administrerede job og ressourcer på GitHub repo.

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)

Tagging af SageMaker pipelines

I tilfælde af SageMaker-pipelines kan du tagge hele pipelinen som en helhed i stedet for hvert enkelt trin. SageMaker-pipelinen udbreder automatisk tags til hvert pipelinetrin. Du har stadig mulighed for at tilføje yderligere, separate tags til individuelle trin, hvis det er nødvendigt. I Studio-brugergrænsefladen vises pipeline-tags i metadatasektionen.

Konfigurer omkostningsallokering på virksomhedsniveau for ML-miljøer og arbejdsbelastninger ved hjælp af ressourcetagging i Amazon SageMaker PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

For at anvende tags til en pipeline skal du bruge SageMaker Python SDK:

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

Håndhæv tagging ved hjælp af IAM-politikker

Selvom tagging er en effektiv mekanisme til implementering af cloud management- og styringsstrategier, kan det være en udfordring at håndhæve den rigtige tagging-adfærd, hvis du bare overlader det til slutbrugerne. Hvordan forhindrer du oprettelse af ML-ressourcer, hvis et specifikt tag mangler, hvordan sikrer du, at de rigtige tags anvendes, og hvordan forhindrer du brugere i at slette eksisterende tags?

Du kan opnå dette ved at bruge AWS identitets- og adgangsstyring (IAM) politikker. Følgende kode er et eksempel på en politik, der forhindrer SageMaker-handlinger som f.eks CreateDomain or CreateNotebookInstance hvis anmodningen ikke indeholder miljønøglen og en af ​​listeværdierne. Det ForAllValues modifikator med aws:TagKeys betingelse nøgle angiver, at kun nøglen environment er tilladt i anmodningen. Dette forhindrer brugere i at inkludere andre nøgler, såsom utilsigtet brug Environment i stedet for 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"}
        }
      }

Tag-politikker , servicekontrolpolitikker (SCP'er) kan også være en god måde at standardisere oprettelse og mærkning af dine ML-ressourcer. For mere information om, hvordan man implementerer en taggingstrategi, der håndhæver og validerer tagging på organisationsniveau, henvises til Omkostningsfordelingsblogserie #3: Håndhæv og valider AWS-ressourcetags.

Rapportering af omkostningsfordeling

Du kan se tags ved at filtrere visningerne på Cost Explorer, se en månedlig omkostningsfordelingsrapport, eller ved at undersøge CUR.

Visualisering af tags i Cost Explorer

Cost Explorer er et værktøj, der giver dig mulighed for at se og analysere dine omkostninger og forbrug. Du kan udforske dit forbrug og dine omkostninger ved at bruge hovedgrafen: Cost Explorer omkostnings- og forbrugsrapporterne. Se en hurtig video om, hvordan du bruger Cost Explorer Hvordan kan jeg bruge Cost Explorer til at analysere mit forbrug og mit forbrug?

Med Cost Explorer kan du filtrere, hvordan du ser dine AWS-omkostninger efter tags. Gruppe af giver os mulighed for at filtrere resultater fra tag-nøgler som f.eks Environment, Deployment eller Cost Center. Tag-filteret hjælper os med at vælge den værdi, vi ønsker, uanset nøglen. Eksempler omfatter Production , Staging. Husk, at du skal køre ressourcerne efter at have tilføjet og aktiveret tags; ellers vil Cost Explorer ikke have nogen brugsdata, og tagværdien vil ikke blive vist som et filter eller gruppe efter mulighed.

Konfigurer omkostningsallokering på virksomhedsniveau for ML-miljøer og arbejdsbelastninger ved hjælp af ressourcetagging i Amazon SageMaker PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Følgende skærmbillede er et eksempel på filtrering efter alle værdier af BusinessUnit tag.

Konfigurer omkostningsallokering på virksomhedsniveau for ML-miljøer og arbejdsbelastninger ved hjælp af ressourcetagging i Amazon SageMaker PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Undersøgelse af tags i CUR

Omkostnings- og forbrugsrapporten indeholder det mest omfattende sæt af tilgængelige omkostnings- og forbrugsdata. Rapporten indeholder linjeposter for hver unik kombination af AWS-produkt, brugstype og operation, som din AWS-konto bruger. Du kan tilpasse CUR til at aggregere oplysningerne enten efter time eller dag. En månedlig omkostningsfordelingsrapport er en måde at opsætte omkostningsfordelingsrapportering på. Du kan opsætte en månedlig omkostningsfordelingsrapport der viser AWS-brugen for din konto efter produktkategori og linket kontobruger. Rapporten indeholder de samme linjeposter som detaljeret faktureringsrapport og yderligere kolonner til dine tagnøgler. Du kan konfigurere den og downloade din rapport ved at følge trinene i Månedlig omkostningsfordelingsrapport.

Følgende skærmbillede viser, hvordan brugerdefinerede tag-nøgler vises i CUR. Brugerdefinerede tagnøgler har præfikset user, Såsom user:Department , user:CostCenter. AWS-genererede tagnøgler har præfikset aws.

Konfigurer omkostningsallokering på virksomhedsniveau for ML-miljøer og arbejdsbelastninger ved hjælp af ressourcetagging i Amazon SageMaker PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Visualiser CUR ved hjælp af Amazon Athena og Amazon QuickSight

Amazonas Athena er en interaktiv forespørgselstjeneste, der gør det nemt at analysere data i Amazon S3 ved hjælp af standard SQL. Athena er serverløs, så der er ingen infrastruktur at administrere, og du betaler kun for de forespørgsler, du kører. For at integrere Athena med CUR'er, se Forespørgsel på omkostnings- og brugsrapporter ved hjælp af Amazon Athena. Du kan derefter bygge brugerdefinerede forespørgsler til at forespørge CUR-data ved hjælp af standard SQL. Følgende skærmbillede er et eksempel på en forespørgsel til at filtrere alle ressourcer, der har værdien TF2WorkflowTraining for cost-center tag.

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

I det følgende eksempel forsøger vi at finde ud af, hvilke ressourcer der mangler værdier under cost-center tag.

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'

Mere information og eksempler på forespørgsler kan findes i AWS CUR-forespørgselsbibliotek.

Du kan også indlæse CUR-data Amazon QuickSight, hvor du kan skære og skære den, som du vil, til rapportering eller visualiseringsformål. For instruktioner om indtagelse af CUR-data i QuickSight, se Hvordan indtager og visualiserer jeg AWS Cost and Usage Report (CUR) i Amazon QuickSight.

Budgetovervågning ved hjælp af tags

AWS-budgetter er en glimrende måde at give en tidlig advarsel, hvis forbruget stiger uventet. Du kan oprette tilpassede budgetter, der advarer dig, når dine ML-omkostninger og -forbrug overstiger (eller forventes at overstige) dine brugerdefinerede tærskler. Med AWS Budgets kan du overvåge dine samlede månedlige ML-omkostninger eller filtrere dine budgetter for at spore omkostninger forbundet med specifikke brugsdimensioner. For eksempel kan du indstille budgetomfanget til at inkludere SageMaker-ressourceomkostninger tagget som cost-center: ML-Marketing, som vist på det følgende skærmbillede. For yderligere dimensioner og detaljerede instruktioner om, hvordan du opsætter AWS-budgetter, se link..

Konfigurer omkostningsallokering på virksomhedsniveau for ML-miljøer og arbejdsbelastninger ved hjælp af ressourcetagging i Amazon SageMaker PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Med budgetadvarsler, kan du sende meddelelser, når dine budgetgrænser er (eller er ved at blive) overskredet. Disse advarsler kan også sendes til en Amazon Simple Notification Service (Amazon SNS) emne. An AWS Lambda funktion, der abonnerer på SNS-emnet, aktiveres derefter, og alle programmerbare handlinger kan udføres.

AWS Budgets lader dig også konfigurere budgettiltag, som er trin, du kan tage, når en budgettærskel overskrides (faktiske eller forventede beløb). Dette kontrolniveau giver dig mulighed for at reducere utilsigtet overforbrug på din konto. Du kan konfigurere specifikke svar på omkostninger og brug på din konto, som vil blive anvendt automatisk eller gennem en workflow-godkendelsesproces, når et budgetmål er blevet overskredet. Dette er en virkelig kraftfuld løsning til at sikre, at dit ML-forbrug stemmer overens med virksomhedens mål. Du kan vælge, hvilken type handling du vil foretage. For eksempel, når en budgetgrænse overskrides, kan du flytte specifikke IAM-brugere fra administratortilladelser til skrivebeskyttet. For kunder, der bruger Organisationer, kan du anvende handlinger på en hel organisationsenhed ved at flytte dem fra admin til skrivebeskyttet. For flere detaljer om, hvordan du administrerer omkostninger ved hjælp af budgethandlinger, se Sådan administrerer du omkostningsoverskridelser i dit AWS multi-account miljø – Del 1.

Du kan også oprette en rapport til at overvåge effektiviteten af ​​dine eksisterende budgetter på en daglig, ugentlig eller månedlig kadence og levere denne rapport til op til 50 e-mailadresser. Med AWS Budgets rapporterer, kan du kombinere alle SageMaker-relaterede budgetter i en enkelt rapport. Denne funktion giver dig mulighed for at spore dit SageMaker-fodaftryk fra et enkelt sted, som vist på det følgende skærmbillede. Du kan vælge at modtage disse rapporter på en daglig, ugentlig eller månedlig kadence (jeg har valgt Ugentlig for dette eksempel), og vælg ugedag, hvor du vil modtage dem.

Denne funktion er nyttig til at holde dine interessenter opdateret med dine SageMaker-omkostninger og -brug og hjælpe dem med at se, hvornår forbruget ikke trender som forventet.

Konfigurer omkostningsallokering på virksomhedsniveau for ML-miljøer og arbejdsbelastninger ved hjælp af ressourcetagging i Amazon SageMaker PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Når du har konfigureret denne konfiguration, bør du modtage en e-mail, der ligner følgende.

Konfigurer omkostningsallokering på virksomhedsniveau for ML-miljøer og arbejdsbelastninger ved hjælp af ressourcetagging i Amazon SageMaker PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Konklusion

I dette indlæg viste vi, hvordan du kan konfigurere omkostningsfordelingstagging for SageMaker og delte tips om tagging af bedste praksis for dit SageMaker-miljø og arbejdsbelastninger. Vi diskuterede derefter forskellige rapporteringsmuligheder som Cost Explorer og CUR for at hjælpe dig med at forbedre synligheden af ​​dine ML-udgifter. Til sidst demonstrerede vi AWS-budgetter og budgetoversigtsrapporten for at hjælpe dig med at overvåge ML-forbruget i din organisation.

For mere information om anvendelse og aktivering af omkostningsfordelingstags, se Brugerdefinerede omkostningsfordelingstags.


Om forfatterne

Sean MorganSean Morgan er AI/ML Solutions Architect hos AWS. Han har erfaring inden for halvleder- og akademisk forskning og bruger sin erfaring til at hjælpe kunder med at nå deres mål på AWS. I sin fritid er Sean en aktiv open source-bidragyder og -vedligeholder og er den særlige interessegruppeleder for TensorFlow Add-ons.

Konfigurer omkostningsallokering på virksomhedsniveau for ML-miljøer og arbejdsbelastninger ved hjælp af ressourcetagging i Amazon SageMaker PlatoBlockchain Data Intelligence. Lodret søgning. Ai.Brent Rabowsky fokuserer på data science hos AWS og udnytter sin ekspertise til at hjælpe AWS kunder med deres egne data science projekter.

Konfigurer omkostningsallokering på virksomhedsniveau for ML-miljøer og arbejdsbelastninger ved hjælp af ressourcetagging i Amazon SageMaker PlatoBlockchain Data Intelligence. Lodret søgning. Ai.Nilesh Shetty er som Senior Technical Account Manager hos AWS, hvor han hjælper enterprise support-kunder med at strømline deres cloud-drift på AWS. Han brænder for machine learning og har erfaring med at arbejde som konsulent, arkitekt og udvikler. Uden for arbejdet nyder han at lytte til musik og se sport.

Konfigurer omkostningsallokering på virksomhedsniveau for ML-miljøer og arbejdsbelastninger ved hjælp af ressourcetagging i Amazon SageMaker PlatoBlockchain Data Intelligence. Lodret søgning. Ai.James Wu er Senior AI/ML Specialist Solution Architect hos AWS. hjælpe kunder med at designe og bygge AI/ML-løsninger. James' arbejde dækker en bred vifte af ML use cases med en primær interesse i computervision, deep learning og skalering af ML på tværs af virksomheden. Inden han kom til AWS, var James arkitekt, udvikler og teknologileder i over 10 år, herunder 6 år inden for ingeniørvidenskab og 4 år i marketing- og reklamebranchen.

Tidsstempel:

Mere fra AWS maskinindlæring