Förbättra styrningen av dina maskininlärningsmodeller med Amazon SageMaker PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Förbättra styrningen av dina maskininlärningsmodeller med Amazon SageMaker

När företag i allt större utsträckning använder maskininlärning (ML) för sina vanliga företagstillämpningar, påverkas fler av deras affärsbeslut av ML-modeller. Som ett resultat av detta, att ha förenklad åtkomstkontroll och förbättrad transparens över alla dina ML-modeller gör det lättare att validera att dina modeller presterar bra och vidta åtgärder när de inte gör det.

I det här inlägget utforskar vi hur företag kan förbättra insynen i sina modeller med centraliserade instrumentpaneler och detaljerad dokumentation av sina modeller med två nya funktioner: SageMaker Model Cards och SageMaker Model Dashboard. Båda dessa funktioner är tillgängliga utan extra kostnad för SageMaker-kunder.

Översikt över modellstyrning

Modellstyrning är ett ramverk som ger systematisk synlighet i modellutveckling, validering och användning. Modellstyrning är tillämpbar över hela ML-arbetsflödet, från att identifiera ML-användningsfallet till kontinuerlig övervakning av en distribuerad modell genom varningar, rapporter och instrumentpaneler. Ett välimplementerat ramverk för modellstyrning bör minimera antalet gränssnitt som krävs för att visa, spåra och hantera livscykeluppgifter för att göra det lättare att övervaka ML-livscykeln i stor skala.

Idag investerar organisationer betydande teknisk expertis i att bygga verktyg för att automatisera stora delar av sitt arbetsflöde för styrning och revision. Till exempel måste modellbyggare proaktivt registrera modellspecifikationer såsom avsedd användning för en modell, riskklassning och prestandakriterier som en modell bör mätas mot. Dessutom behöver de också registrera observationer om modellbeteende och dokumentera anledningen till att de fattade vissa nyckelbeslut, såsom den objektiva funktion de optimerade modellen mot.

Det är vanligt att företag använder verktyg som Excel eller e-post för att fånga och dela sådan modellinformation för användning i godkännanden för produktionsanvändning. Men när omfattningen av ML-utveckling ökar, kan information lätt gå förlorad eller tappa bort, och det blir snabbt omöjligt att hålla reda på dessa detaljer. Dessutom, efter att dessa modeller har distribuerats, kan du sammanfoga data från olika källor för att få insyn i alla dina modeller, slutpunkter, övervakningshistorik och härkomst. Utan en sådan vy kan du lätt tappa koll på dina modeller och kanske inte är medveten om när du behöver vidta åtgärder på dem. Det här problemet intensifieras i starkt reglerade branscher eftersom du är föremål för regler som kräver att du håller sådana åtgärder på plats.

När volymen av modeller börjar skalas, kan hanteringen av anpassade verktyg bli en utmaning och ger organisationer mindre tid att fokusera på kärnverksamhetens behov. I de följande avsnitten utforskar vi hur SageMaker modellkort och SageMaker Model Dashboard kan hjälpa dig att skala dina förvaltningsinsatser.

SageMaker modellkort

Modellkort gör att du kan standardisera hur modeller dokumenteras och därigenom få insyn i en modells livscykel, från design, konstruktion, utbildning och utvärdering. Modellkort är avsedda att vara en enda källa till sanning för affärsmässiga och tekniska metadata om modellen som på ett tillförlitligt sätt kan användas för revisions- och dokumentationsändamål. De tillhandahåller ett faktablad över modellen som är viktig för modellstyrning.

Modellkort tillåter användare att skriva och lagra beslut som varför en objektiv funktion valdes för optimering, och detaljer som avsedd användning och riskklassificering. Du kan också bifoga och granska utvärderingsresultat och anteckna observationer för framtida referens.

För modeller som tränats på SageMaker kan modellkort upptäcka och automatiskt fylla i detaljer som träningsjobb, träningsdatauppsättningar, modellartefakter och slutledningsmiljö, och därigenom påskynda processen att skapa korten. Med SageMaker Python SDK kan du sömlöst uppdatera modellkortet med utvärderingsstatistik.

Modellkort ger modellriskhanterare, datavetare och ML-ingenjörer möjligheten att utföra följande uppgifter:

  • Dokumentera modellkrav som riskklassning, avsedd användning, begränsningar och förväntad prestanda
  • Fyll i modellkort automatiskt för SageMaker-utbildade modeller
  • Ta med egen info (BYOI) för icke-SageMaker-modeller
  • Ladda upp och dela modell- och datautvärderingsresultat
  • Definiera och fånga anpassad information
  • Fånga modellkortstatus (utkast, väntar på granskning eller godkänt för produktion)
  • Få åtkomst till modellkortets nav från AWS Management Console
  • Skapa, redigera, visa, exportera, klona och ta bort modellkort
  • Utlösa arbetsflöden med hjälp av Amazon EventBridge integration för modellkortstatusändringshändelser

Skapa SageMaker-modellkort med hjälp av konsolen

Du kan enkelt skapa modellkort med SageMaker-konsolen. Här kan du se alla befintliga modellkort och skapa nya efter behov.

När du skapar ett modellkort kan du dokumentera viktig modellinformation som vem som byggde modellen, varför den utvecklades, hur den presterar för oberoende utvärderingar och eventuella observationer som måste beaktas innan du använder modellen för en affärsapplikation.

Utför följande steg för att skapa ett modellkort på konsolen:

  1. Ange modellöversiktsdetaljer.
  2. Ange träningsdetaljer (automatiskt ifylld om modellen tränades på SageMaker).
  3. Ladda upp utvärderingsresultat.
  4. Lägg till ytterligare detaljer som rekommendationer och etiska överväganden.

När du har skapat modellkortet kan du välja en version för att visa det.

Förbättra styrningen av dina maskininlärningsmodeller med Amazon SageMaker PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Följande skärmdump visar detaljerna för vårt modellkort.

Förbättra styrningen av dina maskininlärningsmodeller med Amazon SageMaker PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Du kan också exportera modellkortet för att delas som en PDF.

Förbättra styrningen av dina maskininlärningsmodeller med Amazon SageMaker PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Skapa och utforska SageMaker modellkort genom SageMaker Python SDK

Att interagera med modellkort är inte begränsat till konsolen. Du kan också använda SageMaker Python SDK för att skapa och utforska modellkort. SageMaker Python SDK tillåter datavetare och ML-ingenjörer att enkelt interagera med SageMaker-komponenter. Följande kodsnuttar visar processen för att skapa ett modellkort med den nyligen tillagda SageMaker Python SDK-funktionen.

Se till att du har den senaste versionen av SageMaker Python SDK installerad:

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

När du har tränat och distribuerat en modell med SageMaker kan du använda informationen från SageMaker-modellen och träningsjobbet för att automatiskt fylla i information i modellkortet.

Genom att använda SageMaker Python SDK och skicka SageMaker-modellnamnet kan vi automatiskt samla in grundläggande modellinformation. Information som SageMaker-modellen ARN, träningsmiljö och modellutdata Amazon enkel lagringstjänst (Amazon S3) plats fylls i automatiskt. Vi kan lägga till andra modellfakta, såsom beskrivning, problemtyp, algoritmtyp, modellskapare och ägare. Se följande kod:

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 också automatiskt samla in grundläggande utbildningsinformation som träningsjobb ARN, utbildningsmiljö och utbildningsmått. Ytterligare träningsdetaljer kan läggas till, som träningsmålsfunktion och observationer. Se följande kod:

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

Om vi ​​har tillgängliga utvärderingsstatistik kan vi lägga till dessa på modellkortet också:

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 också lägga till ytterligare information om modellen som kan hjälpa till med modellstyrning:

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 att vi har tillhandahållit alla detaljer vi behöver kan vi skapa modellkortet med hjälp av föregå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 ger också möjlighet att uppdatera, ladda, lista, exportera och ta bort ett modellkort.

För att lära dig mer om modellkort, se utvecklarguide och följ detta exempel anteckningsbok för att komma igång.

SageMaker Model Dashboard

Modellinstrumentpanelen är ett centraliserat arkiv med alla modeller som har skapats på kontot. Modellerna skapas vanligtvis genom träning på SageMaker, eller så kan du ta med dina modeller utbildade någon annanstans för att vara värd på SageMaker.

Modellinstrumentpanelen tillhandahåller ett enda gränssnitt för IT-administratörer, modellriskhanterare eller företagsledare för att se alla utplacerade modeller och hur de presterar. Du kan se dina slutpunkter, batchtransformeringsjobb och övervakningsjobb för att få insikter om modellens prestanda. Organisationer kan dyka djupt för att identifiera vilka modeller som har saknade eller inaktiva monitorer och lägga till dem med SageMaker API:er för att säkerställa att alla modeller kontrolleras för datadrift, modelldrift, biasdrift och funktionstillskrivningsdrift.

Följande skärmdump visar ett exempel på modellinstrumentpanelen.

Förbättra styrningen av dina maskininlärningsmodeller med Amazon SageMaker PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Modellinstrumentpanelen ger en översikt över alla dina modeller, vad deras riskklassificering är och hur dessa modeller presterar i produktionen. Det gör det genom att hämta information från hela SageMaker. Prestandaövervakningsinformationen fångas in Amazon SageMaker modellmonitor, och du kan också se information om modeller som anropas för batchförutsägelser genom SageMaker batchtransformeringsjobb. Härstamningsinformation som hur modellen tränades, data som användes och mer fångas in, och information från modellkort hämtas också.

Model Monitor övervakar kvaliteten på SageMaker-modeller som används i produktionen för batch-slutpunkter eller realtidsslutpunkter. Du kan ställa in kontinuerlig övervakning eller schemalagda monitorer via SageMaker API:er och redigera varningsinställningarna via modellinstrumentpanelen. Du kan ställa in varningar som meddelar dig när det finns avvikelser i modellkvaliteten. Tidig och proaktiv upptäckt av dessa avvikelser gör det möjligt för dig att vidta korrigerande åtgärder, såsom omskolning av modeller, granskning av uppströmssystem eller åtgärda kvalitetsproblem utan att behöva övervaka modeller manuellt eller bygga ytterligare verktyg. Modellinstrumentpanelen ger dig snabb inblick i vilka modeller som övervakas och hur de presterar. För mer information om Model Monitor, besök Övervaka modeller för data- och modellkvalitet, partiskhet och förklarabarhet.

När du väljer en modell i modellinstrumentpanelen kan du få djupare insikter i modellen, till exempel modellkortet (om ett sådant finns), modelllinjen, detaljer om slutpunkten som modellen har distribuerats till och övervakningsschemat för modell.

Förbättra styrningen av dina maskininlärningsmodeller med Amazon SageMaker PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Denna vy låter dig skapa ett modellkort om det behövs. Övervakningsschemat kan aktiveras, avaktiveras eller redigeras också via modellinstrumentpanelen.

För modeller som inte har ett övervakningsschema kan du ställa in detta genom att aktivera Model Monitor för den slutpunkt som modellen har distribuerats till. Genom varningsdetaljerna och statusen kommer du att meddelas om modeller som visar datadrift, modelldrift, biasdrift eller funktionsdrift, beroende på vilka monitorer du ställer in.

Låt oss titta på ett exempel på ett arbetsflöde för hur man ställer in modellövervakning. De viktigaste stegen i denna process är:

  1. Fånga data som skickas till slutpunkten (eller batchtransformeringsjobb).
  2. Upprätta en baslinje (för var och en av övervakningstyperna).
  3. Skapa ett Model Monitor-schema för att jämföra liveprognoserna mot baslinjen för att rapportera överträdelser och utlösa varningar.

Baserat på varningarna kan du vidta åtgärder som att återställa slutpunkten till en tidigare version eller träna om modellen med ny data. När du gör detta kan det vara nödvändigt att spåra hur modellen tränades, vilket kan göras genom att visualisera modellens härkomst.

Förbättra styrningen av dina maskininlärningsmodeller med Amazon SageMaker PlatoBlockchain Data Intelligence. Vertikal sökning. Ai. Förbättra styrningen av dina maskininlärningsmodeller med Amazon SageMaker PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Modellinstrumentpanelen erbjuder en rik uppsättning information om det övergripande modellens ekosystem i ett konto, förutom möjligheten att borra i de specifika detaljerna i en modell. För att lära dig mer om modellinstrumentpanelen, se utvecklarguide.

Slutsats

Modellstyrning är komplex och involverar ofta många anpassade behov specifika för en organisation eller en bransch. Detta kan baseras på de regulatoriska krav som din organisation måste uppfylla, vilka typer av personas som finns i organisationen och vilka typer av modeller som används. Det finns ingen enhetlig strategi för styrning, och det är viktigt att ha rätt verktyg tillgängliga så att en robust styrningsprocess kan införas.

Med de specialbyggda ML-styrningsverktygen i SageMaker kan organisationer implementera rätt mekanismer för att förbättra kontroll och synlighet över ML-projekt för deras specifika användningsfall. Ge modellkort och modellinstrumentpanelen ett försök och lämna dina kommentarer med frågor och feedback. För att lära dig mer om modellkort och modellinstrumentpanelen, se utvecklarguide.


Om författarna

Förbättra styrningen av dina maskininlärningsmodeller med Amazon SageMaker PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Kirit Thadaka är en ML Solutions Architect som arbetar i SageMaker Service SA-teamet. Innan Kirit började på AWS arbetade Kirit med AI-startups i ett tidigt skede, följt av en tid konsultation i olika roller inom AI-forskning, MLOps och tekniskt ledarskap.

Förbättra styrningen av dina maskininlärningsmodeller med Amazon SageMaker PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Marc Karp är en ML-arkitekt med SageMaker Service-teamet. Han fokuserar på att hjälpa kunder att designa, distribuera och hantera ML-arbetsbelastningar i stor skala. På fritiden tycker han om att resa och utforska nya platser.

Förbättra styrningen av dina maskininlärningsmodeller med Amazon SageMaker PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Raghu Ramesha är en ML Solutions Architect med Amazon SageMaker Service-teamet. Han fokuserar på att hjälpa kunder att bygga, distribuera och migrera ML-produktionsarbetsbelastningar till SageMaker i stor skala. Han är specialiserad på domäner för maskininlärning, AI och datorseende och har en magisterexamen i datavetenskap från UT Dallas. På fritiden tycker han om att resa och fotografera.

Förbättra styrningen av dina maskininlärningsmodeller med Amazon SageMaker PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Ram Vittal är en ML Specialist Solutions Architect på AWS. Han har över 20 års erfarenhet av att bygga och bygga distribuerade, hybrid- och molnapplikationer. Han brinner för att bygga säkra och skalbara AI/ML- och big data-lösningar för att hjälpa företagskunder med deras molnanpassning och optimeringsresa för att förbättra deras affärsresultat. På fritiden tycker han om tennis, fotografering och actionfilmer.

Förbättra styrningen av dina maskininlärningsmodeller med Amazon SageMaker PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Sahil Saini är en ISV Solution Architect på Amazon Web Services. Han arbetar med AWS strategiska kunders produkt- och ingenjörsteam för att hjälpa dem med tekniska lösningar som använder AWS-tjänster för AI/ML, Containers, HPC och IoT. Han har hjälpt till att sätta upp AI/ML-plattformar för företagskunder.

Tidsstämpel:

Mer från AWS maskininlärning