Integration von Amazon SageMaker AI-Modellen mit Amazon QuickSight
Anmerkung
Sie benötigen keine technische Erfahrung im Bereich Machine Learning (ML), um Analysen und Dashboards zu erstellen, die die ML-gestützten Funktionen in Amazon QuickSight verwenden.
Sie können Ihre Amazon QuickSight Enterprise Edition-Daten mit Machine Learning-Modellen von Amazon SageMaker AI erweitern. Sie können Inferenzen auf in SPICE gespeicherten Daten ausführen, die aus einer beliebigen, von Amazon QuickSight unterstützten Datenquelle importiert werden. Eine vollständige Liste der unterstützten Datenquellen finden Sie unter Unterstützte Datenquellen.
Die Verwendung von Amazon QuickSight mit SageMaker AI-Modellen kann die Zeit sparen, die Sie sonst mit der Verwaltung der Datenverschiebung und dem Schreiben von Code verbringen würden. Die Ergebnisse sind sowohl für die Bewertung des Modells als auch - wenn Sie mit den Ergebnissen zufrieden sind - für die Weitergabe an Entscheidungsträger nützlich. Sie können sofort beginnen, nachdem das Modell erstellt wurde. Dies bringt die vorgefertigten Modelle Ihrer Daten-Wissenschaftler hervor und Sie können diese Wissenschaft auf Ihre Datasets anwenden. Anschließend können Sie diese Erkenntnisse in Ihren prädiktiven Dashboards freigeben. Mit dem serverless Amazon QuickSight-Ansatz kann der Prozess nahtlos skaliert werden, sodass Sie sich keine Gedanken über die Inferenz- oder Abfragekapazität machen müssen.
Amazon QuickSight unterstützt SageMaker AI-Modelle, die Regressions- und Klassifizierungsalgorithmen verwenden. Sie können dieses Feature anwenden, um Vorhersagen für beinahe jeden geschäftlichen Anwendungsfall zu erhalten. Einige Beispiele umfassen die Vorhersage der Wahrscheinlichkeit von Kundenabwanderungen oder Mitarbeiterfluktuationen, die Bewertung von Vertriebs-Leads und die Bewertung von Kreditrisiken. Um Amazon QuickSight für die Bereitstellung von Vorhersagen zu verwenden, müssen die SageMaker AI-Modelldaten für Eingabe und Ausgabe im Tabellenformat vorliegen. In Anwendungsfällen mit mehreren Klassen oder Bezeichnungen darf jede Ausgabespalte nur einen einzigen Wert enthalten. Amazon QuickSight unterstützt nicht mehrere Werte in einer einzelnen Spalte.
Themen
Funktionsweise der SageMaker AI-Integration
Im Allgemeinen funktioniert der Prozess folgendermaßen:
-
Ein Amazon QuickSight-Administrator fügt Amazon QuickSight Berechtigungen für den Zugriff auf SageMaker AI hinzu. Öffnen Sie dazu die Einstellungen Security & Permissions (Sicherheit und Berechtigungen) auf der Seite Manage QuickSight (QuickSight verwalten). Gehen Sie zu QuickSight-Zugriff auf AWS-Services und fügen Sie SageMaker AI hinzu.
Wenn Sie diese Berechtigungen hinzufügen, wird Amazon QuickSight zu einer AWS Identity and Access Management (IAM)-Rolle hinzugefügt, die Zugriff für die Auflistung aller SageMaker-Modelle in Ihrem AWS-Konto bereitstellt. Es bietet auch Berechtigungen für das Ausführen von SageMaker AI-Aufträgen mit Namen, denen das Präfix
quicksight-auto-generated-vorangestellt ist. -
Sie sollten eine Verbindung zu einem SageMaker AI-Modell mit einer Inferenz-Pipeline herstellen, da ein solches Modell die Datenvorverarbeitung automatisch durchführt. Weitere Informationen finden Sie unter Bereitstellen einer Inferenz-Pipeline im SageMaker AI-Entwicklerhandbuch.
-
Nachdem Sie die Daten und das vorgeschulte Modell, das Sie gemeinsam verwenden möchten, identifiziert haben, erstellt der Besitzer des Modells eine Schemadatei und stellt diese bereit. Diese JSON-Datei ist ein Vertrag mit SageMaker AI. Sie stellt Metadaten zu den Feldern, Datentypen, Spaltenreihenfolge, Ausgabe und Einstellungen bereit, die das Modell erwartet. Die optionale Einstellungskomponente stellt die Instance-Größe und -Anzahl der für den Auftrag zu verwendenden Datenverarbeitungs-Instances bereit.
Wenn Sie der Daten-Wissenschaftler sind, der das Modell entwickelt hat, erstellen Sie diese Schemadatei in dem nachfolgend dokumentierten Format. Wenn Sie ein Nutzer des Modells sind, rufen Sie die Schemadatei vom Besitzer des Modells ab.
-
In Amazon QuickSight erstellen Sie zunächst ein neues Dataset mit den Daten, für die Sie Vorhersagen treffen möchten. Wenn Sie eine Datei hochladen, können Sie das SageMaker AI-Modell im Fenster mit den Upload-Einstellungen hinzufügen. Andernfalls fügen Sie das Modell auf der Seite der Datenvorbereitung hinzu.
Bevor Sie fortfahren, überprüfen Sie die Zuweisungen zwischen dem Dataset und dem Modell.
-
Nachdem die Daten in den Datensatz importiert wurden, enthalten die Ausgabefelder die von SageMaker AI zurückgegebenen Daten. Diese Felder können genauso wie andere Felder im Rahmen der unter Richtlinien für die Verwendung beschriebenen Richtlinien verwendet werden.
Wenn Sie die SageMaker AI-Integration ausführen, leitet Amazon QuickSight eine Anfrage an SageMaker AI weiter, um Batch-Transformationsauftrags mit Inferenz-Pipelines auszuführen. Amazon QuickSight beginnt mit der Bereitstellung und dem Einsatz der in Ihrem AWS-Konto benötigten Instances. Wenn die Verarbeitung abgeschlossen ist, werden diese Instances heruntergefahren und beendet. Die Rechenkapazität verursacht nur bei der Verarbeitung von Modellen Kosten.
Um Ihnen die Identifizierung zu erleichtern, benennt Amazon QuickSight alle SageMaker AI-Aufträge mit dem Präfix
quicksight-auto-generated-. -
Die Ausgabe der Inferenz wird in SPICE gespeichert und an das Dataset angehängt. Sobald die Inferenz abgeschlossen ist, können Sie das Dataset verwenden, um Visualisierungen und Dashboards mithilfe der Vorhersagedaten zu erstellen.
-
Die Datenaktualisierung wird jedes Mal, wenn Sie das Dataset speichern, gestartet. Sie können den Datenaktualisierungsprozess manuell starten, indem Sie das SPICE-Dataset aktualisieren, oder Sie können planen, dass es in einem regelmäßigen Intervall ausgeführt wird. Während jeder Datenaktualisierung ruft das System automatisch eine SageMaker AI-Stapeltransformation auf, um die Ausgabefelder mit neuen Daten zu aktualisieren.
Sie können die API-Operationen zur Amazon QuickSight-SPICE-Aufnahme verwenden, um den Datenaktualisierungsprozess zu steuern. Weitere Informationen zu den Data-API-Operationen finden Sie in der Amazon QuickSight-API-Referenz.
Anfallende Kosten (keine zusätzlichen Kosten bei Integration selbst)
Für die Nutzung dieses Feature fällt an sich keine zusätzliche Gebühr an. Ihre Kosten beinhalten Folgendes:
-
Die Kosten für die Modellbereitstellung über SageMaker AI, die nur bei Ausführung des Modells anfallen. Durch das Speichern eines Datensatzes - nachdem er entweder erstellt oder bearbeitet wurde - oder dessen Daten aktualisiert wurden, wird der Datenaufnahmeprozess gestartet. Dieser Prozess umfasst den Aufruf von SageMaker AI, wenn der Datensatz abgeleitete Felder aufweist. Kosten fallen in demselben AWS-Konto an, das zu Ihrem QuickSight-Abonnement gehört.
-
Ihre QuickSight-Abonnementkosten setzen sich folgendermaßen zusammen:
-
Die Kosten für die Speicherung Ihrer Daten in der speicherinternen Berechnungs-Engine in QuickSight (SPICE). Wenn Sie neue Daten zu SPICE hinzufügen, müssen Sie möglicherweise ausreichend SPICE-Kapazität erwerben, um sie aufzunehmen.
-
QuickSight-Abonnements für die Autoren oder Administratoren, die die Datasets erstellen.
-
Pro Sitzung berechnete Gebühren für Betrachter (Leser) für den Zugriff auf interaktive Dashboards.
-
Richtlinien für die Verwendung
In Amazon QuickSight gelten die folgenden Nutzungsrichtlinien für dieses Enterprise Edition-Feature:
-
Die Verarbeitung des Modells erfolgt in SPICE. Daher kann es nur für Datasets gelten, die in SPICE gespeichert sind. Der Prozess unterstützt derzeit bis zu 500 Millionen Zeilen pro Dataset.
-
Nur QuickSight-Administratoren oder -Autoren können Datasets mit ML-Modellen erweitern. Leser können die Ergebnisse nur anzeigen, wenn sie Teil eines Dashboards sind.
-
Jedes Dataset kann mit nur einem einzigen ML-Modell arbeiten.
-
Ausgabefelder können nicht zum Berechnen neuer Felder verwendet werden.
-
Datasets können nicht nach Feldern gefiltert werden, die in das Modell integriert sind. Mit anderen Worten: Wenn das Dataset-Feld derzeit dem ML-Modell zugeordnet ist, können Sie nicht nach diesem Feld filtern.
In SageMaker AI gelten die folgenden Nutzungsrichtlinien für ein vortrainiertes Modell, das Sie mit Amazon QuickSight verwenden:
-
Wenn Sie das Modell erstellen, ordnen Sie es dem Amazon-Ressourcennamen (ARN) für die entsprechende IAM-Rolle zu. Die IAM-Rolle für das SageMaker AI-Modell muss Zugriff auf den von Amazon QuickSight verwendeten Amazon S3-Bucket haben.
-
Stellen Sie sicher, dass Ihr Modell CSV-Dateien sowohl für die Eingabe als auch für die Ausgabe unterstützt. Stellen Sie sicher, dass die Daten in einer Tabelle vorliegen.
-
Stellen Sie eine Schemadatei bereit, die Metadaten zum Modell enthält, einschließlich der Liste der Eingabe- und Ausgabefelder. Derzeit müssen Sie diese Schemadatei manuell erstellen.
-
Berücksichtigen Sie die Zeit, die zum Abschließen der Inferenz benötigt wird. Diese hängt von einer Reihe von Faktoren ab. Dazu gehören die Komplexität des Modells, die Datenmenge und die definierte Rechenkapazität. Das Abschließen der Inferenz kann einige Minuten bis mehrere Stunden dauern. Amazon QuickSight begrenzt alle Datenaufnahme- und Inferenzaufträge auf maximal 10 Stunden. Um die Zeit zu verkürzen, die zum Ausführen einer Inferenz erforderlich ist, sollten Sie erwägen, die Instance-Größe oder die Anzahl der Instances zu erhöhen.
-
Derzeit können Sie nur Batch-Transformationen für die Integration mit SageMaker AI, aber nicht für Echtzeitdaten verwenden. Sie können keinen SageMaker AI-Endpunkt verwenden.
Definieren der Schemadatei
Bevor Sie ein SageMaker AI-Modell mit Amazon QuickSight-Daten verwenden, erstellen Sie die JSON-Schemadatei, die die Metadaten enthält, die Amazon QuickSight für die Verarbeitung des Modells benötigt. Der Amazon QuickSight-Autor oder -Administrator lädt die Schemadatei hoch, wenn das Dataset konfiguriert wird.
Die Schemafelder sind wie folgt definiert. Alle Felder sind erforderlich, sofern nicht in der folgenden Beschreibung angegeben. Bei Attributen wird zwischen Groß- und Kleinschreibung unterschieden.
- inputContentType
-
Der Inhaltstyp, den dieses SageMaker AI-Modell für die Eingabedaten erwartet. Der einzige unterstützte Wert hierfür ist
"text/csv". QuickSight schließt keine der Überschriftnamen ein, die Sie der Eingabedatei hinzufügen. - outputContentType
-
Der Inhaltstyp der Ausgabe, die vom SageMaker AI-Modell erzeugt wird, das Sie verwenden möchten. Der einzige unterstützte Wert hierfür ist
"text/csv". - input
-
Eine Liste der Funktionen, die das Modell in den Eingabedaten erwartet. QuickSight erzeugt die Eingabedaten in genau derselben Reihenfolge. Diese Liste enthält die folgenden Attribute:
-
name – Der Name der Spalte. Wenn möglich, sollte dieser mit dem Namen der entsprechenden Spalte im QuickSight-Dataset übereinstimmen. Dieses Attribut ist auf 100 Zeichen begrenzt.
-
type – Der Datentyp dieser Spalte. Dieses Attribut akzeptiert die Werte
"INTEGER","STRING"und"DECIMAL". -
type – (Optional) Die NULL-Zulässigkeit des Feldes. Der Standardwert ist
true. Wenn Sienullableauffalsefestlegen, entfernt QuickSight Zeilen, die diesen Wert nicht enthalten, vor dem Aufrufen von SageMaker AI. Dadurch wird vermieden, dass SageMaker AI bei fehlenden erforderlichen Daten fehlschlägt.
-
- output
-
Eine Liste der Ausgabespalten, die vom SageMaker AI-Modell erzeugt werden. QuickSight erwartet diese Felder in genau derselben Reihenfolge. Diese Liste enthält die folgenden Attribute:
-
name – Dieser Name wird zum Standardnamen für die entsprechende neue Spalte, die in QuickSight erstellt wird. Sie können den hier in QuickSight angegebenen Namen überschreiben. Dieses Attribut ist auf 100 Zeichen begrenzt.
-
type – Der Datentyp dieser Spalte. Dieses Attribut akzeptiert die Werte
"INTEGER","STRING"und"DECIMAL".
-
- instanceTypes
-
Eine Liste der ML-Instance-Typen, die SageMaker AI bereitstellen kann, um den Transformationsauftrag auszuführen. Die Liste wird dem QuickSight-Benutzer zur Auswahl zur Verfügung gestellt. Diese Liste ist auf die von SageMaker AI unterstützten Typen beschränkt. Weitere Informationen zu unterstützten Typen finden Sie unter TransformResources im SageMaker AI-Entwicklerhandbuch.
- defaultInstanceType
-
(Optional) Der Instance-Typ, der als Standardoption im SageMaker AI-Assistenten in QuickSight angezeigt wird. Fügen Sie diesen Instance-Typ in
instanceTypesein. - instanceCount
-
(Optional) Die Instance-Anzahl definiert, wie viele der ausgewählten Instances für SageMaker AI bereitgestellt werden sollen, um den Transformationsauftrag auszuführen. Der Wert muss eine positive Ganzzahl sein.
- description
-
Dieses Feld stellt für die Person, die das SageMaker AI-Modell besitzt, eine Möglichkeit dar, mit der Person zu kommunizieren, die dieses Modell in QuickSight verwendet. Verwenden Sie dieses Feld, um Hinweise zur erfolgreichen Verwendung dieses Modells bereitzustellen. Dieses Feld kann z. B. Informationen zur Auswahl eines effektiven Instance-Typs enthalten, der aus der Liste in
instanceTypesauszuwählen ist, basierend auf der Größe des Datasets. Dieses Feld ist auf 1.000 Zeichen beschränkt. - Version
-
Die Version des Schemas, zum Beispiel "
1.0".
Das folgende Beispiel zeigt die JSON-Struktur in der Schemadatei.
{ "inputContentType": "CSV", "outputContentType": "CSV", "input": [ { "name": "buying", "type": "STRING" }, { "name": "maint", "type": "STRING" }, { "name": "doors", "type": "INTEGER" }, { "name": "persons", "type": "INTEGER" }, { "name": "lug_boot", "type": "STRING" }, { "name": "safety", "type": "STRING" } ], "output": [ { "name": "Acceptability", "type": "STRING" } ], "description": "Use ml.m4.xlarge instance for small datasets, and ml.m4.4xlarge for datasets over 10 GB", "version": "1.0", "instanceCount": 1, "instanceTypes": [ "ml.m4.xlarge", "ml.m4.4xlarge" ], "defaultInstanceType": "ml.m4.xlarge" }
Die Struktur der Schemadatei hängt mit der Art des Modells zusammen, das in von SageMaker AI bereitgestellten Beispielen verwendet wird.
Hinzufügen eines SageMaker AI-Modells zu Ihrem QuickSight-Datensatz
Mit dem folgenden Verfahren können Sie Ihrem Datensatz ein vortrainiertes SageMaker AI-Modell hinzufügen, sodass Sie prädiktive Daten in Analysen und Dashboards verwenden können.
Bevor Sie beginnen, sollten Sie Folgendes verfügbar haben:
-
Die Daten, die Sie zum Erstellen des Datasets verwenden möchten
-
Den Namen des SageMaker AI-Modells, das Sie zum Erweitern des Datensatzes verwenden möchten
-
Das Schema des Modells. Dieses Schema umfasst Feldnamenzuweisungen und Datentypen. Es ist hilfreich, wenn es auch empfohlene Einstellungen für den Instance-Typ und die Anzahl der zu verwendenden Instances enthält.
So erweitern Sie Ihren Amazon QuickSight-Datensatz mit SageMaker AI
-
Erstellen Sie auf der Startseite ein neues Dataset, indem Sie Datasets (Datensatz) und dann New data set (Neues Dataset) auswählen.
Sie können auch ein vorhandenes Dataset bearbeiten.
-
Wählen Sie auf dem Bildschirm zur Datenvorbereitung die Option Augment with SageMaker (Mit SageMaker erweitern) aus.
-
Wählen Sie unter Select your model (Modell auswählen) die folgenden Einstellungen aus:
-
Modell – Wählen Sie das SageMaker AI-Modell aus, das für das Ableiten von Feldern verwendet werden soll.
-
Name – Geben Sie einen aussagekräftigen Namen für das Modell an.
-
Schema – Laden Sie die für das Modell bereitgestellte JSON-Schemadatei hoch.
-
Advanced settings (Erweiterte Einstellungen) – QuickSight empfiehlt die ausgewählten Standardwerte basierend auf Ihrem Dataset. Sie können bestimmte Laufzeiteinstellungen verwenden, um die Geschwindigkeit und die Kosten Ihres Auftrags auszugleichen. Geben Sie dazu die SageMaker AI ML-Instance-Typen für den Instance-Typ und unter Anzahl die Anzahl der Instances ein.
Wählen Sie Next (Weiter), um fortzufahren.
-
-
Überprüfen Sie unter Review inputs (Eingaben überprüfen) die Felder, die Ihrem Dataset zugeordnet sind. QuickSight versucht, die Felder in Ihrem Schema automatisch den Feldern in Ihrem Dataset zuzuweisen. Sie können hier Änderungen vornehmen, wenn die Zuweisung angepasst werden muss.
Wählen Sie Next (Weiter), um fortzufahren.
-
Prüfen Sie unter Review outputs (Ausgaben überprüfen) die Felder, die Ihrem Dataset hinzugefügt werden.
Wählen Sie Save and prepare data (Speichern und Daten vorbereiten) aus, um Ihre Auswahl zu bestätigen.
-
Um die Daten zu aktualisieren, wählen Sie das Dataset aus, um Details anzuzeigen. Wählen Sie dann entweder Refresh Now (Jetzt aktualisieren) aus, um die Daten manuell zu aktualisieren, oder wählen Sie Schedule refresh (Aktualisierung planen) aus, um ein regelmäßiges Aktualisierungsintervall einzurichten. Während jeder Datenaktualisierung führt das System automatisch den SageMaker AI-Stapeltransformationsauftrag aus, um die Ausgabefelder mit neuen Daten zu aktualisieren.