Schulen eines Deep Graph-Netzwerks - Amazon SageMaker

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Schulen eines Deep Graph-Netzwerks

In dieser Übersicht erfahren Sie, wie Sie mit einem Deep Graph-Netzwerk beginnen können, indem Sie einen der DGL-Container in der Amazon Elastic Container Registry (Amazon ECR) verwenden. Sie können auch Links zu praktischen Beispielen für Deep Graph-Netzwerke sehen.

Was ist ein Deep Graph-Netzwerk?

Deep Graph-Netzwerke beziehen sich auf eine Art neuronales Netzwerk, das trainiert wird, um Probleme mit Graphs zu lösen. Ein Deep-Graph-Netzwerk verwendet ein zugrunde liegendes Deep-Learning-Framework wie PyTorch oder MXNet . Das Potenzial für Diagrammnetzwerke in praktischen KI-Anwendungen wird in den Amazon- SageMaker Tutorials für die Deep Graph Library (DGL) hervorgehoben. Beispiele für Trainingsmodelle anhand von Graph-Datasets sind soziale Netzwerke, Wissensdatenbanken, Biologie und Chemie.

The DGL ecosystem.

Abbildung 1. Das DGL-Ökosystem

Es werden mehrere Beispiele mit den Deep-Learning-Containern SageMakervon Amazon bereitgestellt, die mit DGL vorkonfiguriert sind. Wenn Sie spezielle Module haben, die Sie mit DGL verwenden möchten, können Sie auch einen eigenen Container erstellen. Die Beispiele umfassen Heterografien, also Graphen, die mehrere Arten von Knoten und Kanten aufweisen, und beziehen sich auf eine Vielzahl von Anwendungen in unterschiedlichen wissenschaftlichen Bereichen, wie Bioinformatik und Analyse sozialer Netzwerke. DGL bietet eine breite Palette von Implementierungen neuraler Graph-Netzwerke für verschiedene Modelltypen. Einige der Highlights sind:

  • Graph convolutional network (GCN)

  • Relational graph convolutional network (R-GCN)

  • Graph attention network (GAT)

  • Deep generative models of graphs (DGMG)

  • Junction tree neural network (JTNN)

Erste Schritte

DGL ist als Deep Learning-Container in Amazon ECR verfügbar. Sie können Deep-Learning-Container auswählen, wenn Sie Ihre Schätzerfunktion in ein Amazon- SageMaker Notebook schreiben. Sie können mit DGL auch Ihren eigenen Container erstellen, indem Sie der Anleitung Bring Your Own Container folgen. Der einfachste Weg, mit einem Deep-Graph-Netzwerk zu beginnen, verwendet einen der DGL-Container in Amazon ECR. 

Anmerkung

Die Unterstützung von Backend-Frameworks ist auf PyTorch und MXNet beschränkt.

Aufstellen

Wenn Sie Amazon SageMaker Studio verwenden, müssen Sie zuerst das Beispiel-Repository klonen. Wenn Sie eine Notebook-Instance verwenden, finden Sie die Beispiele, indem Sie das SageMaker Symbol unten in der linken Symbolleiste auswählen.

So klonen Sie das Amazon SageMaker SDK und das Notebook-Beispiel-Repository
  1. Rufen Sie in der JupyterLab Ansicht in Amazon SageMakerden Dateibrowser oben in der linken Symbolleiste auf. Im Datei-Browser-Bereich können Sie eine neue Navigation oben im Bereich sehen.

  2. Wählen Sie das Symbol ganz rechts, um ein Git-Repository zu klonen.

  3. Fügen Sie die Repository-URL hinzu:https://github.com/awslabs/amazon-sagemaker-examples.git

  4. Durchsuchen Sie den neu hinzugefügten Ordner und dessen Inhalt. Die DGL-Beispiele werden im sagemaker-python-sdk Ordner gespeichert.

Beispiel für das Ausführen eines Graph-Netzwerktrainings

So schulen Sie ein Deep Graph-Netzwerk
  1. SageMakerSuchen Sie in der JupyterLab Ansicht in Amazon in den Beispiel-Notebooks nach DGL-Ordnern. Es können mehrere Dateien enthalten sein, um ein Beispiel zu unterstützen. Überprüfen Sie die README auf alle Voraussetzungen.

  2. Führen Sie das .ipynb-Notebook-Beispiel aus. 

  3. Suchen Sie die Schätzfunktion und notieren Sie sich die Zeile, in der sie einen Amazon ECR-Container für DGL und einen bestimmten Instance-Typ verwendet. Möglicherweise möchten Sie dies aktualisieren, um einen Container in Ihrer bevorzugten Region zu verwenden.

  4. Führen Sie die Funktion aus, um die Instance zu starten, und verwenden Sie den DGL-Container für das Training eines Graph-Netzwerks. Für den Start dieser Instance fallen Gebühren an. Die Instance beendet sich selbst, wenn das Training abgeschlossen ist.

Beispiele

Ein Beispiel für die Wissensgraph-Einbettung (KGE) wird bereitgestellt. Es verwendet das Freebase Dataset, eine Wissensdatenbank allgemeiner Fakten. Ein Anwendungsfallbeispiel wäre, die Beziehungen von Personen grafisch darzustellen und ihre Nationalität vorherzusagen. 

Ein Beispiel für die Implementierung eines Graph Convolutional Network (GCN) zeigt, wie Sie ein Graph-Netzwerk trainieren können, um Toxizität vorherzusagen. Das physiologische Dataset Tox21 liefert Toxizitätsmessungen für die Auswirkung von Substanzen auf biologische Reaktionen. 

Ein weiteres GCN-Beispiel zeigt Ihnen, wie Sie ein Graph-Netzwerk anhand eines Literaturverzeichnis-Datasets wissenschaftlicher Publikationen trainieren, das als Cora bekannt ist. Sie können damit Beziehungen zwischen Autoren, Themen und Konferenzen aufdecken.

Das erste Beispiel ist ein Empfehlungssystem für Filmrezensionen. Es verwendet ein GCMC-Netzwerk (Graph Convolutional Matrix completion), das anhand der MovieLens Datensätze trainiert wurde. Diese Datasets bestehen aus Filmtiteln, Genres und Bewertungen von Benutzern.

Verwenden eines Deep Learning-Containers mit DGL

Das folgende Beispiel verwendet vorkonfigurierte Deep-Learning-Container. Dies ist am einfachsten auszuprobieren, da es auf Amazon sofort funktioniert SageMaker.

Bereitstellen eines eigenen Containers mit DGL

In den folgenden Beispielen können Sie Ihren eigenen Container (BYOC) bereitstellen. Lesen Sie den BYOC-Leitfaden und machen Sie sich mit diesem Prozess vertraut, bevor Sie diese ausprobieren. Eine Konfiguration ist erforderlich.