ディープグラフネットワークのトレーニング - Amazon SageMaker

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ディープグラフネットワークのトレーニング

この概要では、Amazon Elastic Container Registry (Amazon ECR) の DGL コンテナのひとつを使用して、ディープグラフネットワークを開始する方法について説明します。また、ディープグラフネットワークの実用的な例にアクセスできるリンクも提供されています。

ディープグラフネットワークとは

ディープグラフネットワークとは、ニューラルネットワークの一種で、グラフの問題を解決するためにトレーニングされたもののことです。ディープグラフネットワークは、 PyTorch や MXNet などの基盤となる深層学習フレームワークを使用します。実用的な AI アプリケーションでのグラフネットワークの可能性は、Amazon SageMaker チュートリアルの「ディープグラフライブラリ (DGL)」で強調表示されています。グラフデータセットのトレーニングモデルの例としては、ソーシャルネットワーク、ナレッジベース、生物学、化学などがあります。

The DGL ecosystem.

図 1。DGL エコシステム

DGL で事前設定された Amazon SageMakerの深層学習コンテナを使用して、いくつかの例を示します。DGL で使用する特別なモジュールがある場合は、独自のコンテナを作成することもできます。例には、数種類のノードとエッジを持ち、バイオインフォマティクスやソーシャルネットワーク解析など、さまざまな科学分野にわたるさまざまなアプリケーションを対象とするヘテログラフが含まれています。DGL は、異なるタイプのモデルに対するグラフニューラルネットワークの実装を幅広く提供します。主な例は次のとおりです。

  • グラフ畳み込みネットワーク (GCN)

  • リレーショナルグラフ畳み込みネットワーク (R-GCN)

  • グラフアテンションネットワーク (GAT)

  • グラフ深層生成モデル (DGMG)

  • ジャンクションツリーニューラルネットワーク (JTNN)

使用を開始する

DGL は、Amazon ECR のディープラーニングコンテナとして使用できます。Amazon SageMaker Notebook で推定器関数を記述するときに、深層学習コンテナを選択できます。独自のコンテナガイドに従いDGL を使用して、独自のカスタムコンテナを作成することもできます。ディープグラフネットワークを始める最も簡単な方法は、Amazon ECR の DGL コンテナの 1 つを使用することです。 

注記

バックエンドフレームワークのサポートは、 PyTorch および MXNet に制限されています。

セットアップ

Amazon SageMaker Studio を使用している場合は、まずサンプルリポジトリのクローンを作成する必要があります。ノートブックインスタンスを使用している場合は、左側のツールバーの下部にある SageMaker アイコンを選択すると、例を見つけることができます。

Amazon SageMaker SDK とノートブックのサンプルリポジトリのクローンを作成するには
  1. Amazon JupyterLabのビューから SageMaker、左側のツールバーの上部にあるファイルブラウザに移動します。[ファイルブラウザパネル] では、パネルの上部に新しいナビゲーションが表示されます。

  2. 右端のアイコンを選択して、Git リポジトリのクローンを作成します。

  3. リポジトリ URL:https://github.com/awslabs/amazon-sagemaker-examples.git を追加します。

  4. 新しく追加したフォルダとその内容を参照します。DGL の例は sagemaker-python-sdkフォルダに保存されます。

グラフネットワークのトレーニングの実行例

ディープグラフネットワークをトレーニングするには
  1. Amazon の JupyterLabビューで SageMaker、サンプルノートブックを参照して DGL フォルダを探します。サンプルをサポートするために、いくつかのファイルを含めることができます。README で前提条件を確認します。

  2. .ipynb ノートブックのサンプルを実行します。 

  3. 推定関数を見つけ、DGL 用の Amazon ECR コンテナと特定のインスタンスタイプを使用している行をメモします。これを更新すると、任意のリージョンのコンテナを使用できます。

  4. 関数を実行してインスタンスを起動し、DGL コンテナを使用してグラフネットワークのトレーニングを行います。このインスタンスの起動には料金が発生します。トレーニングが完了すると、インスタンスは自動的に終了します。

ナレッジグラフ埋め込み (KGE) の例を挙げます。これは、一般的な事実のナレッジベースである Freebase データセットを使用します。使用例としては、人の関係をグラフ化し、その国籍を予測することが挙げられます。 

グラフ畳み込みネットワーク (GCN) の実装例では、グラフネットワークを訓練して毒性を予測する方法を示します。生理学データセットである Tox21 は、物質が生物学的反応に及ぼす影響についての毒性測定を提供します。 

もう 1 つの GCN の例は、Cora として知られる、科学誌の出版目録のデータセットを基にグラフネットワークをトレーニングする方法が記載されています。これを使用すると、作成者、トピック、および学会の関係を検索できます。

最初の例は、映画レビューに推奨されるシステムです。 MovieLens データセットでトレーニングされたグラフ畳み込み行列補完 (GCMC) ネットワークを使用します。これらのデータセットは、映画のタイトル、ジャンル、ユーザーによる評価で構成されます。

DGL でのディープラーニングコンテナの使用

次の例では、事前設定された深層学習コンテナを使用します。これは、Amazon ですぐに機能するため、最も簡単に試すことができます SageMaker。

DGL で独自のコンテナを持ち込む

以下の例を使用すると、独自のコンテナ (BYOC) を持ち込むことができます。これらを試す前に、BYOC ガイドを読み、そのプロセスを理解してください。設定が必要です。