Sett opp kostnadsfordeling på bedriftsnivå for ML-miljøer og arbeidsbelastninger ved å bruke ressurstagging i Amazon SageMaker PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Konfigurer kostnadsfordeling på bedriftsnivå for ML-miljøer og arbeidsbelastninger ved å bruke ressurstagging i Amazon SageMaker

Ettersom bedrifter og IT-ledere ser etter å akselerere bruken av maskinlæring (ML), er det et økende behov for å forstå forbruk og kostnadsfordeling for ML-miljøet ditt for å møte bedriftens krav. Uten riktig kostnadsstyring og styring kan ML-forbruket ditt føre til overraskelser i den månedlige AWS-regningen din. Amazon SageMaker er en fullstendig administrert ML-plattform i skyen som utstyrer våre bedriftskunder med verktøy og ressurser for å etablere kostnadsfordelingstiltak og forbedre innsyn i detaljerte kostnader og bruk av teamene, forretningsenhetene, produktene og mer.

I dette innlegget deler vi tips og beste praksis angående kostnadsfordeling for ditt SageMaker-miljø og arbeidsbelastninger. På tvers av nesten alle AWS-tjenester, inkludert SageMaker, er det å bruke tagger på ressurser en standard måte å spore kostnader på. Disse taggene kan hjelpe deg med å spore, rapportere og overvåke ML-forbruket ditt gjennom ferdige løsninger som AWS Cost Explorer og AWS-budsjetter, samt tilpassede løsninger bygget på dataene fra AWS kostnads- og bruksrapporter (CURs).

Tagging av kostnadsfordeling

Kostnadsfordeling på AWS er ​​en tre-trinns prosess:

  1. Fest kostnadsfordelingskoder til ressursene dine.
  2. Aktiver taggene dine i Tagger for kostnadsfordeling delen av AWS Billing-konsollen.
  3. Bruk kodene til å spore og filtrere for kostnadsfordelingsrapportering.

Etter at du har opprettet og festet tagger til ressurser, vises de i AWS Billing-konsollen Tagger for kostnadsfordeling seksjonen under Brukerdefinerte tagger for kostnadsfordeling. Det kan ta opptil 24 timer før tagger vises etter at de er opprettet. Du må deretter aktivere disse taggene for AWS for å begynne å spore dem for ressursene dine. Etter at en tag er aktivert, tar det vanligvis omtrent 24–48 timer før taggene vises i Cost Explorer. Den enkleste måten å sjekke om taggene dine fungerer på, er å se etter den nye taggen din i kodefilteret i Cost Explorer. Hvis den er der, er du klar til å bruke kodene for kostnadsfordelingsrapportering. Du kan deretter velge å gruppere resultatene dine etter tag-nøkler eller filtrere etter tag-verdier, som vist i følgende skjermbilde.

Sett opp kostnadsfordeling på bedriftsnivå for ML-miljøer og arbeidsbelastninger ved å bruke ressurstagging i Amazon SageMaker PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

En ting å merke seg: hvis du bruker AWS organisasjoner og har koblet AWS-kontoer, kan tagger bare aktiveres i den primære betalerkontoen. Alternativt kan du også aktivere CUR-er for AWS-kontoene som aktiverer kostnadsfordelingsrapporter som en CSV-fil med bruken din og kostnadene gruppert etter dine aktive tagger. Dette gir deg mer detaljert sporing av kostnadene dine og gjør det enklere å sette opp dine egne tilpassede rapporteringsløsninger.

Tagging i SageMaker

På et høyt nivå kan tagging av SageMaker-ressurser grupperes i to bøtter:

  • Merking av SageMaker bærbare miljø, heller Amazon SageMaker Studio domener og domenebrukere, eller SageMaker notebook-forekomster
  • Merking av SageMaker-administrerte jobber (merking, prosessering, opplæring, hyperparameterinnstilling, batchtransformasjon og mer) og ressurser (som modeller, arbeidsteam, endepunktkonfigurasjoner og endepunkter)

Vi dekker disse mer detaljert i dette innlegget og gir noen løsninger på hvordan man bruker styringskontroll for å sikre god merkehygiene.

Tagging av SageMaker Studio-domener og brukere

Studio er et nettbasert, integrert utviklingsmiljø (IDE) for ML som lar deg bygge, trene, feilsøke, distribuere og overvåke ML-modellene dine. Du kan starte Studio-notatbøker raskt og dynamisk ringe opp eller ned de underliggende dataressursene uten å avbryte arbeidet ditt.

For å automatisk merke disse dynamiske ressursene, må du tilordne tagger til SageMaker-domene og domenebrukere som får tilgang til disse ressursene. Du kan spesifisere disse taggene i tags-parameteren til opprette-domene or opprette-bruker-profil under opprettelse av profil eller domene, eller du kan legge dem til senere ved å bruke Legg til merkelapper API. Studio kopierer automatisk og tildeler disse taggene til Studio-notatbøkene som er opprettet i domenet eller av de spesifikke brukerne. Du kan også legge til tagger til SageMaker-domener ved å redigere domeneinnstillingene i Studio-kontrollpanelet.

Følgende er et eksempel på å tilordne tagger til profilen under opprettelsen.

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 å merke eksisterende domener og brukere, bruk add-tags API. Kodene blir deretter brukt på eventuelle nye notatbøker. For å få disse taggene brukt på de eksisterende notatbøkene dine, må du starte Studio-appen på nytt (Kernel Gateway og Jupyter Server) som tilhører den brukerprofilen. Dette vil ikke føre til tap i bærbare data. Viser til dette Slå av og oppdater SageMaker Studio- og Studio-apper for å lære hvordan du sletter og starter Studio-appene dine på nytt.

Sett opp kostnadsfordeling på bedriftsnivå for ML-miljøer og arbeidsbelastninger ved å bruke ressurstagging i Amazon SageMaker PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Merking av SageMaker-notebook-forekomster

Når det gjelder en SageMaker notatbokforekomst, brukes tagging på selve forekomsten. Taggene tildeles alle ressurser som kjører i samme forekomst. Du kan spesifisere tagger programmatisk ved å bruke tags-parameteren i opprette-notatbok-forekomst API eller legg dem til via SageMaker-konsollen under oppretting av forekomster. Du kan også legge til eller oppdatere tagger når som helst ved å bruke Legg til merkelapper API eller via SageMaker-konsollen.

Merk at dette ekskluderer SageMaker-administrerte jobber og ressurser som opplærings- og behandlingsjobber fordi de er i tjenestemiljøet i stedet for på forekomsten. I den neste delen går vi over hvordan du bruker tagging på disse ressursene mer detaljert.

Tagging SageMaker administrerte jobber og ressurser

For SageMaker administrerte jobber og ressurser, må tagging brukes på tags attributt som en del av hver API-forespørsel. An SKLearnProcessor eksempel er illustrert i følgende kode. Du kan finne flere eksempler på hvordan du tildeler tagger til andre SageMaker-administrerte jobber og ressurser 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)

Merking av SageMaker-rørledninger

Når det gjelder SageMaker-rørledninger, kan du merke hele rørledningen som en helhet i stedet for hvert enkelt trinn. SageMaker-rørledningen sprer automatisk taggene til hvert rørledningstrinn. Du har fortsatt muligheten til å legge til flere separate tagger til individuelle trinn om nødvendig. I Studio-grensesnittet vises pipeline-taggene i metadata-delen.

Sett opp kostnadsfordeling på bedriftsnivå for ML-miljøer og arbeidsbelastninger ved å bruke ressurstagging i Amazon SageMaker PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

For å bruke tagger på en pipeline, bruk SageMaker Python SDK:

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

Håndhev tagging ved hjelp av IAM-policyer

Selv om tagging er en effektiv mekanisme for å implementere skyhåndterings- og styringsstrategier, kan det være utfordrende å håndheve riktig taggetferd hvis du bare overlater det til sluttbrukerne. Hvordan forhindrer du opprettelse av ML-ressurser hvis en spesifikk tag mangler, hvordan sikrer du at de riktige taggene brukes, og hvordan forhindrer du brukere i å slette eksisterende tagger?

Du kan oppnå dette ved hjelp av AWS identitets- og tilgangsadministrasjon (IAM) retningslinjer. Følgende kode er et eksempel på en policy som forhindrer SageMaker-handlinger som f.eks CreateDomain or CreateNotebookInstance hvis forespørselen ikke inneholder miljønøkkelen og en av listeverdiene. De ForAllValues modifikator med aws:TagKeys tilstandsnøkkelen indikerer at bare nøkkelen environment er tillatt i forespørselen. Dette hindrer brukere i å inkludere andre nøkler, for eksempel ved et uhell Environment istedenfor 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-retningslinjer og retningslinjer for tjenestekontroll (SCP-er) kan også være en god måte å standardisere oppretting og merking av ML-ressursene dine. For mer informasjon om hvordan du implementerer en taggingstrategi som håndhever og validerer tagging på organisasjonsnivå, se Kostnadsfordelingsbloggserie #3: Håndheve og validere AWS-ressurstagger.

Rapportering av kostnadsfordeling

Du kan se taggene ved å filtrere visningene på Cost Explorer, se en månedlig kostnadsfordelingsrapport, eller ved å undersøke CUR.

Visualisere tagger i Cost Explorer

Cost Explorer er et verktøy som lar deg se og analysere kostnadene og bruken. Du kan utforske bruken din og kostnadene ved å bruke hovedgrafen: kostnads- og bruksrapportene for kostnadsutforsker. For en rask video om hvordan du bruker Cost Explorer, sjekk ut Hvordan kan jeg bruke Cost Explorer til å analysere utgifter og bruk?

Med Cost Explorer kan du filtrere hvordan du ser AWS-kostnadene dine etter tagger. Gruppe av lar oss filtrere ut resultater etter tag-nøkler som f.eks Environment, Deploymenteller Cost Center. Tag-filteret hjelper oss å velge verdien vi ønsker uavhengig av nøkkelen. Eksempler inkluderer Production og Staging. Husk at du må kjøre ressursene etter å ha lagt til og aktivert tagger; ellers vil ikke Cost Explorer ha noen bruksdata, og kodeverdien vil ikke vises som et filter eller grupper etter alternativ.

Sett opp kostnadsfordeling på bedriftsnivå for ML-miljøer og arbeidsbelastninger ved å bruke ressurstagging i Amazon SageMaker PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Følgende skjermbilde er et eksempel på filtrering etter alle verdiene til BusinessUnit tag.

Sett opp kostnadsfordeling på bedriftsnivå for ML-miljøer og arbeidsbelastninger ved å bruke ressurstagging i Amazon SageMaker PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Undersøker tagger i CUR

Kostnads- og bruksrapporten inneholder det mest omfattende settet med tilgjengelige kostnads- og bruksdata. Rapporten inneholder linjeelementer for hver unike kombinasjon av AWS-produkt, brukstype og operasjon som AWS-kontoen din bruker. Du kan tilpasse CUR for å samle informasjonen enten per time eller dag. En månedlig kostnadsfordelingsrapport er én måte å sette opp kostnadsfordelingsrapportering på. Du kan sette opp en månedlig kostnadsfordelingsrapport som viser AWS-bruken for kontoen din etter produktkategori og koblet kontobruker. Rapporten inneholder de samme linjeelementene som detaljert faktureringsrapport og flere kolonner for tagnøklene dine. Du kan konfigurere den og laste ned rapporten ved å følge trinnene i Månedlig kostnadsfordelingsrapport.

Følgende skjermbilde viser hvordan brukerdefinerte merkenøkler vises i CUR. Brukerdefinerte taggnøkler har prefikset user, Eksempel user:Department og user:CostCenter. AWS-genererte tag-nøkler har prefikset aws.

Sett opp kostnadsfordeling på bedriftsnivå for ML-miljøer og arbeidsbelastninger ved å bruke ressurstagging i Amazon SageMaker PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Visualiser CUR ved hjelp av Amazon Athena og Amazon QuickSight

Amazonas Athena er en interaktiv spørringstjeneste som gjør det enkelt å analysere data i Amazon S3 ved hjelp av standard SQL. Athena er serverløs, så det er ingen infrastruktur å administrere, og du betaler kun for spørringene du kjører. For å integrere Athena med CURer, se Spørre kostnads- og bruksrapporter ved hjelp av Amazon Athena. Du kan deretter bygge egendefinerte spørringer for å spørre etter CUR-data ved hjelp av standard SQL. Følgende skjermbilde er et eksempel på en spørring for å filtrere alle ressurser som har verdien TF2WorkflowTraining for cost-center tag.

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

I det følgende eksempelet prøver vi å finne ut hvilke ressurser som mangler verdier 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'

Mer informasjon og eksempelspørsmål finner du i AWS CUR spørringsbibliotek.

Du kan også mate CUR-data inn Amazon QuickSight, hvor du kan skjære den i skiver og terninger slik du vil for rapportering eller visualiseringsformål. For instruksjoner om inntak av CUR-data i QuickSight, se Hvordan inntar og visualiserer jeg AWS Cost and Usage Report (CUR) i Amazon QuickSight.

Budsjettovervåking ved hjelp av tagger

AWS-budsjetter er en utmerket måte å gi en tidlig advarsel hvis forbrukstopper uventet. Du kan opprette egendefinerte budsjetter som varsler deg når ML-kostnadene og -bruken overstiger (eller antas å overskride) de brukerdefinerte tersklene. Med AWS-budsjetter kan du overvåke de totale månedlige ML-kostnadene eller filtrere budsjettene dine for å spore kostnader knyttet til spesifikke bruksdimensjoner. Du kan for eksempel angi budsjettomfanget til å inkludere SageMaker-ressurskostnader merket som cost-center: ML-Marketing, som vist i følgende skjermbilde. For ytterligere dimensjoner og detaljerte instruksjoner om hvordan du setter opp AWS-budsjetter, se her..

Sett opp kostnadsfordeling på bedriftsnivå for ML-miljøer og arbeidsbelastninger ved å bruke ressurstagging i Amazon SageMaker PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Med budsjettvarsler, kan du sende varsler når budsjettgrensene dine er (eller er i ferd med å bli) overskredet. Disse varslene kan også sendes til en Amazon enkel varslingstjeneste (Amazon SNS) emne. An AWS Lambda funksjonen som abonnerer på SNS-emnet blir deretter påkalt, og alle programmatisk implementerbare handlinger kan utføres.

AWS Budgets lar deg også konfigurere budsjetthandlinger, som er trinn du kan ta når en budsjettterskel overskrides (faktiske eller anslåtte beløp). Dette kontrollnivået lar deg redusere utilsiktet overforbruk på kontoen din. Du kan konfigurere spesifikke svar på kostnader og bruk i kontoen din som vil bli brukt automatisk eller gjennom en godkjenningsprosess for arbeidsflyt når et budsjettmål er overskredet. Dette er en veldig kraftig løsning for å sikre at ML-utgiftene dine stemmer overens med virksomhetens mål. Du kan velge hvilken type handling som skal utføres. For eksempel, når en budsjettterskel krysses, kan du flytte spesifikke IAM-brukere fra administratortillatelser til skrivebeskyttet. For kunder som bruker organisasjoner, kan du bruke handlinger på en hel organisasjonsenhet ved å flytte dem fra admin til skrivebeskyttet. For mer informasjon om hvordan du administrerer kostnader ved hjelp av budsjetthandlinger, se Slik håndterer du kostnadsoverskridelser i ditt AWS-multikontomiljø – Del 1.

Du kan også sette opp en rapport for å overvåke ytelsen til de eksisterende budsjettene dine på en daglig, ukentlig eller månedlig tråkkfrekvens og levere den rapporten til opptil 50 e-postadresser. Med AWS Budgets rapporterer, kan du kombinere alle SageMaker-relaterte budsjetter i én enkelt rapport. Denne funksjonen lar deg spore SageMaker-fotavtrykket ditt fra et enkelt sted, som vist i følgende skjermbilde. Du kan velge å motta disse rapportene på en daglig, ukentlig eller månedlig tråkkfrekvens (jeg har valgt Ukentlig for dette eksemplet), og velg ukedagen du vil motta dem.

Denne funksjonen er nyttig for å holde interessentene dine oppdatert med SageMaker-kostnadene og -bruken, og hjelpe dem med å se når forbruket ikke trender som forventet.

Sett opp kostnadsfordeling på bedriftsnivå for ML-miljøer og arbeidsbelastninger ved å bruke ressurstagging i Amazon SageMaker PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Etter at du har konfigurert denne konfigurasjonen, bør du motta en e-post som ligner på følgende.

Sett opp kostnadsfordeling på bedriftsnivå for ML-miljøer og arbeidsbelastninger ved å bruke ressurstagging i Amazon SageMaker PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

konklusjonen

I dette innlegget viste vi hvordan du kan sette opp tagging av kostnadsfordeling for SageMaker og delte tips om beste fremgangsmåter for tagging for SageMaker-miljøet og arbeidsbelastningene. Deretter diskuterte vi ulike rapporteringsalternativer som Cost Explorer og CUR for å hjelpe deg med å forbedre oversikten over ML-forbruket ditt. Til slutt demonstrerte vi AWS-budsjetter og budsjettsammendragsrapporten for å hjelpe deg med å overvåke ML-forbruket til organisasjonen din.

For mer informasjon om bruk og aktivering av kostnadsfordelingskoder, se Brukerdefinerte kostnadsfordelingskoder.


Om forfatterne

Sean MorganSean Morgan er AI/ML Solutions Architect hos AWS. Han har erfaring innen halvleder- og akademisk forskningsfelt, og bruker sin erfaring til å hjelpe kundene med å nå sine mål på AWS. På fritiden er Sean en aktiv bidragsyter og vedlikeholder av åpen kildekode, og er spesialinteressegruppeleder for TensorFlow-tillegg.

Sett opp kostnadsfordeling på bedriftsnivå for ML-miljøer og arbeidsbelastninger ved å bruke ressurstagging i Amazon SageMaker PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Brent Rabowsky fokuserer på datavitenskap hos AWS, og utnytter sin ekspertise for å hjelpe AWS-kunder med sine egne datavitenskapelige prosjekter.

Sett opp kostnadsfordeling på bedriftsnivå for ML-miljøer og arbeidsbelastninger ved å bruke ressurstagging i Amazon SageMaker PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Nilesh Shetty er som Senior Technical Account Manager hos AWS, hvor han hjelper bedriftsstøttekunder å strømlinjeforme skydriften deres på AWS. Han brenner for maskinlæring og har erfaring med å jobbe som rådgiver, arkitekt og utvikler. Utenom jobben liker han å høre på musikk og se på sport.

Sett opp kostnadsfordeling på bedriftsnivå for ML-miljøer og arbeidsbelastninger ved å bruke ressurstagging i Amazon SageMaker PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.James Wu er senior AI/ML spesialistløsningsarkitekt hos AWS. hjelpe kunder med å designe og bygge AI/ML-løsninger. James sitt arbeid dekker et bredt spekter av ML-brukstilfeller, med en primær interesse for datasyn, dyp læring og skalering av ML på tvers av bedriften. Før han begynte i AWS, var James arkitekt, utvikler og teknologileder i over 10 år, inkludert 6 år innen ingeniørfag og 4 år i markedsførings- og reklamebransjen.

Tidstempel:

Mer fra AWS maskinlæring