Verbessern Sie die Steuerung Ihrer Modelle für maschinelles Lernen mit Amazon SageMaker PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

Verbessern Sie die Governance Ihrer Machine-Learning-Modelle mit Amazon SageMaker

Da Unternehmen zunehmend maschinelles Lernen (ML) für ihre Mainstream-Unternehmensanwendungen einführen, werden immer mehr ihrer Geschäftsentscheidungen von ML-Modellen beeinflusst. Infolgedessen erleichtert die vereinfachte Zugriffskontrolle und verbesserte Transparenz über alle Ihre ML-Modelle hinweg die Überprüfung, ob Ihre Modelle eine gute Leistung erbringen, und das Ergreifen von Maßnahmen, wenn dies nicht der Fall ist.

In diesem Beitrag untersuchen wir, wie Unternehmen die Sichtbarkeit ihrer Modelle mit zentralisierten Dashboards und einer detaillierten Dokumentation ihrer Modelle mithilfe von zwei neuen Funktionen verbessern können: SageMaker-Modellkarten und das SageMaker-Modell-Dashboard. Diese beiden Funktionen stehen SageMaker-Kunden ohne zusätzliche Kosten zur Verfügung.

Überblick über die Modellgovernance

Model Governance ist ein Framework, das systematische Einblicke in die Modellentwicklung, -validierung und -nutzung bietet. Modell-Governance ist auf den gesamten ML-Workflow anwendbar, angefangen bei der Identifizierung des ML-Anwendungsfalls bis hin zur laufenden Überwachung eines bereitgestellten Modells durch Warnungen, Berichte und Dashboards. Ein gut implementiertes Modell-Governance-Framework sollte die Anzahl der Schnittstellen minimieren, die zum Anzeigen, Verfolgen und Verwalten von Lebenszyklusaufgaben erforderlich sind, um die Überwachung des ML-Lebenszyklus in großem Maßstab zu erleichtern.

Heutzutage investieren Unternehmen erhebliches technisches Know-how in den Aufbau von Tools, um große Teile ihres Governance- und Überprüfbarkeits-Workflows zu automatisieren. Beispielsweise müssen Modellbauer proaktiv Modellspezifikationen aufzeichnen, wie z. B. beabsichtigte Verwendung für ein Modell, Risikoeinstufung und Leistungskriterien, an denen ein Modell gemessen werden sollte. Darüber hinaus müssen sie auch Beobachtungen zum Modellverhalten aufzeichnen und den Grund dokumentieren, warum sie bestimmte Schlüsselentscheidungen getroffen haben, z. B. die Zielfunktion, anhand derer sie das Modell optimiert haben.

Es ist üblich, dass Unternehmen Tools wie Excel oder E-Mail verwenden, um solche Modellinformationen zur Verwendung in Genehmigungen für die Produktionsnutzung zu erfassen und weiterzugeben. Aber mit zunehmendem Umfang der ML-Entwicklung können Informationen leicht verloren gehen oder verlegt werden, und es wird schnell unmöglich, den Überblick über diese Details zu behalten. Darüber hinaus können Sie nach der Bereitstellung dieser Modelle Daten aus verschiedenen Quellen zusammenfügen, um einen durchgängigen Einblick in alle Ihre Modelle, Endpunkte, den Überwachungsverlauf und die Abstammung zu erhalten. Ohne eine solche Ansicht können Sie leicht den Überblick über Ihre Modelle verlieren und wissen möglicherweise nicht, wann Sie Maßnahmen ergreifen müssen. Dieses Problem verschärft sich in stark regulierten Branchen, da Sie Vorschriften unterliegen, die Sie dazu verpflichten, solche Maßnahmen einzuhalten.

Wenn das Volumen der Modelle zu steigen beginnt, kann die Verwaltung benutzerdefinierter Tools zu einer Herausforderung werden und Unternehmen weniger Zeit geben, sich auf die Kerngeschäftsanforderungen zu konzentrieren. In den folgenden Abschnitten untersuchen wir, wie SageMaker-Modellkarten und das SageMaker-Modell-Dashboard Ihnen helfen können, Ihre Governance-Bemühungen zu skalieren.

SageMaker-Modellkarten

Modellkarten ermöglichen es Ihnen, die Dokumentation von Modellen zu standardisieren und so Einblick in den Lebenszyklus eines Modells zu erhalten, vom Entwurf über den Aufbau, die Schulung und die Bewertung. Modellkarten sind als Single Source of Truth für geschäftliche und technische Metadaten zum Modell gedacht, die zuverlässig für Audit- und Dokumentationszwecke verwendet werden können. Sie liefern ein Factsheet des Modells, das für die Modell-Governance wichtig ist.

Mit Modellkarten können Benutzer Entscheidungen verfassen und speichern, z. B. warum eine objektive Funktion für die Optimierung ausgewählt wurde, sowie Details wie beabsichtigte Verwendung und Risikobewertung. Sie können auch Bewertungsergebnisse anhängen und überprüfen und Beobachtungen zur späteren Bezugnahme aufschreiben.

Für Modelle, die auf SageMaker trainiert wurden, können Modellkarten Details wie Trainingsjob, Trainingsdatensätze, Modellartefakte und Inferenzumgebung erkennen und automatisch ausfüllen, wodurch der Prozess der Kartenerstellung beschleunigt wird. Mit dem SageMaker Python SDK können Sie die Modellkarte nahtlos mit Bewertungsmetriken aktualisieren.

Modellkarten bieten Modellrisikomanagern, Datenwissenschaftlern und ML-Ingenieuren die Möglichkeit, die folgenden Aufgaben auszuführen:

  • Dokumentieren Sie Modellanforderungen wie Risikoeinstufung, Verwendungszweck, Einschränkungen und erwartete Leistung
  • Modellkarten für mit SageMaker trainierte Modelle automatisch ausfüllen
  • Bring your own info (BYOI) für Nicht-SageMaker-Modelle
  • Hochladen und Teilen von Modell- und Datenauswertungsergebnissen
  • Benutzerdefinierte Informationen definieren und erfassen
  • Kartenstatus des Erfassungsmodells (Entwurf, ausstehende Überprüfung oder für die Produktion genehmigt)
  • Greifen Sie über die auf den Modellkarten-Hub zu AWS-Managementkonsole
  • Modellkarten erstellen, bearbeiten, anzeigen, exportieren, klonen und löschen
  • Lösen Sie Workflows mit aus Amazon EventBridge Integration für Statusänderungsereignisse der Modellkarte

Erstellen Sie SageMaker-Modellkarten mit der Konsole

Mit der SageMaker-Konsole können Sie ganz einfach Modellkarten erstellen. Hier können Sie alle vorhandenen Modellkarten sehen und bei Bedarf neue erstellen.

Beim Erstellen einer Modellkarte können Sie wichtige Modellinformationen dokumentieren, z. B. wer das Modell erstellt hat, warum es entwickelt wurde, wie es für unabhängige Bewertungen abschneidet und alle Beobachtungen, die vor der Verwendung des Modells für eine Geschäftsanwendung berücksichtigt werden müssen.

Führen Sie die folgenden Schritte aus, um eine Modellkarte auf der Konsole zu erstellen:

  1. Geben Sie die Details der Modellübersicht ein.
  2. Trainingsdetails eingeben (wird automatisch ausgefüllt, wenn das Modell auf SageMaker trainiert wurde).
  3. Bewertungsergebnisse hochladen.
  4. Fügen Sie zusätzliche Details wie Empfehlungen und ethische Erwägungen hinzu.

Nachdem Sie die Modellkarte erstellt haben, können Sie eine Version auswählen, um sie anzuzeigen.

Verbessern Sie die Steuerung Ihrer Modelle für maschinelles Lernen mit Amazon SageMaker PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

Der folgende Screenshot zeigt die Details unserer Modellkarte.

Verbessern Sie die Steuerung Ihrer Modelle für maschinelles Lernen mit Amazon SageMaker PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

Sie können die zu teilende Modellkarte auch als PDF exportieren.

Verbessern Sie die Steuerung Ihrer Modelle für maschinelles Lernen mit Amazon SageMaker PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

Erstellen und erkunden Sie SageMaker-Modellkarten über das SageMaker Python SDK

Die Interaktion mit Modellkarten ist nicht auf die Konsole beschränkt. Sie können auch das SageMaker Python SDK verwenden, um Modellkarten zu erstellen und zu untersuchen. Das SageMaker Python SDK ermöglicht Datenwissenschaftlern und ML-Ingenieuren die einfache Interaktion mit SageMaker-Komponenten. Die folgenden Codeausschnitte veranschaulichen den Prozess zum Erstellen einer Modellkarte mithilfe der neu hinzugefügten SageMaker-Python-SDK-Funktionalität.

Stellen Sie sicher, dass Sie die neueste Version des SageMaker Python SDK installiert haben:

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

Nachdem Sie ein Modell mit SageMaker trainiert und bereitgestellt haben, können Sie die Informationen aus dem SageMaker-Modell und dem Trainingsauftrag verwenden, um automatisch Informationen in die Modellkarte einzufügen.

Mit dem SageMaker Python SDK und der Übergabe des SageMaker-Modellnamens können wir automatisch grundlegende Modellinformationen sammeln. Informationen wie der ARN des SageMaker-Modells, die Trainingsumgebung und die Modellausgabe Amazon Simple Storage-Service (Amazon S3) Standort wird automatisch ausgefüllt. Wir können weitere Modellfakten wie Beschreibung, Problemtyp, Algorithmustyp, Modellersteller und Eigentümer hinzufügen. Siehe folgenden 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

Wir können auch grundlegende Trainingsinformationen wie Trainingsjob-ARN, Trainingsumgebung und Trainingsmetriken automatisch erfassen. Zusätzliche Trainingsdetails können hinzugefügt werden, wie z. B. Trainingszielfunktion und Beobachtungen. Siehe folgenden 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

Wenn uns Bewertungsmetriken zur Verfügung stehen, können wir diese auch zur Modellkarte hinzufügen:

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

Wir können auch zusätzliche Informationen über das Modell hinzufügen, die bei der Modellverwaltung hilfreich sein können:

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

Nachdem wir alle erforderlichen Details bereitgestellt haben, können wir die Modellkarte mit der vorherigen Konfiguration erstellen:

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

Das SageMaker SDK bietet auch die Möglichkeit, eine Modellkarte zu aktualisieren, zu laden, aufzulisten, zu exportieren und zu löschen.

Weitere Informationen zu Modellkarten finden Sie unter Entwicklerhandbuch und folgen fehlen uns die Worte. Beispiel-Notebook für den Einstieg.

SageMaker-Modell-Dashboard

Das Modell-Dashboard ist ein zentrales Repository aller Modelle, die im Konto erstellt wurden. Die Modelle werden normalerweise durch Training auf SageMaker erstellt, oder Sie können Ihre Modelle, die an anderer Stelle trainiert wurden, mitbringen, um sie auf SageMaker zu hosten.

Das Modell-Dashboard bietet eine einzige Schnittstelle für IT-Administratoren, Modellrisikomanager oder Unternehmensleiter, um alle bereitgestellten Modelle und ihre Leistung anzuzeigen. Sie können Ihre Endpunkte, Batch-Transformationsjobs und Überwachungsjobs anzeigen, um Einblicke in die Modellleistung zu erhalten. Unternehmen können tief eintauchen, um herauszufinden, welche Modelle fehlende oder inaktive Monitore haben, und sie mithilfe von SageMaker-APIs hinzufügen, um sicherzustellen, dass alle Modelle auf Datendrift, Modelldrift, Bias-Drift und Feature-Attributionsdrift überprüft werden.

Der folgende Screenshot zeigt ein Beispiel des Modell-Dashboards.

Verbessern Sie die Steuerung Ihrer Modelle für maschinelles Lernen mit Amazon SageMaker PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

Das Modell-Dashboard bietet einen Überblick über alle Ihre Modelle, ihre Risikobewertung und die Leistung dieser Modelle in der Produktion. Dies geschieht durch Abrufen von Informationen aus SageMaker. Die Leistungsüberwachungsinformationen werden durch erfasst Amazon SageMaker-Modellmonitor, und Sie können auch Informationen zu Modellen anzeigen, die für Stapelvorhersagen durch SageMaker-Stapeltransformationsaufträge aufgerufen wurden. Herkunftsinformationen wie das Training des Modells, verwendete Daten und mehr werden erfasst, und Informationen aus Modellkarten werden ebenfalls abgerufen.

Model Monitor überwacht die Qualität von SageMaker-Modellen, die in der Produktion für Batch-Inferenz oder Echtzeit-Endpunkte verwendet werden. Sie können kontinuierliche Überwachung oder geplante Überwachungen über SageMaker-APIs einrichten und die Warnungseinstellungen über das Modell-Dashboard bearbeiten. Sie können Alerts einstellen, die Sie benachrichtigen, wenn es Abweichungen in der Modellqualität gibt. Durch die frühzeitige und proaktive Erkennung dieser Abweichungen können Sie Korrekturmaßnahmen ergreifen, z. B. Modelle neu trainieren, vorgelagerte Systeme prüfen oder Qualitätsprobleme beheben, ohne Modelle manuell überwachen oder zusätzliche Tools erstellen zu müssen. Das Modell-Dashboard gibt Ihnen einen schnellen Einblick, welche Modelle überwacht werden und wie sie funktionieren. Weitere Informationen zu Model Monitor finden Sie unter Überwachen Sie Modelle auf Daten- und Modellqualität, Verzerrung und Erklärbarkeit.

Wenn Sie im Modell-Dashboard ein Modell auswählen, erhalten Sie tiefere Einblicke in das Modell, z. B. die Modellkarte (sofern vorhanden), die Modellherkunft, Details zum Endpunkt, auf dem das Modell bereitgestellt wurde, und den Überwachungszeitplan für das Modell.

Verbessern Sie die Steuerung Ihrer Modelle für maschinelles Lernen mit Amazon SageMaker PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

In dieser Ansicht können Sie bei Bedarf eine Modellkarte erstellen. Der Überwachungszeitplan kann auch über das Modell-Dashboard aktiviert, deaktiviert oder bearbeitet werden.

Für Modelle ohne Überwachungszeitplan können Sie dies einrichten, indem Sie Model Monitor für den Endpunkt aktivieren, auf dem das Modell bereitgestellt wurde. Durch die Warnungsdetails und den Status werden Sie über Modelle benachrichtigt, die Datendrift, Modelldrift, Bias-Drift oder Feature-Drift aufweisen, je nachdem, welche Monitore Sie eingerichtet haben.

Sehen wir uns einen Beispielworkflow zum Einrichten der Modellüberwachung an. Die wichtigsten Schritte dieses Prozesses sind:

  1. Erfassen Sie Daten, die an den Endpunkt (oder Batch-Transformationsjob) gesendet wurden.
  2. Richten Sie eine Baseline ein (für jeden Überwachungstyp).
  3. Erstellen Sie einen Zeitplan für die Modellüberwachung, um die Live-Prognosen mit der Baseline zu vergleichen, um Verstöße zu melden und Warnungen auszulösen.

Basierend auf den Warnungen können Sie Maßnahmen ergreifen, wie z. B. das Zurücksetzen des Endpunkts auf eine frühere Version oder das erneute Trainieren des Modells mit neuen Daten. Dabei kann es notwendig sein, nachzuvollziehen, wie das Modell trainiert wurde, was durch Visualisierung der Abstammung des Modells erfolgen kann.

Verbessern Sie die Steuerung Ihrer Modelle für maschinelles Lernen mit Amazon SageMaker PlatoBlockchain Data Intelligence. Vertikale Suche. Ai. Verbessern Sie die Steuerung Ihrer Modelle für maschinelles Lernen mit Amazon SageMaker PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

Das Modell-Dashboard bietet eine Fülle von Informationen zum gesamten Modellökosystem in einem Konto sowie die Möglichkeit, die spezifischen Details eines Modells aufzuschlüsseln. Weitere Informationen zum Modell-Dashboard finden Sie unter Entwicklerhandbuch.

Zusammenfassung

Model Governance ist komplex und beinhaltet oft viele individuelle Anforderungen, die für eine Organisation oder Branche spezifisch sind. Dies könnte auf den regulatorischen Anforderungen basieren, die Ihre Organisation erfüllen muss, den Arten von Personas, die in der Organisation vorhanden sind, und den Arten von Modellen, die verwendet werden. Es gibt keinen einheitlichen Governance-Ansatz, und es ist wichtig, die richtigen Tools zur Verfügung zu haben, damit ein robuster Governance-Prozess eingeführt werden kann.

Mit den speziell entwickelten ML-Governance-Tools in SageMaker können Unternehmen die richtigen Mechanismen implementieren, um die Kontrolle und Sichtbarkeit von ML-Projekten für ihre spezifischen Anwendungsfälle zu verbessern. Probieren Sie Modellkarten und das Modell-Dashboard aus und hinterlassen Sie Ihre Kommentare mit Fragen und Feedback. Weitere Informationen zu Modellkarten und dem Modell-Dashboard finden Sie unter Entwicklerhandbuch.


Über die Autoren

Verbessern Sie die Steuerung Ihrer Modelle für maschinelles Lernen mit Amazon SageMaker PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.Kirit Thadaka ist ein ML Solutions Architect, der im Team von SageMaker Service SA arbeitet. Bevor er zu AWS kam, arbeitete Kirit in KI-Startups in der Frühphase, gefolgt von einer Zeit als Beraterin in verschiedenen Rollen in den Bereichen KI-Forschung, MLOps und technische Führung.

Verbessern Sie die Steuerung Ihrer Modelle für maschinelles Lernen mit Amazon SageMaker PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.Markus Karp ist ML-Architekt im SageMaker-Serviceteam. Er konzentriert sich darauf, Kunden dabei zu helfen, ML-Workloads in großem Umfang zu entwerfen, bereitzustellen und zu verwalten. In seiner Freizeit reist er gerne und entdeckt neue Orte.

Verbessern Sie die Steuerung Ihrer Modelle für maschinelles Lernen mit Amazon SageMaker PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.Raghu Ramesha ist ML Solutions Architect im Amazon SageMaker Service-Team. Er konzentriert sich darauf, Kunden dabei zu helfen, ML-Produktions-Workloads in großem Maßstab zu erstellen, bereitzustellen und zu SageMaker zu migrieren. Er ist auf maschinelles Lernen, KI und Computer Vision spezialisiert und hat einen Master-Abschluss in Informatik von der UT Dallas. In seiner Freizeit reist und fotografiert er gerne.

Verbessern Sie die Steuerung Ihrer Modelle für maschinelles Lernen mit Amazon SageMaker PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.Widder Vittal ist ML Specialist Solutions Architect bei AWS. Er verfügt über mehr als 20 Jahre Erfahrung in der Entwicklung und Erstellung verteilter, hybrider und Cloud-Anwendungen. Er entwickelt leidenschaftlich gerne sichere und skalierbare KI/ML- und Big-Data-Lösungen, um Unternehmenskunden bei ihrer Cloud-Einführung und -Optimierung zu unterstützen und ihre Geschäftsergebnisse zu verbessern. In seiner Freizeit liebt er Tennis, Fotografie und Actionfilme.

Verbessern Sie die Steuerung Ihrer Modelle für maschinelles Lernen mit Amazon SageMaker PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.Sahil Saini ist ISV Solution Architect bei Amazon Web Services. Er arbeitet mit den Produkt- und Engineering-Teams strategischer AWS-Kunden zusammen, um ihnen bei Technologielösungen mit AWS-Services für KI/ML, Container, HPC und IoT zu helfen. Er hat beim Aufbau von KI/ML-Plattformen für Unternehmenskunden geholfen.

Zeitstempel:

Mehr von AWS Maschinelles Lernen