Verbeter het beheer van uw machine learning-modellen met Amazon SageMaker PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Verbeter het beheer van uw machine learning-modellen met Amazon SageMaker

Nu bedrijven steeds vaker machine learning (ML) gebruiken voor hun reguliere bedrijfsapplicaties, worden meer van hun zakelijke beslissingen beïnvloed door ML-modellen. Als gevolg hiervan is het met vereenvoudigde toegangscontrole en verbeterde transparantie voor al uw ML-modellen gemakkelijker om te valideren dat uw modellen goed presteren en actie te ondernemen wanneer dat niet het geval is.

In dit bericht onderzoeken we hoe bedrijven de zichtbaarheid van hun modellen kunnen verbeteren met gecentraliseerde dashboards en gedetailleerde documentatie van hun modellen met behulp van twee nieuwe functies: SageMaker-modelkaarten en het SageMaker-modeldashboard. Beide functies zijn gratis beschikbaar voor SageMaker-klanten.

Overzicht van modelgovernance

Modelbeheer is een raamwerk dat systematisch inzicht geeft in modelontwikkeling, validatie en gebruik. Modelbeheer is van toepassing op de end-to-end ML-workflow, vanaf het identificeren van de ML-use-case tot voortdurende monitoring van een geïmplementeerd model door middel van waarschuwingen, rapporten en dashboards. Een goed geïmplementeerd raamwerk voor modelgovernance moet het aantal interfaces minimaliseren dat nodig is om levenscyclustaken te bekijken, volgen en beheren, zodat het gemakkelijker wordt om de ML-levenscyclus op schaal te bewaken.

Tegenwoordig investeren organisaties aanzienlijke technische expertise in het bouwen van tooling om grote delen van hun governance- en auditability-workflow te automatiseren. Modelbouwers moeten bijvoorbeeld proactief modelspecificaties vastleggen, zoals beoogd gebruik van een model, risicoclassificatie en prestatiecriteria waaraan een model moet worden afgemeten. Bovendien moeten ze ook observaties over het gedrag van het model vastleggen en de reden documenteren waarom ze bepaalde belangrijke beslissingen hebben genomen, zoals de objectieve functie waarvoor ze het model hebben geoptimaliseerd.

Het is gebruikelijk dat bedrijven tools zoals Excel of e-mail gebruiken om dergelijke modelinformatie vast te leggen en te delen voor gebruik bij goedkeuringen voor productiegebruik. Maar naarmate de schaal van ML-ontwikkeling toeneemt, kan informatie gemakkelijk verloren gaan of verkeerd worden geplaatst, en het bijhouden van deze details wordt al snel onhaalbaar. Bovendien kunt u, nadat deze modellen zijn geïmplementeerd, gegevens uit verschillende bronnen samenvoegen om end-to-end inzicht te krijgen in al uw modellen, eindpunten, bewakingsgeschiedenis en afstamming. Zonder een dergelijke weergave kunt u uw modellen gemakkelijk uit het oog verliezen en weet u mogelijk niet wanneer u actie moet ondernemen. Dit probleem wordt nog groter in sterk gereguleerde sectoren, omdat u onderworpen bent aan regelgeving die van u vereist dat u dergelijke maatregelen naleeft.

Naarmate het aantal modellen begint te schalen, kan het beheer van aangepaste tooling een uitdaging worden en krijgen organisaties minder tijd om zich te concentreren op de kernbehoeften van het bedrijf. In de volgende secties onderzoeken we hoe SageMaker-modelkaarten en het SageMaker-modeldashboard u kunnen helpen bij het opschalen van uw governance-inspanningen.

SageMaker-modelkaarten

Met modelkaarten kunt u standaardiseren hoe modellen worden gedocumenteerd, waardoor u inzicht krijgt in de levenscyclus van een model, van ontwerp, bouw, training en evaluatie. Modelkaarten zijn bedoeld als enige bron van waarheid voor zakelijke en technische metadata over het model die op betrouwbare wijze kunnen worden gebruikt voor audit- en documentatiedoeleinden. Ze bieden een factsheet van het model dat belangrijk is voor model governance.

Met modelkaarten kunnen gebruikers beslissingen nemen en opslaan, zoals waarom een ​​objectieve functie is gekozen voor optimalisatie, en details zoals beoogd gebruik en risicoclassificatie. U kunt ook evaluatieresultaten bijvoegen en bekijken, en observaties noteren voor toekomstig gebruik.

Voor modellen die zijn getraind op SageMaker, kunnen modelkaarten details ontdekken en automatisch invullen, zoals trainingstaak, trainingsdatasets, modelartefacten en inferentieomgeving, waardoor het proces van het maken van de kaarten wordt versneld. Met de SageMaker Python SDK kunt u de modelkaart naadloos bijwerken met evaluatiestatistieken.

Modelkaarten bieden modelrisicomanagers, datawetenschappers en ML-engineers de mogelijkheid om de volgende taken uit te voeren:

  • Documenteer modelvereisten zoals risicoclassificatie, beoogd gebruik, beperkingen en verwachte prestaties
  • Modelkaarten automatisch invullen voor door SageMaker getrainde modellen
  • Breng uw eigen info (BYOI) mee voor niet-SageMaker-modellen
  • Upload en deel resultaten van model- en gegevensevaluatie
  • Definieer en leg aangepaste informatie vast
  • Kaartstatus van Capture Model (concept, in afwachting van beoordeling of goedgekeurd voor productie)
  • Toegang tot de modelkaarthub vanuit de AWS-beheerconsole
  • Modelkaarten maken, bewerken, bekijken, exporteren, klonen en verwijderen
  • Activeer workflows met behulp van Amazon EventBridge integratie voor gebeurtenissen die de status van modelkaarten wijzigen

Maak SageMaker-modelkaarten met behulp van de console

U kunt eenvoudig modelkaarten maken met behulp van de SageMaker-console. Hier kun je alle bestaande modelkaarten zien en indien nodig nieuwe maken.

Bij het maken van een modelkaart kunt u essentiële modelinformatie documenteren, zoals wie het model heeft gebouwd, waarom het is ontwikkeld, hoe het presteert voor onafhankelijke evaluaties en eventuele observaties waarmee rekening moet worden gehouden voordat het model voor een bedrijfstoepassing wordt gebruikt.

Voer de volgende stappen uit om een ​​modelkaart op de console te maken:

  1. Voer de details van het modeloverzicht in.
  2. Voer trainingsdetails in (automatisch ingevuld als het model is getraind op SageMaker).
  3. Upload evaluatieresultaten.
  4. Voeg aanvullende details toe, zoals aanbevelingen en ethische overwegingen.

Nadat u de modelkaart hebt gemaakt, kunt u een versie kiezen om deze te bekijken.

Verbeter het beheer van uw machine learning-modellen met Amazon SageMaker PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

De volgende schermafbeelding toont de details van onze modelkaart.

Verbeter het beheer van uw machine learning-modellen met Amazon SageMaker PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

U kunt de te delen modelkaart ook als pdf exporteren.

Verbeter het beheer van uw machine learning-modellen met Amazon SageMaker PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Maak en verken SageMaker-modelkaarten via de SageMaker Python SDK

Interactie met modelkaarten is niet beperkt tot de console. U kunt ook de SageMaker Python SDK gebruiken om modelkaarten te maken en te verkennen. Met de SageMaker Python SDK kunnen datawetenschappers en ML-engineers eenvoudig communiceren met SageMaker-componenten. De volgende codefragmenten laten het proces zien om een ​​modelkaart te maken met behulp van de nieuw toegevoegde SageMaker Python SDK-functionaliteit.

Zorg ervoor dat u de nieuwste versie van de SageMaker Python SDK hebt geïnstalleerd:

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

Nadat u een model met SageMaker hebt getraind en geïmplementeerd, kunt u de informatie van het SageMaker-model en de trainingstaak gebruiken om automatisch informatie op de modelkaart in te vullen.

Door de SageMaker Python SDK te gebruiken en de SageMaker-modelnaam door te geven, kunnen we automatisch basismodelinformatie verzamelen. Informatie zoals het SageMaker-model ARN, trainingsomgeving en modeluitvoer Amazon eenvoudige opslagservice (Amazon S3) locatie wordt allemaal automatisch ingevuld. We kunnen andere modelfeiten toevoegen, zoals beschrijving, probleemtype, algoritmetype, modelmaker en eigenaar. Zie de volgende code:

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

We kunnen ook automatisch basistrainingsinformatie verzamelen, zoals trainingsbaan ARN, trainingsomgeving en trainingsstatistieken. Er kunnen aanvullende trainingsgegevens worden toegevoegd, zoals de functie van het trainingsdoel en observaties. Zie de volgende code:

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

Als we evaluatiestatistieken beschikbaar hebben, kunnen we die ook aan de modelkaart toevoegen:

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],
    )
]

We kunnen ook aanvullende informatie over het model toevoegen die kan helpen bij modelbeheer:

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

Nadat we alle benodigde details hebben verstrekt, kunnen we de modelkaart maken met behulp van de voorgaande configuratie:

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()

De SageMaker SDK biedt ook de mogelijkheid om een ​​modelkaart bij te werken, te laden, weer te geven, te exporteren en te verwijderen.

Raadpleeg voor meer informatie over modelkaarten de ontwikkelaarshandleiding en volg dit voorbeeldnotitieblok om aan de slag te gaan.

SageMaker-modeldashboard

Het Model-dashboard is een gecentraliseerde opslagplaats van alle modellen die in het account zijn gemaakt. De modellen worden meestal gemaakt door te trainen op SageMaker, of u kunt uw modellen elders laten trainen om op SageMaker te hosten.

Het modeldashboard biedt een enkele interface voor IT-beheerders, modelrisicomanagers of bedrijfsleiders om alle geïmplementeerde modellen te bekijken en te zien hoe ze presteren. U kunt uw eindpunten, batchtransformatietaken en monitoringtaken bekijken om inzicht te krijgen in de modelprestaties. Organisaties kunnen diep duiken om vast te stellen welke modellen ontbrekende of inactieve controleregels hebben en deze toevoegen met behulp van SageMaker API's om ervoor te zorgen dat alle modellen worden gecontroleerd op gegevensafwijking, modelafwijking, biasafwijking en kenmerkattributieafwijking.

De volgende schermafbeelding toont een voorbeeld van het dashboard Model.

Verbeter het beheer van uw machine learning-modellen met Amazon SageMaker PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Het Model-dashboard biedt een overzicht van al uw modellen, wat hun risicoclassificatie is en hoe die modellen presteren in productie. Het doet dit door informatie uit SageMaker te halen. De prestatiebewakingsinformatie wordt vastgelegd via Amazon SageMaker-modelmonitor, en u kunt ook informatie zien over modellen die worden aangeroepen voor batchvoorspellingen via SageMaker-batchtransformatietaken. Afstammingsinformatie, zoals hoe het model is getraind, gebruikte gegevens en meer, wordt vastgelegd en er wordt ook informatie van modelkaarten gehaald.

Model Monitor bewaakt de kwaliteit van SageMaker-modellen die in de productie worden gebruikt voor batch-inferentie of real-time eindpunten. U kunt continue monitoring of geplande monitors instellen via SageMaker API's en de waarschuwingsinstellingen bewerken via het Model-dashboard. U kunt alerts instellen die u op de hoogte stellen wanneer er afwijkingen zijn in de modelkwaliteit. Door deze afwijkingen vroegtijdig en proactief te detecteren, kunt u corrigerende maatregelen nemen, zoals het opnieuw trainen van modellen, het auditen van stroomopwaartse systemen of het oplossen van kwaliteitsproblemen, zonder dat u modellen handmatig hoeft te controleren of extra tooling hoeft te bouwen. Het Model dashboard geeft je snel inzicht in welke modellen worden gemonitord en hoe ze presteren. Voor meer informatie over Model Monitor, bezoek Modellen bewaken op gegevens en modelkwaliteit, vooringenomenheid en verklaarbaarheid.

Wanneer u een model kiest in het modeldashboard, kunt u diepere inzichten in het model krijgen, zoals de modelkaart (indien aanwezig), modellijn, details over het eindpunt waarop het model is geïmplementeerd en het bewakingsschema voor de model.

Verbeter het beheer van uw machine learning-modellen met Amazon SageMaker PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Met deze weergave kunt u indien nodig een modelkaart maken. Het monitoringschema kan ook worden geactiveerd, gedeactiveerd of bewerkt via het Model-dashboard.

Voor modellen die geen bewakingsschema hebben, kunt u dit instellen door Model Monitor in te schakelen voor het eindpunt waarop het model is geïmplementeerd. Via de waarschuwingsdetails en -status wordt u op de hoogte gebracht van modellen die gegevensafwijking, modelafwijking, biasafwijking of kenmerkafwijking vertonen, afhankelijk van de monitors die u instelt.

Laten we eens kijken naar een voorbeeld van een workflow voor het instellen van modelbewaking. De belangrijkste stappen van dit proces zijn:

  1. Leg gegevens vast die naar het eindpunt (of batchtransformatietaak) zijn verzonden.
  2. Stel een baseline vast (voor elk van de monitoringtypes).
  3. Maak een Model Monitor-planning om de live voorspellingen te vergelijken met de basislijn om schendingen te rapporteren en waarschuwingen te activeren.

Op basis van de waarschuwingen kunt u acties ondernemen, zoals het terugdraaien van het eindpunt naar een eerdere versie of het opnieuw trainen van het model met nieuwe gegevens. Terwijl u dit doet, kan het nodig zijn om na te gaan hoe het model is getraind, wat kan worden gedaan door de afstamming van het model te visualiseren.

Verbeter het beheer van uw machine learning-modellen met Amazon SageMaker PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai. Verbeter het beheer van uw machine learning-modellen met Amazon SageMaker PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Het modeldashboard biedt een uitgebreide set informatie over het algehele modelecosysteem in een account, naast de mogelijkheid om in te zoomen op de specifieke details van een model. Raadpleeg voor meer informatie over het modeldashboard ontwikkelaarshandleiding.

Conclusie

Modelbeheer is complex en brengt vaak veel op maat gemaakte behoeften met zich mee die specifiek zijn voor een organisatie of een branche. Dit kan gebaseerd zijn op de wettelijke vereisten waaraan uw organisatie moet voldoen, de soorten persona's die in de organisatie aanwezig zijn en de soorten modellen die worden gebruikt. Er is geen pasklare benadering van governance en het is belangrijk om over de juiste tools te beschikken, zodat een robuust governanceproces kan worden opgezet.

Met de speciaal gebouwde ML-governancetools in SageMaker kunnen organisaties de juiste mechanismen implementeren om de controle en zichtbaarheid van ML-projecten voor hun specifieke gebruikssituaties te verbeteren. Probeer Modelkaarten en het Modeldashboard eens uit en laat uw opmerkingen met vragen en feedback achter. Zie voor meer informatie over modelkaarten en het modeldashboard ontwikkelaarshandleiding.


Over de auteurs

Verbeter het beheer van uw machine learning-modellen met Amazon SageMaker PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.Kirit Tadaka is een ML Solutions Architect die werkt in het SageMaker Service SA-team. Voordat hij bij AWS kwam, werkte Kirit in AI-startups in een vroeg stadium, gevolgd door enige tijd consulting in verschillende rollen in AI-onderzoek, MLOps en technisch leiderschap.

Verbeter het beheer van uw machine learning-modellen met Amazon SageMaker PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.Marc Karp is een ML Architect bij het SageMaker Service-team. Hij richt zich op het helpen van klanten bij het ontwerpen, implementeren en beheren van ML-workloads op schaal. In zijn vrije tijd houdt hij van reizen en het ontdekken van nieuwe plaatsen.

Verbeter het beheer van uw machine learning-modellen met Amazon SageMaker PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.Raghu Ramesha is een ML Solutions Architect bij het Amazon SageMaker Service-team. Hij richt zich op het helpen van klanten bij het bouwen, implementeren en migreren van ML-productieworkloads naar SageMaker op schaal. Hij is gespecialiseerd in machine learning, AI en computer vision-domeinen, en heeft een master in computerwetenschappen van de UT Dallas. In zijn vrije tijd houdt hij van reizen en fotograferen.

Verbeter het beheer van uw machine learning-modellen met Amazon SageMaker PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.Ram Vital is een ML Specialist Solutions Architect bij AWS. Hij heeft meer dan 20 jaar ervaring met het ontwerpen en bouwen van gedistribueerde, hybride en cloudapplicaties. Hij heeft een passie voor het bouwen van veilige en schaalbare AI/ML- en big data-oplossingen om zakelijke klanten te helpen bij hun cloudadoptie en optimalisatietraject om hun bedrijfsresultaten te verbeteren. In zijn vrije tijd houdt hij van tennis, fotografie en actiefilms.

Verbeter het beheer van uw machine learning-modellen met Amazon SageMaker PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.Sahil Saini is een ISV Solution Architect bij Amazon Web Services. Hij werkt samen met de product- en engineeringteams van strategische klanten van AWS om hen te helpen met technologische oplossingen met behulp van AWS-services voor AI/ML, containers, HPC en IoT. Hij heeft geholpen bij het opzetten van AI/ML-platforms voor zakelijke klanten.

Tijdstempel:

Meer van AWS-machine learning