Bereitstellen eines Modells für maschinelles Lernen auf Netzwerk-Edge
Maschinelles Lernen spielt in vielen Branchen eine immer wichtigere Rolle. Modelle für maschinelles Lernen werden von Data Scientists erstellt und trainiert. Sie werden bereitgestellt, um Vorhersagen oder Scores basierend auf betrieblichen Datenvorhersagen und Scores bereitzustellen, die beispielsweise zur Verbesserung der Prozesseffizienz, zur Erkennung und Reaktion auf Probleme oder Anomalien oder zur Bewertung von KPIs und Qualitätsindikatoren verwendet werden.
- Das Modell erfordert größere Datenmengen als die Bandbreite zwischen der Remote-Site und dem zentralen Standort.
- Zwischen der Remote-Site und dem zentralen Standort besteht eine intermittierende Verbindung.
- Sie haben sehr geringe Latenzanforderungen, die den Prozess der Eingabe der Laufzeitdaten des Modells abdecken, damit es seinen Score oder seine Vorhersage generiert und auf diesen Score oder diese Vorhersage reagiert.
Architektur
Diese Architektur ist die Grundlage für die Bereitstellung von Modellen für maschinelles Lernen nahe an Datenquellen und Produktionssystemen. Sie ist in diesem Diagramm dargestellt:
Beschreibung der Abbildung deployment-ml-edge-architecture.png
Deploy-ml-edge-Architektur-oracle.zip
- Produktionsprozesse generieren Daten, die in den Streamingservice in Oracle Cloud übertragen werden. Der Streamingservice löst eine Funktion aus, mit der eingehende streams.This-Funktion die eingehenden Daten im autonomen Data Warehouse (ADW) verarbeitet oder transformiert werden.
- Data Scientists erstellen regelmäßig ML-Modelle basierend auf den Daten in ADW neu. Wenn diese Modelle zur Verbesserung bei alten Modellen getestet und bestätigt werden, werden sie für das Deployment gespeichert (z.B. in ONNX-Form), und sie werden in den Objektspeicher übertragen, um sie für den nachfolgenden Abruf verfügbar zu machen. Ein separater Object Storage-Bucket für jede lokale Site wird empfohlen, um sicherzustellen, dass das richtige Modell an die richtige Site zugestellt wird. Der normale Oracle Data Science-Prozess, Modelle im Modellkatalog zu speichern und später als Modell-Deployments bereitzustellen, wird nicht verwendet, da der Modellkatalog außerhalb von OCI nicht zugänglich ist und Oracle Data Science nur in Oracle Cloud bereitgestellt werden kann.
- Prüfen Sie regelmäßig lokale Sites, ob Aktualisierungen der ML-Modelle vorhanden sind, indem Sie bestimmte Objektspeicher-Buckets einchecken. Wenn neue Modelle verfügbar sind, werden sie von lokalen Sites abgerufen, bereitgestellt und verwendet.
- In der Produktion werden Produktionsdaten an die ML-Laufzeit übergeben, um Scores, Vorhersagen, Alerts usw. zu generieren.
- On-Premise-Standort
Eine oder mehrere Remote-Produktionsstandorte sind über Site-to-Site-VPN mit Oracle Cloud verbunden. Diese Standorte können Fertigungsstätten sein, bei denen maschinelles Lernen mit geringer Latenz für Datenstreams aus Produktionsprozessen erforderlich ist
- Produktionsmaschinen
An jedem Remotestandort werden ein oder mehrere Produktionssysteme, Qualitätskontrollsysteme, MESs, SCADA-Systeme usw. ausgeführt, die Produktionsdaten und/oder IoT-Streams generieren. Daten aus diesen Systemen werden basierend auf den Antworten von ML-Modellen auf die Daten an ML-Laufzeiten gesendet, um sie zu bewerten, vorherzusagen oder zu warnen
- ML-Ausführungsumgebung
Auf jeder Remote-Site ist eine Ausführungsumgebung für maschinelles Lernen betriebsbereit. Im Kern besteht dies aus einer ML-Laufzeit, wie der ONNX-Laufzeit, die möglicherweise als Webservice ausgeführt wird und einem IoT-Gateway Scoring- und Vorhersagefunktionen bereitstellt. Die genaue Konfiguration der ML-Ausführungsumgebung hängt von bestimmten lokalen Gegebenheiten und Anforderungen ab
- Mandant
Ein Mandant ist eine sichere und isolierte Partition, die Oracle in Oracle Cloud einrichtet, wenn Sie sich für OCI registrieren. Sie können Ihre Ressourcen in Oracle Cloud in Ihrem Mandanten erstellen, organisieren und verwalten. Ein Mandant ist synonym zu einem Unternehmen oder einer Organisation. In der Regel verfügt ein Unternehmen über einen einzelnen Mandanten und spiegelt dessen Organisationsstruktur in diesem Mandanten wider. Ein einzelner Mandant ist in der Regel mit einem einzelnen Abonnement verknüpft, und ein einzelnes Abonnement hat in der Regel nur einen Mandanten.
- Virtual Cloud Network (VCN) und Subnetze
Ein VCN ist ein anpassbares, Software-definiertes Netzwerk, das Sie in einer Oracle Cloud Infrastructure-Region einrichten können. Wie herkömmliche Data Center-Netzwerke erhalten Sie mit VCNs vollständige Kontrolle über Ihre Netzwerkumgebung. Ein VCN kann mehrere sich nicht überschneidende CIDR-Blöcke aufweisen, die Sie nach dem Erstellen des VCN ändern können. Sie können ein VCN in Subnetze segmentieren, die sich auf eine Region oder eine Availability-Domain beschränken. Jedes Subnetz besteht aus einem Bereich zusammenhängender Adressen, die sich nicht mit anderen Subnetzen im VCN überschneiden. Sie können die Größe eines Subnetzes nach der Erstellung ändern. Ein Subnetz kann öffentlich oder privat sein.
- Servicegateway
Das Servicegateway ermöglicht den Zugriff von einem VCN auf andere Services, wie Oracle Cloud Infrastructure Object Storage. Der Datenverkehr vom VCN zum Oracle-Service durchläuft die Oracle-Netzwerkfabric und nie das Internet. In dieser Architektur ermöglicht das Servicegateway lokal über das VPN Zugriff auf Oracle Cloud-Services
- Object Storage
Mit Object Storage erhalten Sie schnellen Zugriff auf große Mengen an strukturierten und unstrukturierten Daten eines beliebigen Inhaltstyps, darunter Datenbankbackups, Analysendaten und umfangreiche Inhalte, wie Bilder und Videos. Sie können Daten sicher und geschützt speichern und dann direkt aus dem Internet oder aus der Cloud-Plattform abrufen. Sie können den Speicher nahtlos skalieren, ohne dass die Performance oder Servicezuverlässigkeit beeinträchtigt wird. Verwenden Sie Standardspeicher für "Hot Storage", auf den Sie schnell, sofort und häufig zugreifen müssen. Verwenden Sie Archivspeicher für "Cold Storage", den Sie über lange Zeiträume beibehalten möchten und auf den Sie nur selten zugreifen. In dieser Architektur wird Object Storage verwendet, um Updates für das Modell und die zugehörigen Skripte zu speichern, wenn diese von Data Scientists erstellt werden.
- Autonomous Data Warehouse
Oracle Autonomous Data Warehouse ist ein selbststeuernder, selbstsichernder und selbstreparierender Datenbankservice, der für Data Warehousing-Workloads optimiert ist. Sie müssen keine Hardware konfigurieren oder verwalten und keine Software installieren. Oracle Cloud Infrastructure verwaltet das Erstellen der Datenbank sowie Backup, Patching, Upgrade und Optimierung der Datenbank. In dieser Architektur speichert ADW die IoT-Daten der Raw- oder verarbeiteten Produktions-Site zur späteren Verarbeitung durch Data Scientists.
- Site-to-Site-VPN
Site-to-Site VPN stellt IPSec-VPN-Konnektivität zwischen Ihrem On-Premise-Netzwerk und VCNs in Oracle Cloud Infrastructure bereit. Die IPSec-Protokollsuite verschlüsselt den IP-Traffic, bevor die Pakete von der Quelle zum Ziel übertragen werden, und entschlüsselt den Traffic beim Empfang.
- Funktionen
Oracle Functions ist eine vollständig verwaltete, mehrmandantenfähige, skalierbare, bedarfsgesteuerte Functions-as-a-Service-(FaaS-)Plattform. Sie basiert auf der Open-Source-Engine des Fn-Projekts. Mit Funktionen können Sie Ihren Code bereitstellen und entweder direkt aufrufen oder als Reaktion auf Ereignisse auslösen. Oracle Functions verwendet Docker-Container, die in Oracle Cloud Infrastructure Registry gehostet werden. In dieser Architektur werden mit Functions gestreamte Daten in ADW mit einer Funktion gespeichert, die um einen JDBC-Connector aufgebaut ist.
- Streaming
Oracle Cloud Infrastructure Streaming ist eine vollständig verwaltete, skalierbare und dauerhafte Speicherlösung zur Aufnahme kontinuierlicher Datenstreams mit hohem Volumen, die Sie in Echtzeit konsumieren und verarbeiten können. Sie können Streaming verwenden, um Daten mit hohem Volumen wie Anwendungslogs, Betriebstelemetrie, Clickstream-Webdaten oder für andere Anwendungsfälle zu erfassen, bei denen kontinuierlich und nacheinander Daten in einem Publish-Subscribe-Nachrichtenmodell erzeugt und verarbeitet werden. Streaming wird in dieser Architektur verwendet, um Streams von Produktionsdaten zur Persistenz an ADW weiterzuleiten. Es ist auch möglich, die Verarbeitung und Anreicherung dieser Daten im Rahmen des Streamingprozesses einzuführen, dies wird hier jedoch nicht dargestellt
- Oracle Data Science
Oracle Data Science ist eine vollständig verwaltete Plattform, auf der Teams von Data Scientists maschinelle Lernmodelle mit Python- und Open-Source-Tools erstellen, trainieren, bereitstellen und verwalten können. Sie umfasst MLOps-Funktionen wie automatisierte Pipelines, Modell-Deployments und Modellüberwachung. Diese Funktionen sind jedoch auf Modell-Deployments in Oracle Cloud beschränkt und werden in dieser Architektur nicht verwendet. In dieser Architektur verwenden Data Scientists Oracle Data Science, um Modelle effizient zu analysieren und auf den Daten zu erstellen und um bereitstellbare Versionen dieser Modelle zu erstellen, z.B. in ONNX-Form
- Oracle-Servicenetzwerk
Das Oracle-Servicenetzwerk (OSN) ist ein Konzeptnetzwerk in Oracle Cloud Infrastructure, das für Oracle-Services reserviert ist. Diese Services verfügen über öffentliche IP-Adressen, die Sie über das Internet erreichen können. Hosts außerhalb von Oracle Cloud können mit Oracle Cloud Infrastructure FastConnect oder VPN Connect privat auf OSN zugreifen. Hosts in Ihren VCNs können privat über ein Servicegateway auf OSN zugreifen.
Empfehlungen
- VCN
Ein VCN mit einem angehängten DRG und einem Servicegateway ist erforderlich, um Traffic von den Remote-Sites (mit Site-to-Site-VPN verbunden) an Services weiterzuleiten, die im Servicenetzwerk ausgeführt werden. Dieses VCN benötigt einen Eintrag in der Routentabelle, um den gesamten Traffic weiterzuleiten, der für Services in der ausgewählten Oracle Cloud-Region bestimmt ist, die über das Servicegateway weitergeleitet werden sollen. In dieser Architektur wird der gesamte Datenverkehr zwischen der Remote-Site und dem Servicenetzwerk durch eine Anforderung von der Remote-Site an das Servicenetzwerk ausgelöst
- Sicherheit
Mit Oracle Cloud Guard können Sie die Sicherheit Ihrer Ressourcen in Oracle Cloud Infrastructure proaktiv überwachen und verwalten. Cloud Guard verwendet Detektorrezepte, die Sie definieren können, um Ihre Ressourcen auf Sicherheitsschwächen zu untersuchen und Operatoren und Benutzer auf riskante Aktivitäten zu überwachen. Wenn eine falsche Konfiguration oder unsichere Aktivität ermittelt wird, empfiehlt Cloud Guard Korrekturmaßnahmen und unterstützt das Ausführen dieser Aktionen basierend auf Responder-Rezepten, die Sie definieren können.
- Cloud Guard
Klonen und passen Sie die von Oracle bereitgestellten Standardrezepte an, um benutzerdefinierte Detektor- und Responder-Rezepte zu erstellen. Mit diesen Rezepten können Sie angeben, welche Art von Sicherheitsverletzungen eine Warnung generiert und welche Aktionen für sie ausgeführt werden dürfen. Beispiel: Sie möchten Objektspeicher-Buckets ermitteln, deren Sichtbarkeit auf "Öffentlich" gesetzt ist.
Wenden Sie Cloud Guard auf Mandantenebene an, um den größten Geltungsbereich abzudecken und den administrativen Aufwand für die Verwaltung mehrerer Konfigurationen zu reduzieren.
Sie können das Feature "Verwaltete Liste" auch verwenden, um bestimmte Konfigurationen auf Detektoren anzuwenden.
- Sicherheitszonen
Für Ressourcen, die maximale Sicherheit erfordern, empfiehlt Oracle die Verwendung von Sicherheitszonen. Eine Sicherheitszone ist ein Compartment, das mit einem von Oracle definierten Rezept für Sicherheits-Policys verknüpft ist, die auf Best Practices basieren. Beispiel: Auf die Ressourcen in einer Sicherheitszone kann nicht über das öffentliche Internet zugegriffen werden. Sie müssen mit vom Kunden verwalteten Schlüsseln verschlüsselt werden. Wenn Sie Ressourcen in einer Sicherheitszone erstellen und aktualisieren, validiert Oracle Cloud Infrastructure die Vorgänge anhand der Policys im Rezept der Sicherheitszone und lehnt Vorgänge ab, die eine der Policys verletzen
- Netzwerksicherheitsgruppen (NSGs)
Mit NSGs können Sie eine Gruppe von Ingress- und Egress-Regeln definieren, die für bestimmte VNICs gelten. Wir empfehlen die Verwendung von NSGs und nicht von Sicherheitslisten, da NSGs die Subnetzarchitektur des VCN von den Sicherheitsanforderungen Ihrer Anwendung trennen können.
Hinweise
Beachten Sie beim Deployment dieser Referenzarchitektur die folgenden Punkte.
- Performance
Die wichtigsten Leistungsprobleme beziehen sich auf die Datenmenge, die von Produktionsprozessen generiert wird.
Die ML-Ausführungsumgebung, in der Runtimes des maschinellen Lernens aufgerufen werden, um auf Produktionsdaten zu reagieren, muss für die Verarbeitung der generierten Datenmengen dimensioniert werden. Dies ist ein Problem beim Setup der Remote-Site und liegt außerhalb des Geltungsbereichs dieser Architektur.
Von Produktionsprozessen generierte Daten können so umfangreich sein, dass die für das Streaming auf OCI verfügbare Bandbreite überwältigt werden kann. In solchen Fällen kann es ratsam sein, die Daten lokal vorverarbeiten, um irrelevante Daten zu verwerfen, Daten zu aggregieren, Daten zu komprimieren usw., so dass der Bandbreitenbedarf reduziert wird.
Durch das Verschieben von ML-Laufzeiten nahe an die Datenquelle werden ML-Latenzzeiten reduziert.
- Verfügbarkeit
Wenn die Konnektivität zwischen Remote-Sites und Oracle Cloud intermittierend ist, können Daten auf eine lokale Kafka-Installation gestreamt werden, die dann auf Oracle Streaming streamt. Auf diese Weise kann die lokale Kafka-Installation Daten puffern, wenn ein Netzwerkausfall auftritt.