Dieser Blogbeitrag wurde von Guillermo Ribeiro, Sr. Data Scientist bei Cepsa, mitverfasst.
Maschinelles Lernen (ML) hat sich schnell von einem modischen Trend, der aus akademischen Umgebungen und Innovationsabteilungen hervorgegangen ist, zu einem Schlüsselmittel entwickelt, um unternehmensübergreifend in jeder Branche Mehrwert zu schaffen. Dieser Übergang von Experimenten im Labor zur Lösung realer Probleme in Produktionsumgebungen geht Hand in Hand mit MLOps, oder die Anpassung von DevOps an die ML-Welt.
MLOps hilft dabei, den gesamten Lebenszyklus eines ML-Modells zu rationalisieren und zu automatisieren, wobei der Schwerpunkt auf den Quelldatensätzen, der Reproduzierbarkeit von Experimenten, dem ML-Algorithmuscode und der Modellqualität liegt.
At Cepsa, einem globalen Energieunternehmen, nutzen wir ML, um komplexe Probleme in allen unseren Geschäftsbereichen anzugehen, von der vorausschauenden Wartung von Industrieanlagen bis hin zur Überwachung und Verbesserung petrochemischer Prozesse in unseren Raffinerien.
In diesem Beitrag erörtern wir, wie wir unsere Referenzarchitektur für MLOps mit den folgenden wichtigen AWS-Services aufgebaut haben:
- Amazon Sage Maker, ein Dienst zum Erstellen, Trainieren und Bereitstellen von ML-Modellen
- AWS Step-Funktionen, ein serverloser visueller Low-Code-Workflow-Dienst, der zur Orchestrierung und Automatisierung von Prozessen verwendet wird
- Amazon EventBridge, ein serverloser Ereignisbus
- AWS Lambda, ein serverloser Computedienst, mit dem Sie Code ausführen können, ohne Server bereitzustellen oder zu verwalten
Wir erklären auch, wie wir diese Referenzarchitektur angewendet haben, um neue ML-Projekte in unserem Unternehmen zu starten.
Die Herausforderung
In den letzten 4 Jahren haben mehrere Geschäftsbereiche bei Cepsa ML-Projekte gestartet, aber bald traten bestimmte Probleme und Einschränkungen auf.
Wir hatten keine Referenzarchitektur für ML, daher folgte jedes Projekt einem anderen Implementierungspfad und führte Ad-hoc-Modelltraining und -bereitstellung durch. Ohne eine gemeinsame Methode zur Handhabung von Projektcode und -parametern und ohne eine ML-Modellregistrierung oder ein Versionierungssystem haben wir die Rückverfolgbarkeit zwischen Datensätzen, Code und Modellen verloren.
Wir haben auch Verbesserungspotenzial in der Art und Weise entdeckt, wie wir Modelle in der Produktion betrieben haben, da wir die bereitgestellten Modelle nicht überwacht haben und daher nicht über die Möglichkeit verfügten, die Modellleistung zu verfolgen. Infolgedessen haben wir Modelle in der Regel auf der Grundlage von Zeitplänen neu trainiert, da uns die richtigen Metriken fehlten, um fundierte Umschulungsentscheidungen zu treffen.
Die Lösung
Ausgehend von den Herausforderungen, die wir zu bewältigen hatten, entwarfen wir eine allgemeine Lösung, die darauf abzielte, Datenvorbereitung, Modelltraining, Inferenz und Modellüberwachung zu entkoppeln, und die über eine zentralisierte Modellregistrierung verfügte. Auf diese Weise haben wir die Verwaltung von Umgebungen über mehrere AWS-Konten hinweg vereinfacht und gleichzeitig eine zentralisierte Modellrückverfolgbarkeit eingeführt.
Unsere Data Scientists und Entwickler verwenden AWS Cloud9 (eine Cloud-IDE zum Schreiben, Ausführen und Debuggen von Code) für Data Wrangling und ML-Experimente und GitHub als Git-Code-Repository.
Ein automatischer Trainingsworkflow verwendet den vom Data-Science-Team erstellten Code Modelle auf SageMaker trainieren und Ausgabemodelle in der Modellregistrierung zu registrieren.
Ein anderer Workflow verwaltet die Modellbereitstellung: Er ruft die Referenz aus der Modellregistrierung ab und erstellt mithilfe von einen Inferenzendpunkt Hosting-Funktionen für SageMaker-Modelle.
Wir haben sowohl Modellschulungs- als auch Bereitstellungs-Workflows mit Step Functions implementiert, da es ein flexibles Framework bereitstellte, das die Erstellung spezifischer Workflows für jedes Projekt ermöglicht und verschiedene AWS-Services und -Komponenten auf unkomplizierte Weise orchestriert.
Datenverbrauchsmodell
Bei Cepsa verwenden wir eine Reihe von Data Lakes, um unterschiedliche Geschäftsanforderungen abzudecken, und alle diese Data Lakes haben ein gemeinsames Datennutzungsmodell, das es Data Engineers und Data Scientists erleichtert, die benötigten Daten zu finden und zu nutzen.
Um Kosten und Verantwortlichkeiten einfach zu handhaben, werden Data Lake-Umgebungen vollständig von Datenproduzenten- und Verbraucheranwendungen getrennt und in verschiedenen AWS-Konten bereitgestellt, die zu einer gemeinsamen AWS-Organisation gehören.
Die Daten, die zum Trainieren von ML-Modellen verwendet werden, und die Daten, die als Inferenzeingabe für trainierte Modelle verwendet werden, werden aus den verschiedenen Data Lakes über eine Reihe klar definierter APIs zur Verfügung gestellt Amazon API-Gateway, ein Dienst zum Erstellen, Veröffentlichen, Verwalten, Überwachen und Sichern von APIs in großem Umfang. Das API-Backend verwendet Amazonas Athena (ein interaktiver Abfragedienst zum Analysieren von Daten mit Standard-SQL), um auf bereits gespeicherte Daten zuzugreifen Amazon Simple Storage-Service (Amazon S3) und katalogisiert im AWS-Kleber Datenkatalog.
Das folgende Diagramm bietet einen allgemeinen Überblick über die MLOps-Architektur von Cepsa.
Modelltraining
Der Trainingsprozess ist für jedes Modell unabhängig und wird von a Step Functions-Standardworkflow, was uns die Flexibilität gibt, Prozesse basierend auf unterschiedlichen Projektanforderungen zu modellieren. Wir haben eine Basisvorlage definiert, die wir bei den meisten Projekten wiederverwenden und bei Bedarf kleinere Anpassungen vornehmen. Beispielsweise haben sich einige Projektbesitzer entschieden, manuelle Gates hinzuzufügen, um die Bereitstellung neuer Produktionsmodelle zu genehmigen, während andere Projektbesitzer ihre eigenen Fehlererkennungs- und Wiederholungsmechanismen implementiert haben.
Wir führen auch Transformationen an den Eingabedatensätzen durch, die für das Modelltraining verwendet werden. Dazu nutzen wir Lambda-Funktionen, die in die Trainingsworkflows integriert sind. In einigen Szenarien, in denen komplexere Datentransformationen erforderlich sind, führen wir unseren Code ein Amazon Elastic Container-Service (Amazon ECS) auf AWS Fargate, eine serverlose Compute-Engine zum Ausführen von Containern.
Unser Data-Science-Team verwendet häufig benutzerdefinierte Algorithmen, daher nutzen wir die Möglichkeit dazu Verwenden Sie benutzerdefinierte Container im SageMaker-Modelltraining, verlassen auf Amazon Elastic Container-Registrierung (Amazon ECR), eine vollständig verwaltete Containerregistrierung, die das Speichern, Verwalten, Freigeben und Bereitstellen von Container-Images vereinfacht.
Die meisten unserer ML-Projekte basieren auf der Scikit-learn-Bibliothek, daher haben wir den Standard erweitert SageMaker Scikit-Lerncontainer um die für das Projekt erforderlichen Umgebungsvariablen einzuschließen, z. B. die Git-Repository-Informationen und Bereitstellungsoptionen.
Bei diesem Ansatz müssen sich unsere Datenwissenschaftler nur auf die Entwicklung des Trainingsalgorithmus konzentrieren und die für das Projekt erforderlichen Bibliotheken spezifizieren. Wenn sie Codeänderungen in das Git-Repository übertragen, wird unser CI/CD-System (Jenkins gehostet auf AWS) erstellt den Container mit dem Trainingscode und den Bibliotheken. Dieser Container wird an Amazon ECR gepusht und schließlich als Parameter an den SageMaker-Trainingsaufruf übergeben.
Wenn der Trainingsprozess abgeschlossen ist, wird das resultierende Modell in Amazon S3 gespeichert, eine Referenz wird in der Modellregistrierung hinzugefügt und alle gesammelten Informationen und Metriken werden im Experimentkatalog gespeichert. Dies gewährleistet eine vollständige Reproduzierbarkeit, da der Algorithmuscode und die Bibliotheken zusammen mit den dem Experiment zugeordneten Daten mit dem trainierten Modell verknüpft sind.
Das folgende Diagramm veranschaulicht den Modelltrainings- und Umschulungsprozess.
Modellbereitstellung
Die Architektur ist flexibel und ermöglicht sowohl automatische als auch manuelle Bereitstellungen der trainierten Modelle. Der Model-Deployer-Workflow wird automatisch über ein Ereignis aufgerufen, das das SageMaker-Training nach Abschluss des Trainings in EventBridge veröffentlicht, kann aber bei Bedarf auch manuell aufgerufen werden, indem die richtige Modellversion aus der Modellregistrierung übergeben wird. Weitere Informationen zum automatischen Aufruf finden Sie unter Automatisierung von Amazon SageMaker mit Amazon EventBridge.
Der Arbeitsablauf des Modellbereitstellers ruft die Modellinformationen aus der Modellregistrierung ab und verwendet sie AWS CloudFormation, eine verwaltete Infrastruktur als Codedienst, um je nach Projektanforderungen entweder das Modell an einem Echtzeit-Inferenzendpunkt bereitzustellen oder eine Batch-Inferenz mit einem gespeicherten Eingabedatensatz durchzuführen.
Immer wenn ein Modell erfolgreich in einer beliebigen Umgebung bereitgestellt wird, wird die Modellregistrierung mit einem neuen Tag aktualisiert, das angibt, in welchen Umgebungen das Modell derzeit ausgeführt wird. Jedes Mal, wenn ein Endpunkt entfernt wird, wird auch sein Tag aus der Modellregistrierung gelöscht.
Das folgende Diagramm zeigt den Workflow für die Modellbereitstellung und Inferenz.
Experimente und Modellregistrierung
Das Speichern aller Experimente und Modellversionen an einem einzigen Ort und ein zentralisiertes Code-Repository ermöglichen es uns, Modelltraining und -bereitstellung zu entkoppeln und für jedes Projekt und jede Umgebung unterschiedliche AWS-Konten zu verwenden.
Alle Experimenteinträge speichern die Commit-ID des Trainings- und Inferenzcodes, sodass wir den gesamten Experimentprozess vollständig nachvollziehen und verschiedene Experimente einfach vergleichen können. Dies verhindert, dass wir in der wissenschaftlichen Erkundungsphase für Algorithmen und Modelle doppelt arbeiten, und ermöglicht es uns, unsere Modelle überall einzusetzen, unabhängig von dem Konto und der Umgebung, in der das Modell trainiert wurde. Dies gilt auch für Modelle, die in unserer AWS Cloud9-Experimentierumgebung trainiert wurden.
Alles in allem verfügen wir über vollständig automatisierte Modelltrainings- und Bereitstellungspipelines und haben die Flexibilität, schnelle manuelle Modellbereitstellungen durchzuführen, wenn etwas nicht richtig funktioniert oder wenn ein Team ein Modell zu Versuchszwecken in einer anderen Umgebung bereitstellen muss.
Ein detaillierter Anwendungsfall: YET Dragon-Projekt
Das Projekt YET Dragon zielt darauf ab, die Produktionsleistung der petrochemischen Anlage von Cepsa in Shanghai zu verbessern. Um dieses Ziel zu erreichen, haben wir den Produktionsprozess gründlich untersucht und nach den weniger effizienten Schritten gesucht. Unser Ziel war es, die Ausbeuteeffizienz der Prozesse zu erhöhen, indem die Konzentration der Komponenten genau unter einem Schwellenwert gehalten wird.
Um diesen Prozess zu simulieren, bauten wir vier verallgemeinerte additive Modelle oder GAM, lineare Modelle, deren Reaktion von glatten Funktionen von Prädiktorvariablen abhängt, um die Ergebnisse von zwei Oxidationsprozessen, einem Konzentrationsprozess und der oben genannten Ausbeute vorherzusagen. Wir haben auch einen Optimierer gebaut, um die Ergebnisse der vier GAM-Modelle zu verarbeiten und die besten Optimierungen zu finden, die in der Anlage angewendet werden könnten.
Obwohl unsere Modelle mit historischen Daten trainiert werden, kann die Anlage manchmal unter Umständen betrieben werden, die nicht im Trainingsdatensatz registriert wurden; Wir gehen davon aus, dass unsere Simulationsmodelle unter diesen Szenarien nicht gut funktionieren, daher haben wir auch zwei Anomalieerkennungsmodelle mit Isolation Forests-Algorithmen erstellt, die bestimmen, wie weit Datenpunkte von den restlichen Daten entfernt sind, um die Anomalien zu erkennen. Diese Modelle helfen uns, solche Situationen zu erkennen, um die automatisierten Optimierungsprozesse zu deaktivieren, wann immer dies geschieht.
Industrielle chemische Prozesse sind sehr variabel und die ML-Modelle müssen gut auf den Anlagenbetrieb abgestimmt sein, daher sind häufige Nachschulungen sowie die Rückverfolgbarkeit der in jeder Situation eingesetzten Modelle erforderlich. YET Dragon war unser erstes ML-Optimierungsprojekt mit einer Modellregistrierung, vollständiger Reproduzierbarkeit der Experimente und einem vollständig verwalteten automatisierten Trainingsprozess.
Jetzt ist die gesamte Pipeline, die ein Modell in die Produktion bringt (Datentransformation, Modelltraining, Experimentverfolgung, Modellregistrierung und Modellbereitstellung), für jedes ML-Modell unabhängig. Dies ermöglicht es uns, Modelle iterativ zu verbessern (z. B. neue Variablen hinzuzufügen oder neue Algorithmen zu testen) und die Trainings- und Bereitstellungsphase mit verschiedenen Auslösern zu verbinden.
Die Ergebnisse und zukünftige Verbesserungen
Wir sind derzeit in der Lage, die sechs im YET Dragon-Projekt verwendeten ML-Modelle automatisch zu trainieren, bereitzustellen und zu verfolgen, und wir haben bereits über 30 Versionen für jedes der Produktionsmodelle bereitgestellt. Diese MLOps-Architektur wurde in anderen Projekten im gesamten Unternehmen auf Hunderte von ML-Modellen erweitert.
Wir planen, weiterhin neue YET-Projekte auf der Grundlage dieser Architektur zu starten, die dank der Reduzierung der Bootstrapping-Zeit und der Automatisierung von ML-Pipelines die durchschnittliche Projektdauer um 25 % verkürzt hat. Wir haben auch geschätzte Einsparungen von etwa 300,000 € pro Jahr dank der Steigerung von Ertrag und Konzentration, die eine direkte Folge des YET Dragon-Projekts ist.
Die kurzfristige Entwicklung dieser MLOps-Architektur geht in Richtung Modellüberwachung und automatisiertes Testen. Wir planen, die Modelleffizienz automatisch mit zuvor bereitgestellten Modellen zu testen, bevor ein neues Modell bereitgestellt wird. Wir arbeiten auch an der Implementierung von Modellüberwachungen und Inferenzdatendriftüberwachungen mit Amazon SageMaker-Modellmonitor, um das Neutrainieren von Modellen zu automatisieren.
Zusammenfassung
Unternehmen stehen vor der Herausforderung, ihre ML-Projekte automatisiert und effizient in die Produktion zu bringen. Die Automatisierung des gesamten ML-Modelllebenszyklus hilft, Projektzeiten zu verkürzen und eine bessere Modellqualität sowie schnellere und häufigere Bereitstellungen in der Produktion zu gewährleisten.
Durch die Entwicklung einer standardisierten MLOps-Architektur, die von verschiedenen Geschäftsbereichen im gesamten Unternehmen übernommen wurde, konnten wir bei Cepsa das Bootstrapping von ML-Projekten beschleunigen und die Qualität von ML-Modellen verbessern, indem wir ein zuverlässiges und automatisiertes Framework bereitstellten, auf dem unsere Data-Science-Teams schneller innovativ sein können .
Weitere Informationen zu MLOps auf SageMaker finden Sie unter Amazon SageMaker für MLOps und sehen Sie sich andere Kundenanwendungsfälle in der an AWS-Blog für maschinelles Lernen.
Über die Autoren
Guillermo Ribeiro Jiménez ist promovierter Senior Data Scientist bei Cepsa. in Kernphysik. Er hat 6 Jahre Erfahrung mit Data-Science-Projekten, hauptsächlich in der Telekommunikations- und Energiebranche. Derzeit leitet er Datenwissenschaftler-Teams in der Abteilung für digitale Transformation von Cepsa mit einem Schwerpunkt auf der Skalierung und Produktisierung von Machine-Learning-Projekten.
Guillermo Menéndez Corral ist Lösungsarchitekt bei AWS Energy and Utilities. Er verfügt über mehr als 15 Jahre Erfahrung in der Entwicklung und Erstellung von SW-Anwendungen und bietet derzeit Architekturberatung für AWS-Kunden in der Energiebranche mit Schwerpunkt auf Analytik und maschinellem Lernen.
- Coinsmart. Europas beste Bitcoin- und Krypto-Börse.
- Platoblockkette. Web3-Metaverse-Intelligenz. Wissen verstärkt. DEN FREIEN ZUGANG.
- CryptoHawk. Altcoin-Radar. Kostenlose Testphase.
- Quelle: https://aws.amazon.com/blogs/machine-learning/how-cepsa-used-amazon-sagemaker-and-aws-step-functions-to-industrialize-their-ml-projects-and-operate- ihre-modelle-im-massstab/
- "
- 000
- 100
- 15 Jahre
- a
- Fähigkeit
- Über Uns
- Zugang
- Konto
- Erreichen
- über
- Ad
- hinzugefügt
- Vorteil
- gegen
- Algorithmus
- Algorithmen
- Alle
- erlaubt
- bereits
- Amazon
- unter
- Analytik
- analysieren
- von jedem Standort
- Bienen
- APIs
- Anwendungen
- angewandt
- Ansatz
- genehmigen
- architektonisch
- Architektur
- um
- damit verbundenen
- automatisieren
- Automatisiert
- automatische
- Im Prinzip so, wie Sie es von Google Maps kennen.
- automatisieren
- Automation
- verfügbar
- AWS
- weil
- Werden
- Bevor
- Sein
- unten
- BESTE
- Blog
- bauen
- Building
- baut
- Geschäft
- Unternehmen
- Häuser
- Fälle
- zentralisierte
- sicher
- challenges
- Herausforderungen
- chemisch
- Cloud
- Code
- verpflichten
- gemeinsam
- Unternehmen
- abschließen
- uneingeschränkt
- Komplex
- Komponente
- Komponenten
- Berechnen
- Konzentration
- Vernetz Dich
- verbrauchen
- Verbraucher
- Verbrauch
- Container
- Behälter
- Kosten
- könnte
- Abdeckung
- erstellen
- schafft
- Schaffung
- Zur Zeit
- Original
- Kunde
- Kunden
- technische Daten
- Datenwissenschaft
- Datenwissenschaftler
- entschieden
- Entscheidungen
- Abhängig
- hängt
- einsetzen
- Einsatz
- Einsatz
- Implementierungen
- entworfen
- Entwerfen
- detailliert
- erkannt
- Entdeckung
- Bestimmen
- Entwickler
- Entwicklung
- anders
- digital
- Digitale Transformation
- Direkt
- diskutieren
- Drache
- jeder
- leicht
- Effizienz
- effizient
- aufstrebenden
- ermöglicht
- Endpunkt
- Energie
- Motor
- Ingenieure
- Arbeitsumfeld
- Ausrüstung
- geschätzt
- Event
- Evolution
- genau
- Beispiel
- erwarten
- ERFAHRUNGEN
- Experiment
- Exploration
- zugewandt
- FAST
- beschleunigt
- Merkmal
- funktions
- Endlich
- Vorname
- Flexibilität
- flexibel
- Setzen Sie mit Achtsamkeit
- Folgende
- Unser Ansatz
- für
- voller
- Funktionen
- Zukunft
- Gates
- Allgemeines
- Git
- GitHub
- Global
- Kundenziele
- Griff
- mit
- Hilfe
- hilft
- hoch
- historisch
- hält
- gehostet
- Hosting
- Ultraschall
- HTTPS
- hunderte
- Bilder
- Implementierung
- umgesetzt
- zu unterstützen,
- Verbesserung
- Verbesserung
- In anderen
- das
- Erhöhung
- unabhängig
- unabhängig
- industriell
- Energiegewinnung
- Information
- informiert
- Infrastruktur
- Innovation
- Varianten des Eingangssignals:
- integriert
- interaktive
- Einführung
- Isolierung
- Probleme
- IT
- Behalten
- Aufbewahrung
- Wesentliche
- Start
- führenden
- lernen
- Bibliothek
- Linien
- Standorte
- suchen
- Maschine
- Maschinelles Lernen
- gemacht
- halten
- Wartung
- um
- MACHT
- verwalten
- verwaltet
- flächendeckende Gesundheitsprogramme
- Weise
- manuell
- manuell
- Mittel
- Metrik
- ML
- Modell
- für
- Überwachen
- Überwachung
- mehr
- vor allem warme
- mehrere
- Bedürfnisse
- betreiben
- Betrieb
- Optimierung
- Optionen
- Auftrag
- Organisation
- Andere
- besitzen
- Besitzer
- Bestehen
- Leistung
- Durchführung
- Phase
- Physik
- Punkte
- vorhersagen
- Probleme
- Prozessdefinierung
- anpassen
- Hersteller
- Produktion
- Projekt
- Projekte
- vorausgesetzt
- bietet
- Bereitstellung
- veröffentlichen
- Zweck
- Zwecke
- geschoben
- Qualität
- Echtzeit
- Veteran
- Registrieren
- eingetragen
- zuverlässig
- Quelle
- falls angefordert
- Voraussetzungen:
- Antwort
- Verantwortlichkeiten
- REST
- was zu
- Die Ergebnisse
- Führen Sie
- Laufen
- Skalieren
- Skalierung
- Wissenschaft
- Wissenschaftler
- Wissenschaftler
- Verbindung
- Modellreihe
- Serverlos
- Lösungen
- kompensieren
- Shanghai
- Teilen
- kurzfristig
- Einfacher
- Simulation
- Single
- Situation
- SIX
- So
- Lösung
- Lösungen
- einige
- etwas
- spezifisch
- Geschwindigkeit
- Stufen
- Standard
- begonnen
- Lagerung
- speichern
- rationalisieren
- Erfolgreich
- System
- Target
- Team
- Teams
- Telco
- Test
- Testen
- Das
- Die Quelle
- deswegen
- gründlich
- Schwelle
- Durch
- Zeit
- mal
- gegenüber
- Rückverfolgbarkeit
- verfolgen sind
- Tracking
- Ausbildung
- Transformation
- Transformationen
- Übergang
- für
- us
- -
- gewöhnlich
- Dienstprogramme
- Wert
- Version
- gut definiert
- während
- ohne
- Arbeiten
- Workflows
- arbeiten,
- weltweit wie ausgehandelt und gekauft ausgeführt wird.
- Schreiben
- Jahr
- Jahr
- Ausbeute