Forbedre styringen av maskinlæringsmodellene dine med Amazon SageMaker PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Forbedre styringen av maskinlæringsmodellene dine med Amazon SageMaker

Ettersom bedrifter i økende grad tar i bruk maskinlæring (ML) for sine vanlige bedriftsapplikasjoner, blir flere av deres forretningsbeslutninger påvirket av ML-modeller. Som et resultat av dette, å ha forenklet tilgangskontroll og økt åpenhet på tvers av alle ML-modellene dine, gjør det lettere å validere at modellene dine gir gode resultater og iverksette tiltak når de ikke gjør det.

I dette innlegget utforsker vi hvordan selskaper kan forbedre synligheten i modellene sine med sentraliserte dashboards og detaljert dokumentasjon av modellene deres ved å bruke to nye funksjoner: SageMaker Model Cards og SageMaker Model Dashboard. Begge disse funksjonene er tilgjengelige uten ekstra kostnad for SageMaker-kunder.

Oversikt over modellstyring

Modellstyring er et rammeverk som gir systematisk synlighet i modellutvikling, validering og bruk. Modellstyring er anvendelig på tvers av ende-til-ende ML-arbeidsflyten, fra identifisering av ML-brukstilfeller til kontinuerlig overvåking av en distribuert modell gjennom varsler, rapporter og dashboards. Et godt implementert rammeverk for modellstyring bør minimere antallet grensesnitt som kreves for å vise, spore og administrere livssyklusoppgaver for å gjøre det enklere å overvåke ML-livssyklusen i stor skala.

I dag investerer organisasjoner betydelig teknisk ekspertise i å bygge verktøy for å automatisere store deler av arbeidsflyten for styring og revisjoner. For eksempel må modellbyggere proaktivt registrere modellspesifikasjoner som tiltenkt bruk for en modell, risikovurdering og ytelseskriterier en modell skal måles mot. Videre må de også registrere observasjoner på modellatferd, og dokumentere årsaken til at de tok visse nøkkelbeslutninger som den objektive funksjonen de optimaliserte modellen mot.

Det er vanlig at bedrifter bruker verktøy som Excel eller e-post for å fange opp og dele slik modellinformasjon for bruk i godkjenninger for produksjonsbruk. Men etter hvert som omfanget av ML-utvikling øker, kan informasjon lett gå tapt eller forlegges, og det blir raskt umulig å holde styr på disse detaljene. Videre, etter at disse modellene er distribuert, kan du sette sammen data fra ulike kilder for å få ende-til-ende-synlighet i alle modellene, endepunktene, overvåkingshistorikken og avstamningen. Uten en slik visning kan du lett miste oversikten over modellene dine, og du er kanskje ikke klar over når du trenger å gjøre noe med dem. Dette problemet forsterkes i sterkt regulerte bransjer fordi du er underlagt regelverk som krever at du holder slike tiltak på plass.

Etter hvert som volumet av modeller begynner å skalere, kan administrasjon av tilpasset verktøy bli en utfordring og gir organisasjoner mindre tid til å fokusere på kjernevirksomhetens behov. I de følgende delene utforsker vi hvordan SageMaker-modellkort og SageMaker-modelldashbordet kan hjelpe deg med å skalere styringsinnsatsen din.

SageMaker modellkort

Modellkort lar deg standardisere hvordan modeller er dokumentert, og dermed oppnå synlighet i livssyklusen til en modell, fra design, bygging, opplæring og evaluering. Modellkort er ment å være en enkelt kilde til sannhet for forretningsmessige og tekniske metadata om modellen som pålitelig kan brukes til revisjons- og dokumentasjonsformål. De gir et faktaark over modellen som er viktig for modellstyring.

Modellkort lar brukere skrive og lagre beslutninger som hvorfor en objektiv funksjon ble valgt for optimalisering, og detaljer som tiltenkt bruk og risikovurdering. Du kan også legge ved og gjennomgå evalueringsresultater, og notere ned observasjoner for fremtidig referanse.

For modeller som er trent på SageMaker, kan modellkort oppdage og automatisk fylle ut detaljer som treningsjobb, treningsdatasett, modellartefakter og slutningsmiljø, og dermed akselerere prosessen med å lage kortene. Med SageMaker Python SDK kan du sømløst oppdatere modellkortet med evalueringsverdier.

Modellkort gir modellrisikoledere, dataforskere og ML-ingeniører muligheten til å utføre følgende oppgaver:

  • Dokumenter modellkrav som risikovurdering, tiltenkt bruk, begrensninger og forventet ytelse
  • Auto-utfyll modellkort for SageMaker-trente modeller
  • Ta med din egen info (BYOI) for ikke-SageMaker-modeller
  • Last opp og del modell- og dataevalueringsresultater
  • Definer og fange opp tilpasset informasjon
  • Registrer modellkortstatus (utkast, venter på gjennomgang eller godkjent for produksjon)
  • Få tilgang til modellkorthuben fra AWS-administrasjonskonsoll
  • Opprett, rediger, vis, eksporter, klone og slett modellkort
  • Utløs arbeidsflyter ved hjelp av Amazon EventBridge integrasjon for endringshendelser for modellkortstatus

Lag SageMaker-modellkort ved å bruke konsollen

Du kan enkelt lage modellkort ved å bruke SageMaker-konsollen. Her kan du se alle eksisterende modellkort og lage nye etter behov.

Når du oppretter et modellkort, kan du dokumentere viktig modellinformasjon som hvem som har bygget modellen, hvorfor den ble utviklet, hvordan den fungerer for uavhengige evalueringer og eventuelle observasjoner som må vurderes før du bruker modellen for en forretningsapplikasjon.

For å lage et modellkort på konsollen, fullfør følgende trinn:

  1. Skriv inn modelloversiktsdetaljer.
  2. Angi treningsdetaljer (utfylles automatisk hvis modellen ble trent på SageMaker).
  3. Last opp evalueringsresultater.
  4. Legg til ytterligere detaljer som anbefalinger og etiske hensyn.

Etter at du har opprettet modellkortet, kan du velge en versjon for å se det.

Forbedre styringen av maskinlæringsmodellene dine med Amazon SageMaker PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Følgende skjermbilde viser detaljene til modellkortet vårt.

Forbedre styringen av maskinlæringsmodellene dine med Amazon SageMaker PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Du kan også eksportere modellkortet for å deles som en PDF.

Forbedre styringen av maskinlæringsmodellene dine med Amazon SageMaker PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Lag og utforsk SageMaker-modellkort gjennom SageMaker Python SDK

Samhandling med modellkort er ikke begrenset til konsollen. Du kan også bruke SageMaker Python SDK for å lage og utforske modellkort. SageMaker Python SDK lar dataforskere og ML-ingeniører enkelt samhandle med SageMaker-komponenter. Følgende kodebiter viser frem prosessen for å lage et modellkort ved å bruke den nylig lagt til SageMaker Python SDK-funksjonaliteten.

Sørg for at du har den nyeste versjonen av SageMaker Python SDK installert:

$ pip install --upgrade "sagemaker>=2"

Når du har trent og distribuert en modell ved hjelp av SageMaker, kan du bruke informasjonen fra SageMaker-modellen og opplæringsjobben til å automatisk fylle ut informasjon på modellkortet.

Ved å bruke SageMaker Python SDK og sende SageMaker-modellnavnet, kan vi automatisk samle inn grunnleggende modellinformasjon. Informasjon som SageMaker-modellen ARN, treningsmiljø og modellutgang Amazon enkel lagringstjeneste (Amazon S3) plassering fylles automatisk ut. Vi kan legge til andre modellfakta, for eksempel beskrivelse, problemtype, algoritmetype, modellskaper og eier. Se følgende kode:

model_overview = ModelOverview.from_name(
    model_name=model_name,
    sagemaker_session=sagemaker_session,
    model_description="This is a simple binary classification model used for Model Card demo",
    problem_type="Binary Classification",
    algorithm_type="Logistic Regression",
    model_creator="DEMO-ModelCard",
    model_owner="DEMO-ModelCard",
)
print(model_overview.model_id) # Provides us with the SageMaker Model ARN
print(model_overview.inference_environment.container_image) # Provides us with the SageMaker inference container URI
print(model_overview.model_artifact) # Provides us with the S3 location of the model artifacts

Vi kan også automatisk samle grunnleggende opplæringsinformasjon som treningsjobb ARN, treningsmiljø og treningsmålinger. Ytterligere treningsdetaljer kan legges til, som treningsmålfunksjon og observasjoner. Se følgende kode:

objective_function = ObjectiveFunction(
    function=Function(
        function=ObjectiveFunctionEnum.MINIMIZE,
        facet=FacetEnum.LOSS,
    ),
    notes="This is a example objective function.",
)
training_details = TrainingDetails.from_model_overview(
    model_overview=model_overview,
    sagemaker_session=sagemaker_session,
    objective_function=objective_function,
    training_observations="Additional training observations could be put here."
)

print(training_details.training_job_details.training_arn) # Provides us with the SageMaker Model ARN
print(training_details.training_job_details.training_environment.container_image) # Provides us with the SageMaker training container URI
print([{"name": i.name, "value": i.value} for i in training_details.training_job_details.training_metrics]) # Provides us with the SageMaker Training Job metrics

Hvis vi har tilgjengelige evalueringsberegninger, kan vi også legge til disse på modellkortet:

my_metric_group = MetricGroup(
    name="binary classification metrics",
    metric_data=[Metric(name="accuracy", type=MetricTypeEnum.NUMBER, value=0.5)]
)
evaluation_details = [
    EvaluationJob(
        name="Example evaluation job",
        evaluation_observation="Evaluation observations.",
        datasets=["s3://path/to/evaluation/data"],
        metric_groups=[my_metric_group],
    )
]

Vi kan også legge til tilleggsinformasjon om modellen som kan hjelpe med modellstyring:

intended_uses = IntendedUses(
    purpose_of_model="Test Model Card.",
    intended_uses="Not used except this test.",
    factors_affecting_model_efficiency="No.",
    risk_rating=RiskRatingEnum.LOW,
    explanations_for_risk_rating="Just an example.",
)
additional_information = AdditionalInformation(
    ethical_considerations="You model ethical consideration.",
    caveats_and_recommendations="Your model's caveats and recommendations.",
    custom_details={"custom details1": "details value"},
)

Etter at vi har gitt alle detaljene vi trenger, kan vi lage modellkortet ved å bruke den foregående konfigurasjonen:

model_card_name = "sample-notebook-model-card"
my_card = ModelCard(
    name=model_card_name,
    status=ModelCardStatusEnum.DRAFT,
    model_overview=model_overview,
    training_details=training_details,
    intended_uses=intended_uses,
    evaluation_details=evaluation_details,
    additional_information=additional_information,
    sagemaker_session=sagemaker_session,
)
my_card.create()

SageMaker SDK gir også muligheten til å oppdatere, laste, liste, eksportere og slette et modellkort.

For å lære mer om modellkort, se utviklerveiledning og følg denne eksempel notatbok for å komme i gang.

SageMaker Model Dashboard

Modelldashbordet er et sentralisert oppbevaringssted for alle modeller som er opprettet i kontoen. Modellene lages vanligvis ved å trene på SageMaker, eller du kan ta med modellene dine som er trent andre steder for å være vert for på SageMaker.

Modelldashbordet gir et enkelt grensesnitt for IT-administratorer, modellrisikoledere eller bedriftsledere for å se alle distribuerte modeller og hvordan de presterer. Du kan se endepunktene dine, batch-transformeringsjobber og overvåkingsjobber for å få innsikt i modellens ytelse. Organisasjoner kan dykke dypt for å identifisere hvilke modeller som har manglende eller inaktive skjermer og legge dem til ved hjelp av SageMaker APIer for å sikre at alle modellene blir sjekket for datadrift, modelldrift, skjevhetsdrift og funksjonsattribusjonsdrift.

Følgende skjermbilde viser et eksempel på modelldashbordet.

Forbedre styringen av maskinlæringsmodellene dine med Amazon SageMaker PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Modelldashbordet gir en oversikt over alle modellene dine, hva risikovurderingen deres er, og hvordan disse modellene presterer i produksjon. Den gjør dette ved å hente informasjon fra hele SageMaker. Ytelsesovervåkingsinformasjonen fanges opp gjennom Amazon SageMaker modellmonitor, og du kan også se informasjon om modeller som er påkalt for batch-forutsigelser gjennom SageMaker batch-transformeringsjobber. Avstamningsinformasjon, som hvordan modellen ble trent, data brukt og mer, fanges opp, og informasjon fra modellkort trekkes også.

Model Monitor overvåker kvaliteten på SageMaker-modeller som brukes i produksjon for batch-slutninger eller sanntidsendepunkter. Du kan sette opp kontinuerlig overvåking eller planlagte skjermer via SageMaker APIer, og redigere varslingsinnstillingene gjennom modelldashbordet. Du kan angi varsler som varsler deg når det er avvik i modellkvaliteten. Tidlig og proaktiv oppdagelse av disse avvikene gjør at du kan iverksette korrigerende handlinger, for eksempel omskolering av modeller, revisjon av oppstrømssystemer eller fikse kvalitetsproblemer uten å måtte overvåke modellene manuelt eller bygge ekstra verktøy. Modelldashbordet gir deg rask innsikt i hvilke modeller som overvåkes og hvordan de presterer. For mer informasjon om Model Monitor, besøk Overvåk modeller for data- og modellkvalitet, skjevhet og forklarbarhet.

Når du velger en modell i modelldashbordet, kan du få dypere innsikt i modellen, for eksempel modellkortet (hvis det finnes), modellavstamning, detaljer om endepunktet modellen har blitt distribuert til og overvåkingsplanen for modell.

Forbedre styringen av maskinlæringsmodellene dine med Amazon SageMaker PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Denne visningen lar deg lage et modellkort om nødvendig. Overvåkingsplanen kan aktiveres, deaktiveres eller redigeres også gjennom modelldashbordet.

For modeller som ikke har en overvåkingsplan, kan du sette opp dette ved å aktivere Model Monitor for endepunktet modellen har blitt distribuert til. Gjennom varslingsdetaljene og statusen vil du bli varslet om modeller som viser datadrift, modelldrift, skjevhetsdrift eller funksjonsdrift, avhengig av hvilke monitorer du setter opp.

La oss se på et eksempel på en arbeidsflyt for hvordan du setter opp modellovervåking. Nøkkeltrinnene i denne prosessen er:

  1. Fang data sendt til endepunktet (eller batchtransformasjonsjobben).
  2. Etabler en baseline (for hver av overvåkingstypene).
  3. Opprett en modellovervåkingsplan for å sammenligne livespådommene mot grunnlinjen for å rapportere brudd og utløse varsler.

Basert på varslene kan du utføre handlinger som å rulle tilbake endepunktet til en tidligere versjon eller omskolere modellen med nye data. Mens du gjør dette, kan det være nødvendig å spore hvordan modellen ble trent, noe som kan gjøres ved å visualisere modellens avstamning.

Forbedre styringen av maskinlæringsmodellene dine med Amazon SageMaker PlatoBlockchain Data Intelligence. Vertikalt søk. Ai. Forbedre styringen av maskinlæringsmodellene dine med Amazon SageMaker PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Modelldashbordet tilbyr et rikt sett med informasjon om det generelle modellens økosystem i en konto, i tillegg til muligheten til å se nærmere på de spesifikke detaljene til en modell. For å lære mer om modelldashbordet, se utviklerveiledning.

konklusjonen

Modellstyring er kompleks og involverer ofte mange tilpassede behov spesifikke for en organisasjon eller en bransje. Dette kan være basert på de regulatoriske kravene organisasjonen din må overholde, typene personas som finnes i organisasjonen, og typene modeller som brukes. Det er ingen helhetlig tilnærming til styring, og det er viktig å ha de riktige verktøyene tilgjengelig slik at en robust styringsprosess kan settes på plass.

Med de spesialbygde ML-styringsverktøyene i SageMaker kan organisasjoner implementere de riktige mekanismene for å forbedre kontroll og synlighet over ML-prosjekter for deres spesifikke brukstilfeller. Prøv modellkort og modelldashbordet, og legg igjen kommentarer med spørsmål og tilbakemeldinger. For å lære mer om modellkort og modelldashbordet, se utviklerveiledning.


Om forfatterne

Forbedre styringen av maskinlæringsmodellene dine med Amazon SageMaker PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Kirit Thadaka er en ML Solutions Architect som jobber i SageMaker Service SA-teamet. Før hun begynte i AWS, jobbet Kirit i AI-startups på tidlig stadium, etterfulgt av litt tid med rådgivning i ulike roller innen AI-forskning, MLOps og teknisk ledelse.

Forbedre styringen av maskinlæringsmodellene dine med Amazon SageMaker PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Marc Karp er en ML-arkitekt med SageMaker Service-teamet. Han fokuserer på å hjelpe kunder med å designe, distribuere og administrere ML-arbeidsmengder i stor skala. På fritiden liker han å reise og utforske nye steder.

Forbedre styringen av maskinlæringsmodellene dine med Amazon SageMaker PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Raghu Ramesha er en ML Solutions Architect med Amazon SageMaker Service-teamet. Han fokuserer på å hjelpe kunder med å bygge, distribuere og migrere ML-produksjonsarbeidsmengder til SageMaker i stor skala. Han spesialiserer seg på maskinlæring, AI og datasynsdomener, og har en mastergrad i informatikk fra UT Dallas. På fritiden liker han å reise og fotografere.

Forbedre styringen av maskinlæringsmodellene dine med Amazon SageMaker PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Ram Vittal er en ML Specialist Solutions Architect hos AWS. Han har over 20 års erfaring med å bygge og bygge distribuerte, hybride og skyapplikasjoner. Han brenner for å bygge sikre og skalerbare AI/ML- og big data-løsninger for å hjelpe bedriftskunder med deres skyadopsjon og optimaliseringsreise for å forbedre forretningsresultatene deres. På fritiden liker han tennis, fotografering og actionfilmer.

Forbedre styringen av maskinlæringsmodellene dine med Amazon SageMaker PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Sahil Saini er en ISV Solution Architect hos Amazon Web Services. Han jobber med AWS strategiske kunders produkt- og ingeniørteam for å hjelpe dem med teknologiløsninger som bruker AWS-tjenester for AI/ML, containere, HPC og IoT. Han har vært med på å sette opp AI/ML-plattformer for bedriftskunder.

Tidstempel:

Mer fra AWS maskinlæring