のオープンソース リリースを発表できることを嬉しく思います。 グラフストーム 0.1 は、エンタープライズ規模の複雑なグラフ上でグラフ ML ソリューションを数か月ではなく数日で構築、トレーニング、デプロイするためのローコード エンタープライズ グラフ機械学習 (ML) フレームワークです。 GraphStorm を使用すると、不正検出シナリオ、推奨事項、コミュニティ検出、検索/取得の問題など、ほとんどの実世界のデータに本質的に埋め込まれている数十億のエンティティ間の関係や相互作用の構造を直接考慮したソリューションを構築できます。
これまで、数十億のノード、数千億のエッジ、数十の属性を簡単に持つ複雑なエンタープライズ グラフ向けのグラフ ML ソリューションを構築、トレーニング、デプロイするのは非常に難しいことで知られていました。Amazon.com の商品をキャプチャしたグラフを想像してみてください。 、製品の属性、顧客など。 GraphStorm では、大規模なグラフ ML ソリューションを本番環境に導入するために Amazon が内部で使用するツールをリリースします。 GraphStorm はグラフ ML の専門家である必要はなく、GitHub の Apache v2.0 ライセンスに基づいて利用できます。 GraphStorm について詳しくは、次のサイトをご覧ください。 GitHubリポジトリ.
この投稿では、GraphStorm の概要、そのアーキテクチャ、およびその使用方法のサンプル ケースを紹介します。
GraphStorm の紹介
グラフ アルゴリズムとグラフ ML は、トランザクション リスクの予測、顧客の好みの予測、侵入の検出、サプライ チェーンの最適化、ソーシャル ネットワーク分析、トラフィック予測など、多くの重要なビジネス上の問題に対する最先端のソリューションとして登場しつつあります。 例えば、 アマゾンガードデューティは、ネイティブ AWS 脅威検出サービスであり、数十億のエッジを含むグラフを使用して、脅威インテリジェンスの範囲と精度を向上させています。 これにより、GuardDuty は、既知の悪意のあるドメインとの関連性に基づいて、これまで確認されていなかったドメインを悪意のあるドメインまたは良性である可能性が高いものとして分類できます。 グラフ ニューラル ネットワーク (GNN) を使用することで、GuardDuty は顧客に警告する機能を強化できます。
ただし、グラフ ML ソリューションの開発、立ち上げ、運用には数か月かかり、グラフ ML の専門知識が必要です。 最初のステップとして、グラフ ML サイエンティストは、Deep Graph Library (DGL) などのフレームワークを使用して、特定のユースケースのグラフ ML モデルを構築する必要があります。 このようなモデルのトレーニングは、数十億のノード、数千億のエッジ、さまざまなノードとエッジの種類、数百のノードとエッジの属性に日常的に到達するエンタープライズ アプリケーションのグラフのサイズと複雑さのため、困難です。 エンタープライズ グラフにはテラバイト規模のメモリ ストレージが必要になる場合があり、グラフ ML サイエンティストは複雑なトレーニング パイプラインを構築する必要があります。 最後に、モデルをトレーニングした後、推論のためにモデルをデプロイする必要があります。これには、トレーニング パイプラインと同じくらい構築が難しい推論パイプラインが必要です。
GraphStorm 0.1 は、ローコードのエンタープライズ グラフ ML フレームワークで、ML 実践者が効果的であることが証明されている事前定義されたグラフ ML モデルを簡単に選択し、数十億のノードを含むグラフで分散トレーニングを実行し、そのモデルを実稼働環境にデプロイできるようにします。 GraphStorm は、異種グラフを使用するエンタープライズ アプリケーション向けに、リレーショナル グラフ畳み込みネットワーク (RGCN)、リレーショナル グラフ アテンション ネットワーク (RGAT)、異種グラフ トランスフォーマー (HGT) などの組み込みグラフ ML モデルのコレクションを提供します。これにより、ML エンジニアはほとんどの労力を必要とせずに済みます。 ML の専門知識をグラフ化して、タスクに応じてさまざまなモデル ソリューションを試し、適切なソリューションを迅速に選択します。 エンドツーエンドの分散トレーニングおよび推論パイプラインは、数十億規模のエンタープライズ グラフに拡張できるため、推論のトレーニング、デプロイ、実行が容易になります。 GraphStorm やグラフ ML 全般を初めて使用する場合は、事前定義されたモデルとパイプラインの恩恵を受けることができます。 あなたがエキスパートであれば、最高のパフォーマンスを得るためにトレーニング パイプラインとモデル アーキテクチャを調整するためのあらゆるオプションがあります。 GraphStorm は、GNN モデル開発用の広く普及しているフレームワークである DGL 上に構築されており、Apache v2.0 ライセンスの下でオープンソース コードとして利用できます。
「GraphStorm は、顧客が業界アプリケーション向けにグラフ ML 手法を実験および運用し、グラフ ML の導入を加速できるように設計されています」と、Amazon AI/ML 研究の上級主席研究員である George Karypis 氏は述べています。 「Amazon 内でのリリース以来、GraphStorm はグラフ ML ベースのソリューションを構築する労力を最大 XNUMX 分の XNUMX に削減しました。」
「GraphStorm を使用すると、私たちのチームは、288 億 2 万のノードと 24 億のエッジを持つグラフ上で、自己教師型の方法で GNN 埋め込みをトレーニングできるようになります」と、Amazon Measurement、Ad Tech、および Data Science の主任応用科学者である Haining Yu 氏は述べています。 「事前トレーニングされた GNN 埋め込みは、買い物客の活動予測タスクにおいて、最先端の BERT ベースのベースラインと比較して XNUMX% の改善を示しています。 また、他の広告アプリケーションのベンチマーク パフォーマンスも上回っています。」
「GraphStorm が登場する前は、顧客は 500 億エッジのグラフを処理するために垂直方向にしかスケールできませんでした」と、Amazon Neptune および Amazon Timestream のゼネラル マネージャーである Brad Bebee 氏は述べています。 「GraphStorm を使用すると、顧客は数百億のエッジを持つ大規模な Amazon Neptune グラフ上で GNN モデルのトレーニングをスケーリングできます。」
GraphStorm の技術アーキテクチャ
次の図は、GraphStorm の技術アーキテクチャを示しています。
GraphStorm は PyTorch 上に構築されており、単一 GPU、複数 GPU、および複数 GPU マシン上で実行できます。 これは XNUMX つのレイヤーで構成されます (上の図の黄色のボックスでマークされています)。
- 最下層 (Dist GraphEngine) – 最下層は、分散グラフ、分散テンソル、分散エンベディング、分散サンプラーなど、分散グラフ ML を有効にする基本コンポーネントを提供します。 GraphStorm は、グラフ ML トレーニングを XNUMX 億ノードのグラフに拡張するためのこれらのコンポーネントの効率的な実装を提供します。
- 中間層 (GS トレーニング/推論パイプライン) – 中間層は、組み込みモデルとカスタム モデルの両方のモデルのトレーニングと推論を簡素化するためのトレーナー、評価者、予測子を提供します。 基本的に、このレイヤーの API を使用することで、モデルのトレーニングをどのようにスケールするかを気にすることなく、モデルの開発に集中できます。
- 最上層(GS一般模型動物園) – 最上層は、さまざまなグラフ タイプの人気のある GNN モデルと非 GNN モデルを備えたモデル 動物園です。 この記事の執筆時点では、異種グラフには RGCN、RGAT、HGT が、テキスト グラフには BERTGNN が提供されています。 将来的には、時相グラフ用の TGAT やナレッジ グラフ用の TransE や DistMult などの時相グラフ モデルのサポートを追加する予定です。
グラフストームの使い方
GraphStorm をインストールした後、アプリケーション用の GML モデルを構築およびトレーニングするために必要な手順は XNUMX つだけです。
まず、データ (カスタム特徴エンジニアリングを含む可能性があります) を前処理し、GraphStorm で必要なテーブル形式に変換します。 ノード タイプごとに、そのタイプのすべてのノードとその機能をリストするテーブルを定義し、各ノードに一意の ID を提供します。 エッジ タイプごとに、各行にそのタイプのエッジの送信元ノード ID と宛先ノード ID が含まれるテーブルを同様に定義します (詳細については、「 独自のデータを使用するチュートリアル)。 さらに、全体的なグラフ構造を記述する JSON ファイルを提供します。
XNUMX 番目に、コマンド ライン インターフェイス (CLI) を介して、GraphStorm の組み込み construct_graph
一部の GraphStorm 固有のデータ処理用コンポーネント。これにより、効率的な分散トレーニングと推論が可能になります。
XNUMX 番目に、YAML ファイルでモデルとトレーニングを構成します (例) そして、再び CLI を使用して、XNUMX つの組み込みコンポーネント (gs_node_classification
, gs_node_regression
, gs_edge_classification
, gs_edge_regression
, gs_link_prediction
) モデルをトレーニングするためのトレーニング パイプラインとして使用します。 このステップにより、トレーニングされたモデル アーティファクトが生成されます。 推論を行うには、最初の XNUMX つの手順を繰り返して、同じ GraphStorm コンポーネント (construct_graph
) 従来通り。
最後に、モデルのトレーニングに使用されたものと同じ XNUMX つの組み込みコンポーネントの XNUMX つを推論パイプラインとして呼び出して、エンベディングまたは予測結果を生成できます。
全体的なフローは次の図にも示されています。
次のセクションでは、使用例を示します。
生の OAG データを予測する
この投稿では、GraphStorm を使用して、大規模な生データセット上でグラフ ML トレーニングと推論をいかに簡単に実現できるかを示します。 の アカデミックグラフを開く (OAG) には 500 つのエンティティ (論文、著者、会場、所属、研究分野) が含まれています。 生のデータセットは、XNUMX GB を超える JSON ファイルに保存されます。
私たちの仕事は、論文の研究分野を予測するモデルを構築することです。 研究分野を予測するには、それを複数ラベルの分類タスクとして定式化できますが、フィールドが数十万あるため、ワンホット エンコーディングを使用してラベルを保存するのは困難です。 したがって、フィールドオブスタディノードを作成し、この問題をリンク予測タスクとして定式化し、ペーパーノードがどのフィールドオブスタディノードに接続するかを予測する必要があります。
グラフ手法を使用してこのデータセットをモデル化するには、最初のステップとしてデータセットを処理し、エンティティとエッジを抽出します。 次の図に示すように、JSON ファイルから XNUMX 種類のエッジを抽出してグラフを定義できます。 GraphStorm で Jupyter ノートブックを使用できます コード例 データセットを処理し、エンティティ タイプごとに XNUMX つのエンティティ テーブルと、エッジ タイプごとに XNUMX つのエッジ テーブルを生成します。 Jupyter ノートブックは、論文などのテキスト データを含むエンティティに BERT 埋め込みも生成します。
エンティティとエンティティ間のエッジを定義した後、 mag_bert.json
、グラフ スキーマを定義し、組み込みのグラフ構築パイプラインを呼び出します construct_graph
GraphStorm でグラフを構築します (次のコードを参照)。 GraphStorm グラフ構築パイプラインは単一マシンで実行されますが、ノードとエッジ フィーチャを並行して処理するマルチ処理をサポートしています (--num_processes
) エンティティとエッジのフィーチャを外部メモリに保存できます (--ext-mem-workspace
) 大規模なデータセットに拡張します。
このような大きなグラフを処理するには、グラフを構築するための大容量メモリ CPU インスタンスが必要です。 使用できます アマゾン エラスティック コンピューティング クラウド (Amazon EC2) r6id.32xlarge インスタンス (128 vCPU および 1 TB RAM) または r6a.48xlarge インスタンス (192 vCPU および 1.5 TB RAM) を使用して OAG グラフを構築します。
グラフを構築した後、次を使用できます。 gs_link_prediction
5.48 つの gXNUMXxlarge インスタンスでリンク予測モデルをトレーニングします。 組み込みモデルを使用する場合は、XNUMX つのコマンド ラインを呼び出すだけで分散トレーニング ジョブを起動できます。 次のコードを参照してください。
モデルのトレーニング後、モデル アーティファクトはフォルダーに保存されます。 /data/mag_lp_model
.
これで、リンク予測推論を実行して GNN 埋め込みを生成し、モデルのパフォーマンスを評価できるようになりました。 GraphStorm は、モデルのパフォーマンスを評価するための複数の組み込み評価メトリクスを提供します。 たとえば、リンク予測の問題の場合、GraphStorm はメトリック平均逆ランク (MRR) を自動的に出力します。 MRR は、実際のリンクが予測されたリンクの中でどの程度ランク付けされているかを評価するため、グラフ リンク予測モデルを評価するための貴重な指標です。 これにより予測の品質が把握され、モデルが真の接続に正しく優先順位を付けることが保証されます。これがここでの目的です。
次のコードに示すように、0.31 つのコマンド ラインで推論を実行できます。 この場合、モデルは、構築されたグラフのテスト セットで MRR XNUMX に達します。
推論パイプラインはリンク予測モデルからエンベディングを生成することに注意してください。 特定の論文の研究分野を見つける問題を解決するには、埋め込みに対して k 最近傍検索を実行するだけです。
まとめ
GraphStorm は、業界グラフ上でグラフ ML モデルを簡単に構築、トレーニング、展開できるようにする新しいグラフ ML フレームワークです。 これは、スケーラビリティや使いやすさなど、グラフ ML におけるいくつかの重要な課題に対処します。 生の入力データからモデルトレーニングやモデル推論まで、数十億規模のグラフを処理するための組み込みコンポーネントを提供し、複数の Amazon チームがさまざまなアプリケーションで最先端のグラフ ML モデルをトレーニングできるようになりました。 私たちをチェックしてください GitHubリポジトリ 。
著者について
大正 AWS AI/ML 研究の上級応用科学者であり、グラフ機械学習チームを率いて、グラフ機械学習を本番環境に導入するための技術とフレームワークを開発しています。 Da は、ジョンズ ホプキンス大学でコンピューター サイエンスの博士号を取得しました。
フロリアン・ソーペ AWS AI/ML 研究の主任テクニカルプロダクトマネージャーで、グラフ機械学習グループなどの高度な科学チームをサポートし、ML 機能を備えた Amazon DataZone などの製品を改善しています。 AWS に入社する前は、フロリアンはボッシュで自動運転の技術製品管理をリードし、マッキンゼー・アンド・カンパニーで戦略コンサルタントを務め、制御システム/ロボット科学者として働いていましたが、この分野で博士号を取得しています。
- SEO を活用したコンテンツと PR 配信。 今日増幅されます。
- EVMファイナンス。 分散型金融のための統一インターフェイス。 こちらからアクセスしてください。
- クォンタムメディアグループ。 IR/PR増幅。 こちらからアクセスしてください。
- プラトアイストリーム。 Web3 データ インテリジェンス。 知識増幅。 こちらからアクセスしてください。
- 情報源: https://aws.amazon.com/blogs/machine-learning/fast-track-graph-ml-with-graphstorm-a-new-way-to-solve-problems-on-enterprise-scale-graphs/
- :持っている
- :は
- $UP
- 1
- 1 TB
- 100
- 16
- 31
- 500
- 7
- 8
- 9
- a
- できる
- 私たちについて
- アカデミック
- 加速する
- 精度
- アクティビティ
- 実際の
- Ad
- 加えます
- 添加
- アドレス
- 養子縁組
- 広告
- 高度な
- 所属
- 後
- 再び
- AI / ML
- 警告
- アルゴリズム
- すべて
- 許す
- ことができます
- また
- Amazon
- Amazon EC2
- アマゾン海王星
- アマゾンタイムストリーム
- Amazon Webサービス
- Amazon.com
- 間で
- an
- 分析
- および
- アナウンス
- 期待して
- どれか
- アパッチ
- API
- 申し込み
- 適用された
- 建築
- です
- AS
- 協会
- At
- 注意
- 属性
- 著者
- 自動化
- 自動的に
- 利用できます
- AWS
- ベース
- ベースライン
- 基本
- 基本的に
- BE
- なぜなら
- き
- ベンチマーク
- 恩恵
- BEST
- の間に
- 10億
- 億
- 両言語で
- ボトム
- ボックス
- ブラッド
- 持って来る
- ビルド
- 内蔵
- 内蔵
- ビジネス
- 焙煎が極度に未発達や過発達のコーヒーにて、クロロゲン酸の味わいへの影響は強くなり、金属を思わせる味わいと乾いたマウスフィールを感じさせます。
- by
- 缶
- 機能
- キャプチャ
- キャプチャ
- 場合
- チェーン
- 課題
- 挑戦
- チェック
- 分類
- コード
- コレクション
- COM
- コミュニティ
- 会社
- 複雑な
- 複雑さ
- コンポーネント
- コンポーネント
- 計算
- コンピュータ
- コンピュータサイエンス
- お問合せ
- Connections
- からなる
- 構築する
- 構築
- 建設
- コンサルタント
- 含まれています
- コントロール
- 可能性
- カバレッジ
- 作ります
- カスタム
- 顧客
- Customers
- da
- データ
- データ処理
- データサイエンス
- データセット
- 日
- 深いです
- 定義する
- 定義
- 実証します
- 展開します
- 展開
- 設計
- デスティネーション
- 検出
- 開発する
- 開発
- 開発
- dgl
- 異なります
- 難しい
- 直接に
- 配布
- 分散トレーニング
- do
- そうではありません
- ドメイン
- 数十
- 運転
- 原因
- 各
- 簡単に
- 簡単に
- エッジ(Edge)
- 効果的な
- 効率的な
- 努力
- 埋め込まれた
- 埋め込み
- 新興の
- enable
- 使用可能
- 可能
- 端から端まで
- エンジニアリング
- エンジニア
- 高めます
- Enterprise
- エンティティ
- エンティティ
- 評価する
- 評価します
- 評価
- さらに
- 例
- 超え
- 興奮した
- 実験
- エキスパート
- 専門知識
- 外部
- エキス
- 特徴
- 特徴
- フィールド
- フィールズ
- フィギュア
- File
- 最後に
- 発見
- 名
- フロー
- フォーカス
- フォロー中
- 形式でアーカイブしたプロジェクトを保存します.
- 4
- フレームワーク
- フレームワーク
- 詐欺
- 不正検出
- から
- 未来
- 生成する
- 生成
- ジョージ
- 取得する
- GitHubの
- 与えられた
- GM
- GPU
- GPU
- グラフ
- グラフ
- グループ
- ハンドル
- ハード
- 持ってる
- he
- 助けます
- こちら
- ハイ
- 非常に
- 彼の
- 保持している
- 認定条件
- どのくらいの高さ
- How To
- HTTP
- HTTPS
- 何百
- ID
- イド
- if
- 重要
- 改善します
- 改善
- 改善
- in
- その他の
- 含めて
- 産業を変えます
- 情報
- 本質的に
- インストールする
- を取得する必要がある者
- インテリジェンス
- 相互作用
- インタフェース
- 内部で
- に
- 概要
- IT
- ITS
- ジョブ
- ジョーンズ·ホプキンス大学
- 参加
- JPG
- JSON
- ただ
- キー
- 知識
- 既知の
- ラベル
- 大
- 大規模
- 起動する
- 発射
- 層
- 層
- つながる
- 主要な
- LEARN
- 学習
- 図書館
- ライセンス
- ような
- 可能性が高い
- LINE
- LINK
- リンク
- リスト
- 少し
- 機械
- 機械学習
- マシン
- 胃
- make
- 作る
- 作成
- 管理
- マネージャー
- 方法
- 多くの
- マークされた
- 大規模な
- マッキンゼー
- マッキンゼーアンドカンパニー
- 意味する
- 測定
- メモリ
- 方法
- メソッド
- メトリック
- メトリック
- 真ん中
- 百万
- ML
- モデル
- ヶ月
- 他には?
- 最も
- の試合に
- ネイティブ
- 必要
- ネプチューン
- ネットワーク
- ネットワーク
- ニューラルネットワーク
- 新作
- ノード
- ノート
- 今
- 客観
- of
- オファー
- on
- ONE
- の
- オープンソース
- オープンソースコード
- オペレーティング
- 最適化
- オプション
- or
- その他
- 私たちの
- でる
- が
- 全体
- 自分の
- 紙素材
- 論文
- 並列シミュレーションの設定
- 実行する
- パフォーマンス
- 選ぶ
- パイプライン
- プラトン
- プラトンデータインテリジェンス
- プラトデータ
- 人気
- ポスト
- :
- 予測する
- 予測
- 予測
- 予測
- 予測
- プ
- 前に
- 校長
- 問題
- 問題
- プロセス
- 処理
- プロダクト
- 製品管理
- プロダクトマネージャー
- 生産
- 製品
- 実績のある
- 提供します
- は、大阪で
- 提供
- 置きます
- パイトーチ
- 品質
- すぐに
- RAM
- ランク
- Raw
- リーチ
- 達します
- 現実の世界
- 提言
- 電話代などの費用を削減
- の関係
- リリース
- 繰り返す
- 必要とする
- の提出が必要です
- 必要
- 研究
- 結果
- 右
- リスク
- 日常的に
- 行
- ラン
- 同じ
- 言う
- スケーラビリティ
- 規模
- シナリオ
- 科学
- 科学者
- 科学者たち
- を検索
- セクション
- シニア
- サービス
- サービス
- セッションに
- すべき
- 表示する
- 示す
- 作品
- 同様に
- 簡素化する
- 単に
- サイズ
- 社会
- 社会的ネットワーク
- ソリューション
- 解決する
- 一部
- ソース
- 最先端の
- 手順
- ステップ
- ストレージ利用料
- 店舗
- 保存され
- 戦略
- 構造
- 勉強
- そのような
- 供給
- サプライチェーン
- サポート
- 支援する
- サポート
- テーブル
- 取る
- 取り
- 仕事
- チーム
- チーム
- テク
- 技術的
- テクニック
- 十
- test
- それ
- 未来
- グラフ
- ソース
- アプリ環境に合わせて
- そこ。
- したがって、
- ボーマン
- 彼ら
- 考える
- この
- しかし?
- 数千
- 脅威
- 三
- <font style="vertical-align: inherit;">回数</font>
- 〜へ
- 豊富なツール群
- top
- トラフィック
- トレーニング
- 訓練された
- トレーニング
- トランザクション
- 最適化の適用
- トランス
- true
- 試します
- 2
- type
- 下
- ユニーク
- 大学
- 使いやすさ
- つかいます
- 使用事例
- 中古
- 使用されます
- 貴重な
- さまざまな
- 会場
- 垂直に
- 、
- 訪問
- ました
- 仕方..
- we
- ウェブ
- Webサービス
- WELL
- いつ
- which
- 広く
- 意志
- 無し
- 働いていました
- 書き込み
- ヤムル
- You
- あなたの
- ゼファーネット
- ZOO