Forbedre styringen af ​​dine maskinlæringsmodeller med Amazon SageMaker PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Forbedre styringen af ​​dine maskinlæringsmodeller med Amazon SageMaker

Efterhånden som virksomheder i stigende grad anvender maskinlæring (ML) til deres almindelige virksomhedsapplikationer, bliver flere af deres forretningsbeslutninger påvirket af ML-modeller. Som et resultat af dette, at have forenklet adgangskontrol og øget gennemsigtighed på tværs af alle dine ML-modeller gør det nemmere at validere, at dine modeller klarer sig godt og tage handling, når de ikke gør det.

I dette indlæg undersøger vi, hvordan virksomheder kan forbedre synlighed i deres modeller med centraliserede dashboards og detaljeret dokumentation af deres modeller ved hjælp af to nye funktioner: SageMaker Model Cards og SageMaker Model Dashboard. Begge disse funktioner er tilgængelige uden ekstra omkostninger for SageMaker-kunder.

Oversigt over modelstyring

Modelstyring er en ramme, der giver systematisk synlighed i modeludvikling, validering og brug. Modelstyring er anvendelig på tværs af end-to-end ML-arbejdsgangen, fra identifikation af ML-brugssagen til løbende overvågning af en implementeret model gennem advarsler, rapporter og dashboards. En velimplementeret modelstyringsramme bør minimere antallet af grænseflader, der kræves for at se, spore og administrere livscyklusopgaver for at gøre det nemmere at overvåge ML-livscyklussen i skala.

I dag investerer organisationer betydelig teknisk ekspertise i at bygge værktøjer til at automatisere store dele af deres styrings- og revisionsproces. For eksempel skal modelbyggere proaktivt registrere modelspecifikationer, såsom påtænkt brug af en model, risikovurdering og præstationskriterier, som en model skal måles i forhold til. Ydermere skal de også registrere observationer om modeladfærd og dokumentere årsagen til, at de tog visse nøglebeslutninger, såsom den objektive funktion, de optimerede modellen i forhold til.

Det er almindeligt for virksomheder at bruge værktøjer som Excel eller e-mail til at fange og dele sådanne modeloplysninger til brug for godkendelser til produktionsbrug. Men efterhånden som omfanget af ML-udvikling øges, kan information let gå tabt eller forlægges, og det bliver hurtigt umuligt at holde styr på disse detaljer. Desuden kan du, efter at disse modeller er implementeret, sammensætte data fra forskellige kilder for at få ende-til-ende synlighed i alle dine modeller, endepunkter, overvågningshistorik og afstamning. Uden sådan en visning kan du nemt miste overblikket over dine modeller, og du er måske ikke klar over, hvornår du skal handle på dem. Dette problem forstærkes i stærkt regulerede industrier, fordi du er underlagt regler, der kræver, at du holder sådanne foranstaltninger på plads.

Efterhånden som mængden af ​​modeller begynder at skalere, kan styring af tilpasset værktøj blive en udfordring og giver organisationer mindre tid til at fokusere på kerneforretningens behov. I de følgende sektioner undersøger vi, hvordan SageMaker Model Cards og SageMaker Model Dashboard kan hjælpe dig med at skalere din styringsindsats.

SageMaker modelkort

Modelkort giver dig mulighed for at standardisere, hvordan modeller dokumenteres, og derved opnå synlighed i en models livscyklus, lige fra design, bygning, træning og evaluering. Modelkort er beregnet til at være en enkelt kilde til sandhed for forretningsmæssige og tekniske metadata om modellen, som pålideligt kan bruges til revisions- og dokumentationsformål. De giver et faktaark af modellen, der er vigtig for modelstyring.

Modelkort giver brugerne mulighed for at oprette og gemme beslutninger, såsom hvorfor en objektiv funktion blev valgt til optimering, og detaljer såsom tilsigtet brug og risikovurdering. Du kan også vedhæfte og gennemgå evalueringsresultater og notere observationer til fremtidig reference.

For modeller, der er trænet på SageMaker, kan modelkort opdage og automatisk udfylde detaljer såsom træningsjob, træningsdatasæt, modelartefakter og inferensmiljø og derved accelerere processen med at skabe kortene. Med SageMaker Python SDK kan du problemfrit opdatere modelkortet med evalueringsmetrikker.

Modelkort giver modelrisikomanagere, dataforskere og ML-ingeniører mulighed for at udføre følgende opgaver:

  • Dokumenter modelkrav såsom risikovurdering, påtænkt brug, begrænsninger og forventet ydeevne
  • Auto-udfyld modelkort til SageMaker trænede modeller
  • Medbring din egen info (BYOI) for ikke-SageMaker-modeller
  • Upload og del model- og dataevalueringsresultater
  • Definer og indfang tilpassede oplysninger
  • Optag modelkortstatus (udkast, afventer gennemgang eller godkendt til produktion)
  • Få adgang til modelkorthubben fra AWS Management Console
  • Opret, rediger, se, eksporter, klon og slet modelkort
  • Udløs arbejdsgange ved hjælp af Amazon Eventbridge integration til modelkortstatusændringshændelser

Opret SageMaker-modelkort ved hjælp af konsollen

Du kan nemt oprette modelkort ved hjælp af SageMaker-konsollen. Her kan du se alle de eksisterende Modelkort og oprette nye efter behov.

Når du opretter et modelkort, kan du dokumentere kritiske modeloplysninger, såsom hvem der har bygget modellen, hvorfor den blev udviklet, hvordan den fungerer til uafhængige evalueringer og eventuelle observationer, der skal overvejes, før du bruger modellen til en forretningsapplikation.

For at oprette et modelkort på konsollen skal du udføre følgende trin:

  1. Indtast modeloversigtsdetaljer.
  2. Indtast træningsdetaljer (automatisk udfyldt, hvis modellen blev trænet på SageMaker).
  3. Upload evalueringsresultater.
  4. Tilføj yderligere detaljer såsom anbefalinger og etiske overvejelser.

Når du har oprettet modelkortet, kan du vælge en version for at se det.

Forbedre styringen af ​​dine maskinlæringsmodeller med Amazon SageMaker PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Følgende skærmbillede viser detaljerne for vores modelkort.

Forbedre styringen af ​​dine maskinlæringsmodeller med Amazon SageMaker PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Du kan også eksportere modelkortet for at blive delt som en PDF.

Forbedre styringen af ​​dine maskinlæringsmodeller med Amazon SageMaker PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Opret og udforsk SageMaker-modelkort gennem SageMaker Python SDK

Interaktion med modelkort er ikke begrænset til konsollen. Du kan også bruge SageMaker Python SDK til at oprette og udforske modelkort. SageMaker Python SDK giver datavidenskabsfolk og ML-ingeniører mulighed for nemt at interagere med SageMaker-komponenter. Følgende kodestykker viser processen til at oprette et modelkort ved hjælp af den nyligt tilføjede SageMaker Python SDK-funktionalitet.

Sørg for, at du har den seneste version af SageMaker Python SDK installeret:

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

Når du har trænet og implementeret en model ved hjælp af SageMaker, kan du bruge oplysningerne fra SageMaker-modellen og træningsjobbet til automatisk at udfylde oplysninger på modelkortet.

Ved at bruge SageMaker Python SDK og videregive SageMaker-modelnavnet kan vi automatisk indsamle grundlæggende modeloplysninger. Information såsom SageMaker-modellen ARN, træningsmiljø og modeloutput Amazon Simple Storage Service (Amazon S3) placering udfyldes automatisk. Vi kan tilføje andre modelfakta, såsom beskrivelse, problemtype, algoritmetype, modelskaber og ejer. 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 indsamle grundlæggende træningsoplysninger som træningsjob ARN, træningsmiljø og træningsmålinger. Yderligere træningsdetaljer kan tilføjes, såsom træningsmålfunktion og observationer. 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 tilgængelige evalueringsmetrikker, kan vi også tilføje dem til modelkortet:

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å tilføje yderligere oplysninger om modellen, der kan hjælpe med modelstyring:

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"},
)

Efter at vi har givet alle de detaljer, vi har brug for, kan vi oprette modelkortet ved hjælp af den foregående konfiguration:

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 giver også mulighed for at opdatere, indlæse, liste, eksportere og slette et modelkort.

For at lære mere om modelkort, se udviklervejledning og følg denne eksempel notesbog for at komme i gang.

SageMaker Model Dashboard

Modeldashboardet er et centraliseret lager af alle modeller, der er blevet oprettet på kontoen. Modellerne er normalt skabt ved træning på SageMaker, eller du kan medbringe dine modeller, der er trænet et andet sted, for at være vært på SageMaker.

Modeldashboardet giver en enkelt grænseflade til it-administratorer, modelrisikomanagere eller virksomhedsledere for at se alle implementerede modeller, og hvordan de klarer sig. Du kan se dine slutpunkter, batchtransformationsjob og overvågningsjob for at få indsigt i modellens ydeevne. Organisationer kan dykke dybt for at identificere, hvilke modeller der har manglende eller inaktive skærme og tilføje dem ved hjælp af SageMaker API'er for at sikre, at alle modeller kontrolleres for datadrift, modeldrift, biasdrift og funktionstilskrivningsdrift.

Følgende skærmbillede viser et eksempel på Model-dashboardet.

Forbedre styringen af ​​dine maskinlæringsmodeller med Amazon SageMaker PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Model-dashboardet giver et overblik over alle dine modeller, hvad deres risikovurdering er, og hvordan disse modeller klarer sig i produktionen. Det gør det ved at trække information fra hele SageMaker. Ydeevneovervågningsinformationen fanges igennem Amazon SageMaker Model Monitor, og du kan også se oplysninger om modeller, der er påkaldt til batch-forudsigelser gennem SageMaker batch-transformationsjob. Oplysninger om afstamning, såsom hvordan modellen blev trænet, anvendte data og mere, fanges, og oplysninger fra modelkort trækkes også.

Model Monitor overvåger kvaliteten af ​​SageMaker-modeller, der bruges i produktionen til batch-inferens eller real-time slutpunkter. Du kan konfigurere kontinuerlig overvågning eller planlagte skærme via SageMaker API'er og redigere advarselsindstillingerne via Model-dashboardet. Du kan indstille alarmer, der giver dig besked, når der er afvigelser i modelkvaliteten. Tidlig og proaktiv detektering af disse afvigelser sætter dig i stand til at tage korrigerende handlinger, såsom genoptræning af modeller, revision af upstream-systemer eller løsning af kvalitetsproblemer uden at skulle overvåge modeller manuelt eller bygge yderligere værktøj. Model-dashboardet giver dig hurtig indsigt i, hvilke modeller der overvåges, og hvordan de klarer sig. For mere information om Model Monitor, besøg Overvåg modeller for data- og modelkvalitet, bias og forklarlighed.

Når du vælger en model i Model-dashboardet, kan du få dybere indsigt i modellen, såsom modelkortet (hvis et findes), modelafstamning, detaljer om det endepunkt, modellen er blevet implementeret til, og overvågningsplanen for model.

Forbedre styringen af ​​dine maskinlæringsmodeller med Amazon SageMaker PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Denne visning giver dig mulighed for at oprette et modelkort, hvis det er nødvendigt. Overvågningsplanen kan også aktiveres, deaktiveres eller redigeres via Model-dashboardet.

For modeller, der ikke har en overvågningsplan, kan du konfigurere dette ved at aktivere Model Monitor for det slutpunkt, som modellen er blevet implementeret til. Gennem advarslens detaljer og status vil du blive underrettet om modeller, der viser datadrift, modeldrift, bias drift eller funktionsdrift, afhængigt af hvilke skærme du konfigurerer.

Lad os se på et eksempel på, hvordan man opsætter modelovervågning. De vigtigste trin i denne proces er:

  1. Fang data sendt til slutpunktet (eller batchtransformationsjob).
  2. Etabler en baseline (for hver af overvågningstyperne).
  3. Opret en Model Monitor-tidsplan for at sammenligne live-forudsigelserne med basislinjen for at rapportere overtrædelser og udløse advarsler.

Baseret på advarslerne kan du foretage handlinger som at rulle slutpunktet tilbage til en tidligere version eller genoptræne modellen med nye data. Mens du gør dette, kan det være nødvendigt at spore, hvordan modellen blev trænet, hvilket kan gøres ved at visualisere modellens afstamning.

Forbedre styringen af ​​dine maskinlæringsmodeller med Amazon SageMaker PlatoBlockchain Data Intelligence. Lodret søgning. Ai. Forbedre styringen af ​​dine maskinlæringsmodeller med Amazon SageMaker PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Model-dashboardet tilbyder et rigt sæt oplysninger om det overordnede model-økosystem i en konto, foruden muligheden for at bore i de specifikke detaljer i en model. For at lære mere om Model-dashboardet, se udviklervejledning.

Konklusion

Modelstyring er kompleks og involverer ofte en masse tilpassede behov, der er specifikke for en organisation eller en branche. Dette kan være baseret på de lovgivningsmæssige krav, din organisation skal overholde, de typer af personer, der er til stede i organisationen, og de typer modeller, der bruges. Der er ingen ensartet tilgang til styring, og det er vigtigt at have de rigtige værktøjer til rådighed, så en robust styringsproces kan på plads.

Med de specialbyggede ML-styringsværktøjer i SageMaker kan organisationer implementere de rigtige mekanismer til at forbedre kontrol og synlighed over ML-projekter til deres specifikke brugssager. Prøv Modelkort og Model-dashboardet, og efterlad dine kommentarer med spørgsmål og feedback. For at lære mere om modelkort og modeldashboardet, se udviklervejledning.


Om forfatterne

Forbedre styringen af ​​dine maskinlæringsmodeller med Amazon SageMaker PlatoBlockchain Data Intelligence. Lodret søgning. Ai.Kirit Thadaka er en ML Solutions Architect, der arbejder i SageMaker Service SA-teamet. Før Kirit kom til AWS, arbejdede Kirit i AI-startups i tidlige stadier efterfulgt af nogen tid med rådgivning i forskellige roller inden for AI-forskning, MLOps og teknisk ledelse.

Forbedre styringen af ​​dine maskinlæringsmodeller med Amazon SageMaker PlatoBlockchain Data Intelligence. Lodret søgning. Ai.Marc Karp er ML-arkitekt hos SageMaker Service-teamet. Han fokuserer på at hjælpe kunder med at designe, implementere og administrere ML-arbejdsbelastninger i stor skala. I sin fritid nyder han at rejse og udforske nye steder.

Forbedre styringen af ​​dine maskinlæringsmodeller med Amazon SageMaker PlatoBlockchain Data Intelligence. Lodret søgning. Ai.Raghu Ramesha er en ML Solutions Architect hos Amazon SageMaker Service-teamet. Han fokuserer på at hjælpe kunder med at opbygge, implementere og migrere ML-produktionsarbejdsbelastninger til SageMaker i stor skala. Han har specialiseret sig i maskinlæring, kunstig intelligens og computersyn og har en mastergrad i datalogi fra UT Dallas. I sin fritid nyder han at rejse og fotografere.

Forbedre styringen af ​​dine maskinlæringsmodeller med Amazon SageMaker PlatoBlockchain Data Intelligence. Lodret søgning. Ai.Ram Vittal er ML Specialist Solutions Architect hos AWS. Han har over 20 års erfaring med at arkitekte og bygge distribuerede, hybride og cloud-applikationer. Han brænder for at bygge sikker og skalerbar AI/ML og big data-løsninger for at hjælpe virksomhedskunder med deres cloud-adoption og optimeringsrejse for at forbedre deres forretningsresultater. I sin fritid nyder han tennis, fotografering og actionfilm.

Forbedre styringen af ​​dine maskinlæringsmodeller med Amazon SageMaker PlatoBlockchain Data Intelligence. Lodret søgning. Ai.Sahil Saini er en ISV Solution Architect hos Amazon Web Services. Han arbejder med AWS strategiske kunders produkt- og ingeniørteams for at hjælpe dem med teknologiløsninger, der bruger AWS-tjenester til AI/ML, Containere, HPC og IoT. Han har hjulpet med at opsætte AI/ML platforme til virksomhedskunder.

Tidsstempel:

Mere fra AWS maskinindlæring