Richten Sie eine Open-Source-Umgebung für maschinelles Lernen und KI ein

Richten Sie schnell eine Machine Learning- und künstliche Intelligenz-(KI-)Umgebung ein, indem Sie einen vorkonfigurierten GPU-Stack mit vorinstallierten allgemeinen IDEs, Notizbüchern und Frameworks verwenden, damit Sie mit der Produktion von Ergebnissen beginnen können.

Die vorkonfigurierte Umgebung von Oracle für Deep Learning ist in vielen Branchen in einer Vielzahl von Anwendungen hilfreich.

  • Natürliche Sprachverarbeitung

  • Bilderkennung und Klassifizierung

  • Betrugserkennung für Finanzdienstleistungen

  • Empfehlungs-Engines für Online-Einzelhändler

  • Risk Management

Diese vorkonfigurierte Umgebung umfasst eine virtuelle Maschine (VM) mit NVIDIA-GPU- und CUDA- und cuDNN-Treibern, allgemeinen Python- und R-Integrationsumgebungen (IDEs), Jupyter Notebooks und Open-Source-Frameworks für maschinelles Lernen (ML) und Deep Learning (DL).

Sie können Ihre Compute-Ressourcen mit Autoscaling skalieren oder die Compute-Instanz stoppen, wenn sie nicht benötigt wird, um die Kosten zu kontrollieren. Die VM enthält grundlegende Beispieldaten und Code, mit denen Sie testen und untersuchen können.

Das AI Datascience-VM für Oracle Cloud Infrastructure-Image ist in Oracle Cloud Marketplace verfügbar.

Architektur

Diese Referenzarchitektur zeigt, wie eine Machine Learning- und künstliche Intelligenz-(AI-)Umgebung in einer Region auf Oracle Cloud Infrastructure implementiert wird.

Diese Referenzarchitektur stellt einen Bastionhost, einen Schulungsknoten, einen Inferenzknoten, eine Benutzeranwendungs-VM und andere Komponenten in Oracle Cloud Infrastructure bereit. Die Architektur verwendet eine Region mit einer Availability-Domain und regionalen Subnetzen. Sie können dieselbe Architektur in einer Region mit mehreren Availability-Domains verwenden.



Diese Architektur enthält die folgenden Komponenten:

  • Bastion Host

    Compute-Instanz, die Zugriff auf andere Compute-Instanzen in einem privaten Subnetz bietet.

  • Schulungsknoten

    Compute-Instanz, in der Kunden das Modell ihrer Anwendung entwickeln und prüfen, wie beispielsweise eine neuronale Netzwerksimulation. Schulungsknoten sind leistungsstarke Instanzen, die Daten aus Object Storage abrufen, Vorgänge mit den Daten entsprechend dem verwendeten Modell ausführen und die Daten im angehängten gemeinsamen Block-Volume-Speicher speichern.

  • Inferenzserver

    Compute-Instanz, die die in den (von den Schulungsknoten verarbeiteten) Block-Volumes gespeicherten Daten für die Nutzung durch Benutzeranwendungen vorbereitet. Inferenzserver speichern ihre verarbeiteten Daten in File Storage.

  • Benutzeranwendungs-VM

    Diese VM führt die Benutzeranwendung aus und greift auf die Daten zu, die vom Inferenzserver verarbeitet werden, der in Shared File Storage gespeichert ist.

  • Load Balancer

    Der Load Balancer verteilt eingehenden Traffic an Benutzeranwendungs-VMs.

  • Dateispeicher

    Das Dateisystem ist auf dem Inferenzserver und den Benutzeranwendungs-VMs gemountet.

  • Objektspeicher

    Object Storage wird als Datenspeicher zum Speichern von Daten verwendet, die von den Schulungsknoten verwendet werden.

  • Block-Volume

    Mit dem Oracle Cloud Infrastructure Block Volume Service können Sie Blockspeicher-Volumes dynamisch bereitstellen und verwalten. Sie können Datenträger erstellen, anhängen, verbinden und verschieben sowie die Volume-Performance ändern, um Ihre Speicher-, Performance- und Anwendungsanforderungen zu erfüllen. Nach dem Anhängen und Verbinden eines Volumes mit einer Instanz können Sie das Volume wie ein reguläres Festplattenlaufwerk verwenden. Sie können ein Volume auch trennen und an eine andere Instanz anhängen, ohne Daten zu verlieren. Verwenden Sie Blockspeicher zum Speichern von Journal- oder Logdateien.

  • Virtuelles Cloud-Netzwerk (VCN) und Subnetze

    Jede Compute-Instanz wird in einem VCN bereitgestellt, das in Subnetze segmentiert werden kann.

  • Sicherheitslisten

    Für jedes Subnetz können Sie Sicherheitsregeln erstellen, die Quelle, Ziel und Typ des Traffics angeben, der im Subnetz und aus dem Subnetz zugelassen werden muss.

  • Availability-Domains

    Availability-Domains sind eigenständige, unabhängige Data Center in einer Region. Die physischen Ressourcen in jeder Availability-Domain sind von den Ressourcen in den anderen Availability-Domains isoliert, was eine Fehlertoleranz bietet. Availability-Domains haben keine gemeinsame Infrastruktur wie Stromversorgung oder Kühlung oder das interne Availability-Domainnetzwerk. Daher ist es wahrscheinlich, dass sich ein Fehler in einer Availability-Domain auf die anderen Availability-Domains in der Region auswirkt.

  • Faultdomains

    Eine Fehlerdomain ist eine Gruppierung aus Hardware und Infrastruktur innerhalb einer Availability-Domain. Jede Availability-Domain hat drei Faultdomains mit unabhängiger Stromversorgung und Hardware. Wenn Sie Ressourcen auf mehrere Faultdomains verteilen, können Ihre Anwendungen physische Serverfehler, Systemwartung und Stromausfälle innerhalb einer Faultdomain tolerieren.

Empfehlungen

Ihre Anforderungen können sich von der hier beschriebenen Architektur unterscheiden. Verwenden Sie die folgenden Empfehlungen als Ausgangspunkt.

  • Bastion Host

    Verwenden Sie eine VM.Standard.1.1 Compute-Ausprägung. Dieser Host wird für den Zugriff auf andere Compute Nodes verwendet und ist nicht an der Datenverarbeitung oder anderen Aufgaben beteiligt.

  • Schulungsknoten

    Verwenden Sie die Ausprägung BM.GPU3.8, die 2x25 Gbit/s Netzwerkbandbreite und ausreichende GPU (8xV100) für Data Science-Anwendungen bereitstellt. Dieser Knoten stellt das Modell der Anwendung bereit und prüft es, sodass eine erhöhte GPU-Leistung erforderlich ist. Beginnen Sie mit bis zu drei Knoten, und skalieren Sie bei Bedarf mit der Funktion zur automatischen Skalierung.

  • Inferenzserver

    Verwenden Sie die Ausprägung BM.GPU2.2, die 2x25 Gbit/s Netzwerkbandbreite und ausreichende GPU (2xP100) für Data Science-Anwendungen bereitstellt. Dieser Knoten erfordert aufgrund seiner Rolle etwas weniger GPU-Leistung. Beginnen Sie mit einem Knoten, und skalieren Sie die Autoscaling-Funktion bei Bedarf.

  • Benutzeranwendungs-VM

    Verwenden Sie VM.Standard.2.2shape. Diese Knoten werden für die Benutzeranwendung verwendet. Daher sollte eine VM ausreichend sein. Beginnen Sie mit zwei VM-Knoten, und skalieren Sie mit dem Feature zur automatischen Skalierung nach Bedarf.

  • Load Balancer

    Der Load Balancer verteilt eingehenden Traffic an Benutzeranwendungs-VMs. Verwenden Sie die 100-Mbit/s-Ausprägung.

  • Dateispeicher

    File Storage wird bei Bedarf automatisch skaliert.

  • Objektspeicher

    Verwenden Sie einen einzelnen privaten Bucket mit einem vorab authentifizierten Link für ein Data Lake-Objekt.

  • Block-Volume

    Verwenden Sie zusätzlich zu lokal angeschlossenem Speicher mindestens drei Block-Volumes (1 TB) mit der Funktion für mehrere Anschlüsse. Dieser Zusatz bietet mehr Speicher.

  • VCN
    • Bestimmen Sie beim Erstellen eines VCN die Anzahl der erforderlichen CIDR-Blöcke und die Größe jedes Blocks basierend auf der Anzahl der Ressourcen, die Sie an Subnetze im VCN anhängen möchten. Verwenden Sie CIDR-Blöcke, die sich im standardmäßigen privaten IP-Adressbereich befinden.

    • Wählen Sie CIDR-Blöcke, die sich nicht mit einem anderen Netzwerk überschneiden (in Oracle Cloud Infrastructure, Ihrem On-Premise-Data Center oder einem anderen Cloud-Provider), in dem Sie private Verbindungen einrichten möchten.

    • Nachdem Sie ein VCN erstellt haben, können Sie die zugehörigen CIDR-Blöcke ändern, hinzufügen und entfernen.

    • Berücksichtigen Sie beim Entwerfen der Subnetze Ihre Funktionalität und Sicherheitsanforderungen. Hängen Sie alle Compute-Instanzen innerhalb derselben Ebene oder Rolle an dasselbe Subnetz an.

    • Regionale Subnetze verwenden

  • Sicherheitslisten

    Verwenden Sie Sicherheitslisten, um Ingress- und Egress-Regeln zu definieren, die für das gesamte Subnetz gelten. Beispiel: Diese Architektur ermöglicht ICMP intern für das gesamte private Subnetz.

Überlegungen

Beachten Sie beim Deployment dieser Referenzarchitektur die folgenden Punkte.

  • Performance

    Um die beste Performance zu erzielen, wählen Sie die richtige Compute-Ausprägung mit entsprechender Bandbreite.

  • Verfügbarkeit

    Sie sollten eine High Availability-Option basierend auf Ihren Deployment-Anforderungen und Ihrer Region verwenden. Zu den Optionen gehört die Verwendung mehrerer Availability-Domains in einer Region und Faultdomains.

  • Kostenfaktor

    Eine Bare-Metal-GPU-Instanz liefert die erforderliche CPU-Leistung für höhere Kosten. Bewerten Sie Ihre Anforderungen, um die entsprechende Compute-Ausprägung auszuwählen.

  • Überwachung und Warnungen

    Richten Sie Monitoring und Alerts zur CPU- und Speicherauslastung für die Knoten ein, damit Sie die Ausprägung nach Bedarf vertikal oder horizontal skalieren können.

Bereitstellen

Der Terraform-Code für diese Referenzarchitektur ist als Stack in Oracle Cloud Marketplace verfügbar.

  1. Gehen Sie zu Oracle Cloud Marketplace.
  2. Klicken Sie auf App abrufen.
  3. Befolgen Sie die Bildschirmanweisungen.

Änderungslog

In diesem Log werden nur die wesentlichen Änderungen aufgeführt: