Erkennen Sie Anomalien in Fertigungsdaten mit Amazon SageMaker Canvas | Amazon Web Services

Erkennen Sie Anomalien in Fertigungsdaten mit Amazon SageMaker Canvas | Amazon Web Services

Durch den Einsatz von Cloud Computing, Big Data und Tools für maschinelles Lernen (ML) wie Amazonas Athena or Amazon Sage Maker sind ohne großen Aufwand bei der Erstellung und Wartung für jedermann verfügbar und nutzbar geworden. Industrieunternehmen setzen zunehmend auf Datenanalysen und datengesteuerte Entscheidungsfindung, um die Ressourceneffizienz in ihrem gesamten Portfolio zu steigern, vom Betrieb bis zur Durchführung vorausschauender Wartung oder Planung.

Aufgrund der Geschwindigkeit des Wandels in der IT stehen Kunden in traditionellen Branchen vor einem Kompetenzdilemma. Einerseits verfügen Analysten und Domänenexperten über ein sehr tiefes Wissen über die betreffenden Daten und deren Interpretation, verfügen jedoch oft nicht über den nötigen Zugang zu Data-Science-Tools und höheren Programmiersprachen wie Python. Andererseits fehlt es Data-Science-Experten oft an der Erfahrung, die Maschinendateninhalte zu interpretieren und nach Relevanz zu filtern. Dieses Dilemma behindert die Erstellung effizienter Modelle, die Daten nutzen, um geschäftsrelevante Erkenntnisse zu generieren.

Amazon SageMaker-Leinwand löst dieses Dilemma, indem es Fachexperten eine No-Code-Schnittstelle zur Erstellung leistungsstarker Analyse- und ML-Modelle wie Prognosen, Klassifizierungen oder Regressionsmodelle zur Verfügung stellt. Außerdem können Sie diese Modelle nach der Erstellung bereitstellen und mit ML- und MLOps-Spezialisten teilen.

In diesem Beitrag zeigen wir Ihnen, wie Sie mit SageMaker Canvas die richtigen Features in Ihren Daten kuratieren und auswählen und anschließend ein Vorhersagemodell für die Anomalieerkennung trainieren, indem Sie die No-Code-Funktionalität von SageMaker Canvas für die Modelloptimierung nutzen.

Anomalieerkennung für die Fertigungsindustrie

Zum Zeitpunkt des Schreibens konzentriert sich SageMaker Canvas auf typische Geschäftsanwendungsfälle wie Prognose, Regression und Klassifizierung. In diesem Beitrag zeigen wir, wie diese Funktionen auch dabei helfen können, komplexe abnormale Datenpunkte zu erkennen. Dieser Anwendungsfall ist beispielsweise relevant, um Störungen oder ungewöhnliche Vorgänge an Industriemaschinen zu lokalisieren.

Die Erkennung von Anomalien ist in der Industrie wichtig, da Maschinen (von Zügen bis zu Turbinen) normalerweise sehr zuverlässig sind und die Zeitspanne zwischen Ausfällen Jahre beträgt. Die meisten Daten dieser Maschinen, wie z. B. Messwerte von Temperatursensoren oder Statusmeldungen, beschreiben den normalen Betrieb und haben nur begrenzten Wert für die Entscheidungsfindung. Ingenieure suchen nach abnormalen Daten, wenn sie die Grundursachen eines Fehlers untersuchen oder als Warnindikatoren für zukünftige Fehler dienen, und Leistungsmanager untersuchen abnormale Daten, um potenzielle Verbesserungen zu identifizieren. Daher besteht der typische erste Schritt auf dem Weg zu einer datengesteuerten Entscheidungsfindung darin, relevante (abnormale) Daten zu finden.

In diesem Beitrag verwenden wir SageMaker Canvas, um die richtigen Features in Daten zu kuratieren und auszuwählen, und trainieren dann ein Vorhersagemodell für die Anomalieerkennung, wobei wir die No-Code-Funktionalität von SageMaker Canvas für die Modelloptimierung verwenden. Anschließend stellen wir das Modell als SageMaker-Endpunkt bereit.

Lösungsüberblick

Für unseren Anwendungsfall zur Erkennung von Anomalien trainieren wir ein Vorhersagemodell, um ein charakteristisches Merkmal für den normalen Betrieb einer Maschine, beispielsweise die in einem Auto angezeigte Motortemperatur, aus Einflussmerkmalen wie der Geschwindigkeit und dem zuletzt im Auto angewendeten Drehmoment vorherzusagen . Zur Anomalieerkennung anhand einer neuen Stichprobe von Messungen vergleichen wir die Modellvorhersagen für das charakteristische Merkmal mit den bereitgestellten Beobachtungen.

Am Beispiel des Automotors erhält ein Fachexperte Messungen der normalen Motortemperatur, des aktuellen Motordrehmoments, der Umgebungstemperatur und anderer potenzieller Einflussfaktoren. Damit können Sie ein Modell trainieren, um die Temperatur anhand der anderen Features vorherzusagen. Dann können wir das Modell verwenden, um die Motortemperatur regelmäßig vorherzusagen. Wenn die vorhergesagte Temperatur für diese Daten der beobachteten Temperatur in diesen Daten ähnelt, arbeitet der Motor normal; Eine Diskrepanz weist auf eine Anomalie hin, beispielsweise auf einen Ausfall des Kühlsystems oder einen Defekt am Motor.

Das folgende Diagramm zeigt die Lösungsarchitektur.

Überblick über den Prozess: Ein Modell wird in SageMaker Canvas erstellt, bereitgestellt und dann über einen AWS Lambda Funcino darauf zugegriffen.

Die Lösung besteht aus vier wesentlichen Schritten:

  1. Der Fachexperte erstellt mit SageMaker Canvas das Ausgangsmodell, einschließlich Datenanalyse und Feature-Kuratierung.
  2. Der Domänenexperte teilt das Modell über Amazon SageMaker-Modellregistrierung oder stellt es direkt als Echtzeit-Endpunkt bereit.
  3. Ein MLOps-Experte erstellt die Inferenzinfrastruktur und den Code, der die Modellausgabe einer Vorhersage in einen Anomalieindikator übersetzt. Dieser Code wird normalerweise in einem ausgeführt AWS Lambda Funktion.
  4. Wenn eine Anwendung eine Anomalieerkennung erfordert, ruft sie die Lambda-Funktion auf, die das Modell zur Inferenz verwendet und die Antwort bereitstellt (unabhängig davon, ob es sich um eine Anomalie handelt oder nicht).

Voraussetzungen:

Um diesem Beitrag folgen zu können, müssen Sie die folgenden Voraussetzungen erfüllen:

Erstellen Sie das Modell mit SageMaker

Der Modellerstellungsprozess folgt den Standardschritten zum Erstellen eines Regressionsmodells in SageMaker Canvas. Weitere Informationen finden Sie unter Erste Schritte mit der Verwendung von Amazon SageMaker Canvas.

Zunächst lädt der Domänenexperte relevante Daten in SageMaker Canvas, beispielsweise eine Zeitreihe von Messungen. Für diesen Beitrag verwenden wir eine CSV-Datei, die die (synthetisch generierten) Messungen eines Elektromotors enthält. Einzelheiten finden Sie unter Importieren Sie Daten in Canvas. Die verwendeten Beispieldaten stehen als Download zur Verfügung CSV.

Ein Bild, das die ersten Zeilen der CSV zeigt. Darüber hinaus werden ein Histogramm und Benchmark-Metriken für eine schnelle Vorschau des Modells angezeigt.

Kuratieren Sie die Daten mit SageMaker Canvas

Nachdem die Daten geladen wurden, kann der Domänenexperte SageMaker Canvas verwenden, um die im endgültigen Modell verwendeten Daten zu kuratieren. Hierzu wählt der Experte diejenigen Spalten aus, die charakteristische Messwerte für das jeweilige Problem enthalten. Genauer gesagt wählt der Experte Säulen aus, die beispielsweise durch eine physikalische Beziehung wie eine Druck-Temperatur-Kurve miteinander in Beziehung stehen und bei denen eine Änderung dieser Beziehung eine relevante Anomalie für ihren Anwendungsfall darstellt. Das Anomalieerkennungsmodell lernt die normale Beziehung zwischen den ausgewählten Spalten und zeigt an, wenn die Daten nicht damit übereinstimmen, z. B. eine ungewöhnlich hohe Motortemperatur angesichts der aktuellen Motorlast.

In der Praxis muss der Domänenexperte einen Satz geeigneter Eingabespalten und eine Zielspalte auswählen. Bei den Eingaben handelt es sich in der Regel um eine Sammlung von Größen (numerisch oder kategorisch), die das Verhalten einer Maschine bestimmen, von Bedarfseinstellungen bis hin zu Last, Geschwindigkeit oder Umgebungstemperatur. Bei der Ausgabe handelt es sich in der Regel um eine numerische Größe, die die Leistung des Maschinenbetriebs angibt, z. B. eine Temperatur zur Messung der Energiedissipation oder eine andere Leistungsmetrik, die sich ändert, wenn die Maschine unter suboptimalen Bedingungen läuft.

Um das Konzept zu veranschaulichen, welche Größen für die Eingabe und Ausgabe ausgewählt werden sollten, betrachten wir einige Beispiele:

  • Für rotierende Geräte wie das Modell, das wir in diesem Beitrag bauen, sind typische Eingaben die Drehzahl, das Drehmoment (Strom und Verlauf) und die Umgebungstemperatur, und die Ziele sind die resultierenden Lager- oder Motortemperaturen, die auf gute Betriebsbedingungen der Rotationen hinweisen
  • Typische Eingaben für eine Windkraftanlage sind die aktuelle und jüngste Vergangenheit der Windgeschwindigkeit und der Rotorblatteinstellungen, und die Zielgröße ist die erzeugte Leistung oder Drehzahl
  • Bei einem chemischen Prozess sind typische Eingaben der Prozentsatz verschiedener Inhaltsstoffe und die Umgebungstemperatur, und Ziele sind die erzeugte Wärme oder die Viskosität des Endprodukts
  • Bei beweglichen Geräten wie Schiebetüren sind typische Eingaben die Leistungsaufnahme der Motoren, und der Zielwert ist die Geschwindigkeit oder Abschlusszeit für die Bewegung
  • Für ein HVAC-System sind typische Eingaben die erreichte Temperaturdifferenz und Lasteinstellungen, und die Zielgröße ist der gemessene Energieverbrauch

Letztendlich hängen die richtigen Eingaben und Ziele für ein bestimmtes Gerät vom Anwendungsfall und dem zu erkennenden anomalen Verhalten ab und sind am besten einem Fachexperten bekannt, der mit den Feinheiten des spezifischen Datensatzes vertraut ist.

In den meisten Fällen bedeutet die Auswahl geeigneter Eingabe- und Zielgrößen, dass nur die richtigen Spalten ausgewählt und die Zielspalte markiert werden (in diesem Beispiel: bearing_temperature). Ein Domänenexperte kann jedoch auch die No-Code-Funktionen von SageMaker Canvas nutzen, um Spalten zu transformieren und die Daten zu verfeinern oder zu aggregieren. Sie können beispielsweise bestimmte Daten oder Zeitstempel aus den Daten extrahieren oder filtern, die nicht relevant sind. SageMaker Canvas unterstützt diesen Prozess und zeigt Statistiken zu den ausgewählten Mengen an, sodass Sie nachvollziehen können, ob eine Menge Ausreißer und Streuungen aufweist, die sich auf die Ergebnisse des Modells auswirken können.

Trainieren, optimieren und bewerten Sie das Modell

Nachdem der Domänenexperte geeignete Spalten im Datensatz ausgewählt hat, kann er das Modell trainieren, um die Beziehung zwischen den Eingaben und Ausgaben zu lernen. Genauer gesagt lernt das Modell, den aus den Eingaben ausgewählten Zielwert vorherzusagen.

Normalerweise können Sie den SageMaker Canvas verwenden Modellvorschau Möglichkeit. Dadurch erhalten Sie einen schnellen Hinweis auf die zu erwartende Modellqualität und können die Auswirkung verschiedener Eingaben auf die Ausgabemetrik untersuchen. Im folgenden Screenshot ist beispielsweise das Modell am stärksten davon betroffen motor_speed und ambient_temperature Metriken bei der Vorhersage bearing_temperature. Dies ist sinnvoll, da diese Temperaturen eng miteinander zusammenhängen. Gleichzeitig dürften zusätzliche Reibung oder andere Energieverluste Einfluss darauf haben.

Für die Modellqualität ist der RMSE des Modells ein Indikator dafür, wie gut das Modell das normale Verhalten in den Trainingsdaten lernen und die Beziehungen zwischen den Eingabe- und Ausgabemaßen reproduzieren konnte. Im folgenden Modell sollte das Modell beispielsweise in der Lage sein, das Richtige vorherzusagen motor_bearing Temperatur innerhalb von 3.67 Grad Celsius, sodass wir eine Abweichung der tatsächlichen Temperatur von einer Modellvorhersage, die größer als beispielsweise 7.4 Grad ist, als Anomalie betrachten können. Der tatsächliche Schwellenwert, den Sie verwenden würden, hängt jedoch von der im Bereitstellungsszenario erforderlichen Empfindlichkeit ab.

Ein Diagramm, das die tatsächliche und die vorhergesagte Motorgeschwindigkeit zeigt. Die Beziehung ist linear mit etwas Rauschen.

Nachdem die Modellbewertung und -optimierung abgeschlossen ist, können Sie schließlich mit dem vollständigen Modelltraining beginnen, bei dem das Modell für die Inferenz erstellt wird.

Stellen Sie das Modell bereit

Obwohl SageMaker Canvas ein Modell zur Inferenz verwenden kann, erfordert die produktive Bereitstellung zur Anomalieerkennung, dass Sie das Modell außerhalb von SageMaker Canvas bereitstellen. Genauer gesagt müssen wir das Modell als Endpunkt bereitstellen.

In diesem Beitrag stellen wir der Einfachheit halber das Modell direkt als Endpunkt von SageMaker Canvas bereit. Anweisungen finden Sie unter Stellen Sie Ihre Modelle auf einem Endpunkt bereit. Notieren Sie sich unbedingt den Bereitstellungsnamen und berücksichtigen Sie die Preise des Instanztyps, auf dem Sie bereitstellen (für diesen Beitrag verwenden wir ml.m5.large). SageMaker Canvas erstellt dann einen Modellendpunkt, der aufgerufen werden kann, um Vorhersagen zu erhalten.

Ein Anwendungsfenster, das die Konfiguration einer Modellbereitstellung zeigt. Die angezeigten Einstellungen sind eine Maschinengröße ml.m5.large und der Bereitstellungsname „sample-anomaly-model“.

In industriellen Umgebungen muss ein Modell gründlichen Tests unterzogen werden, bevor es eingesetzt werden kann. Zu diesem Zweck wird der Domänenexperte es nicht bereitstellen, sondern das Modell stattdessen für die SageMaker-Modellregistrierung freigeben. Hier kann ein MLOps-Operations-Experte übernehmen. In der Regel testet dieser Experte den Modellendpunkt, bewertet die Größe der für die Zielanwendung erforderlichen Computerausrüstung und ermittelt die kosteneffizienteste Bereitstellung, z. B. die Bereitstellung für serverlose Inferenz oder Batch-Inferenz. Diese Schritte werden normalerweise automatisiert (z. B. mithilfe von Amazon Sagemaker-Pipelines oder im Amazon-SDK).

Ein Bild, das die Schaltfläche zum Teilen eines Modells von Amazon Sgemaker in einer Modellregistrierung zeigt.

Verwenden Sie das Modell zur Anomalieerkennung

Im vorherigen Schritt haben wir in SageMaker Canvas eine Modellbereitstellung mit dem Namen erstellt canvas-sample-anomaly-model. Wir können es verwenden, um Vorhersagen über a zu erhalten bearing_temperature Wert basierend auf den anderen Spalten im Datensatz. Nun wollen wir diesen Endpunkt nutzen, um Anomalien zu erkennen.

Um anomale Daten zu identifizieren, verwendet unser Modell den Endpunkt des Vorhersagemodells, um den erwarteten Wert der Zielmetrik zu ermitteln, und vergleicht dann den vorhergesagten Wert mit dem tatsächlichen Wert in den Daten. Der vorhergesagte Wert gibt den erwarteten Wert für unsere Zielmetrik basierend auf den Trainingsdaten an. Die Differenz dieses Werts ist daher ein Maß für die Abnormalität der tatsächlich beobachteten Daten. Wir können den folgenden Code verwenden:

# We are using pandas dataframes for data handling
import pandas as pd import boto3,json
sm_runtime_client = boto3.client('sagemaker-runtime') # Configuration of the actual model invocation
endpoint_name="canvas-sample-anomaly-model"
# Name of the column in the input data to compare with predictions
TARGET_COL='bearing_temperature' def do_inference(data, endpoint_name): # Example Code provided by Sagemaker Canvas body = data.to_csv(header=False, index=True).encode("utf-8") response = sm_runtime_client.invoke_endpoint(Body = body, EndpointName = endpoint_name, ContentType = "text/csv", Accept = "application/json", ) return json.loads(response["Body"].read()) def input_transformer(input_data, drop_cols = [ TARGET_COL ] ): # Transform the input: Drop the Target column return input_data.drop(drop_cols,axis =1 ) def output_transformer(input_data,response): # Take the initial input data and compare it to the response of the prediction model scored = input_data.copy() scored.loc[ input_data.index,'prediction_'+TARGET_COL ] = pd.DataFrame(
response[ 'predictions' ],
index = input_data.index )['score'] scored.loc[ input_data.index,'error' ] = (
scored[ TARGET_COL ]-scored[ 'prediction_'+TARGET_COL ]
).abs() return scored # Run the inference
raw_input = pd.read_csv(MYFILE) # Read my data for inference
to_score = input_transformer(raw_input) # Prepare the data
predictions = do_inference(to_score, endpoint_name) # create predictions
results = output_transformer(to_score,predictions) # compare predictions & actuals

Der vorangehende Code führt die folgenden Aktionen aus:

  1. Die Eingabedaten werden nach den richtigen Merkmalen gefiltert (Funktion „input_transformer").
  2. Der SageMaker-Modellendpunkt wird mit den gefilterten Daten aufgerufen (Funktion „do_inference“), wo wir die Eingabe- und Ausgabeformatierung gemäß dem Beispielcode handhaben, der beim Öffnen der Detailseite unserer Bereitstellung in SageMaker Canvas bereitgestellt wird.
  3. Das Ergebnis des Aufrufs wird mit den ursprünglichen Eingabedaten verknüpft und die Differenz in der Fehlerspalte gespeichert (Funktion „output_transform").

Finden Sie Anomalien und bewerten Sie anomale Ereignisse

In einem typischen Setup wird der Code zum Erhalten von Anomalien in einer Lambda-Funktion ausgeführt. Die Lambda-Funktion kann von einer Anwendung oder aufgerufen werden Amazon API-Gateway. Die Hauptfunktion gibt für jede Zeile der Eingabedaten einen Anomalie-Score zurück – in diesem Fall eine Zeitreihe eines Anomalie-Scores.

Zum Testen können wir den Code auch in einem SageMaker-Notebook ausführen. Die folgenden Grafiken zeigen die Eingaben und Ausgaben unseres Modells bei Verwendung der Beispieldaten. Spitzenwerte in der Abweichung zwischen vorhergesagten und tatsächlichen Werten (Anomalie-Score, dargestellt im unteren Diagramm) weisen auf Anomalien hin. In der Grafik sehen wir beispielsweise drei deutliche Spitzenwerte, bei denen der Anomaliewert (Differenz zwischen erwarteter und tatsächlicher Temperatur) 7 Grad Celsius überschreitet: der erste nach einer langen Leerlaufzeit, der zweite bei einem steilen Abfall von bearing_temperature, und das letzte wo bearing_temperature ist hoch im Vergleich zu motor_speed.

Zwei Diagramme für Zeitreihen. Oben werden die Zeitreihen für Motortemperaturen und Motorgeschwindigkeiten angezeigt. Die untere Grafik zeigt den Anomalie-Score im Zeitverlauf mit drei Spitzen, die auf Anomalien hinweisen.

In vielen Fällen reicht es bereits aus, die Zeitreihe des Anomalie-Scores zu kennen; Sie können einen Schwellenwert festlegen, ab dem vor einer signifikanten Anomalie gewarnt werden soll, basierend auf der Notwendigkeit einer Modellempfindlichkeit. Der aktuelle Score zeigt dann an, dass eine Maschine einen abnormalen Zustand aufweist, der untersucht werden muss. Für unser Modell ist beispielsweise der absolute Wert des Anomalie-Scores wie in der folgenden Grafik dargestellt verteilt. Dies bestätigt, dass die meisten Anomaliewerte unter den (2xRMS=)8 Grad liegen, die während des Trainings für das Modell als typischer Fehler ermittelt wurden. Das Diagramm kann Ihnen bei der manuellen Auswahl eines Schwellenwerts helfen, sodass der richtige Prozentsatz der ausgewerteten Stichproben als Anomalien markiert wird.

Ein Histogramm des Auftretens von Werten für die Anomaliebewertung. Die Kurve fällt von x=0 auf x=15 ab.

Wenn die gewünschte Ausgabe Anomalienereignisse sind, müssen die vom Modell bereitgestellten Anomaliebewertungen verfeinert werden, damit sie für die geschäftliche Nutzung relevant sind. Zu diesem Zweck fügt der ML-Experte in der Regel eine Nachbearbeitung hinzu, um Rauschen oder große Spitzen im Anomalie-Score zu entfernen, beispielsweise durch Hinzufügen eines gleitenden Mittelwerts. Darüber hinaus bewertet der Experte die Anomaliebewertung typischerweise nach einer Logik, die der Erhöhung einer Anomalie ähnelt Amazon CloudWatch Alarm, beispielsweise die Überwachung der Überschreitung eines Schwellenwerts über einen bestimmten Zeitraum. Weitere Informationen zum Einrichten von Alarmen finden Sie unter Verwenden von Amazon CloudWatch-Alarmen. Wenn Sie diese Auswertungen in der Lambda-Funktion ausführen, können Sie Warnungen senden, indem Sie beispielsweise eine Warnung an eine veröffentlichen Amazon Simple Notification Service Thema (Amazon SNS).

Aufräumen

Nachdem Sie diese Lösung nicht mehr verwendet haben, sollten Sie aufräumen, um unnötige Kosten zu vermeiden:

  1. Suchen Sie in SageMaker Canvas nach Ihrer Modellendpunktbereitstellung und löschen Sie sie.
  2. Melden Sie sich von SageMaker Canvas ab, um Gebühren für den Leerlauf zu vermeiden.

Zusammenfassung

In diesem Beitrag haben wir gezeigt, wie ein Domänenexperte Eingabedaten auswerten und mit SageMaker Canvas ein ML-Modell erstellen kann, ohne Code schreiben zu müssen. Anschließend zeigten wir, wie man dieses Modell nutzt, um mit SageMaker und Lambda über einen einfachen Workflow eine Anomalieerkennung in Echtzeit durchzuführen. Diese Kombination ermöglicht es Fachexperten, ihr Wissen zu nutzen, um leistungsstarke ML-Modelle ohne zusätzliche Ausbildung in Datenwissenschaft zu erstellen, und ermöglicht es MLOps-Experten, diese Modelle flexibel und effizient zu nutzen und für Inferenzen verfügbar zu machen.

Für SageMaker Canvas ist ein zweimonatiges kostenloses Kontingent verfügbar. Anschließend zahlen Sie nur für das, was Sie nutzen. Beginnen Sie noch heute mit dem Experimentieren und fügen Sie ML hinzu, um das Beste aus Ihren Daten herauszuholen.


Über den Autor

Erkennen Sie Anomalien in Fertigungsdaten mit Amazon SageMaker Canvas | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikale Suche. Ai. Helge Aufderheide ist begeistert davon, Daten in der realen Welt nutzbar zu machen, mit einem starken Fokus auf Automatisierung, Analytik und maschinelles Lernen in industriellen Anwendungen wie Fertigung und Mobilität.

Zeitstempel:

Mehr von AWS Maschinelles Lernen