大規模グラフニューラルネットワークの応用と最新のパラダイムの探究

大規模グラフニューラルネットワークの応用と最新のパラダイムの探究

1. 大規模グラフメモリ/計算問題を解決するための3つのパラダイム

2年前に作成したチュートリアルでは、大規模ニューラルネットワークを紹介し、20年前の大規模グラフニューラルネットワークの進歩について簡単に紹介しました。当時は、レイヤー単位、ノード単位、レイヤー単位、グラフ単位のサンプリングという 3 つのパラダイムが検討されていました。

さて、すべてはグラフ データのメモリと計算要件を削減することに帰着します。最も簡単な方法はグラフをサンプリングすることです。その年の概要のいくつかを振り返ると、2014年にグラフニューラルネットワークが人々の視野に入り始めてから2017年にGCNが爆発的に普及するまで、実は大規模グラフニューラルネットワークの研究は常に非常に継続的なプロセスでした。より良いサンプリングを構築する方法、サンプリングによって生じる偏りを減らす方法については誰もが考えており、多くの優れた研究が生まれています。

大規模 GNN の問題は本当に解決されたのでしょうか?私の答えは問題を解決しましたが、実際には解決しませんでした。まず第一に、実際の業界での応用の問題を解決します。特に、サブグラフ サンプリングに基づく方法は、常にサブグラフをサンプリングし、非常に複雑なモデルを適用し、最終的に適切な予測を得ることができます。これは、レコメンデーションなど、Tencent のいくつかのビジネス シナリオで適切に実装されています。

しかし、この方法は実際には根本的な問題を回避しており、大規模なグラフで GNN 更新を実際に実行できないため、この問題は実際には解決されていません。実際に実践してみると、場所によってシステムが異なり、データの保存形式も異なるため、グラフ サンプリング自体の効率はシステムの実装に依存することがわかります。グラフのサンプリングにかかる​​時間は、トレーニングにかかる​​時間よりも長くなる可能性があります。さらに、このタイプのサンプリングでは、精度が低下したり、情報が欠落したりするリスクがあります。特に、一部の医薬品や生物学のシナリオでは、ランダムな比較やサンプリングは実行できません。

では、過去 2 年間の大規模グラフ ニューラル ネットワークの進歩はどうでしょうか?一言で言えば、「サンプリングはしたくないが、大規模な GNN を実行したい」ということです。

2. 大規模GNNの最適化

これは、WWW の以前の GNN チュートリアルに似た図です。この概要はあまり包括的ではないかもしれませんが、この分野についての私の個人的な概要です。次に、重要なポイントをいくつか紹介します。この2年間で何をしてきましたか?簡単に言うと、まずグラフ システムで分散グラフ システム コンピューティングの概念をいくつか使用しました。従来の GAS パラダイムが拡張されて SAGA になりました。このパラダイムに基づくと、システムの最適化を必要とするポイントが多数存在し、具体的な最適化ポイントは、第 1 にグラフの分割とグラフの分割の最適化、第 2 にノード機能の転送の最適化、第 3 にパイプラインと通信の最適化に存在する可能性があります。次に、それぞれについて簡単に紹介します。

1. 従来のグラフコンピューティングモデルのGAS拡張

まず、SAGA とは何でしょうか? SAGA について話すときは、GAS とは何かについて説明します。 GSA は、過去の分散グラフ コンピューティングにおける非常に古典的なパラダイムです。グラフ コンピューティング全体を、Gather、Apply、Scatter の 3 つのステップに分割します。

  • Gather とはどういう意味ですか?収集とは、エッジを通じて隣接情報を収集することを意味します。
  • 「適用」とはどういう意味ですか? Apply は、収集された情報を使用して更新されたノード情報を計算することと同じです。
  • 散布とは、更新されたノード情報をこのエッジに更新することを意味します。

PageRank など、多くのグラフ アルゴリズムは GAS を使用して形式化できます。つまり、メッセージ伝播に基づくグラフニューラルネットワークに直面した場合、SAGAと呼ばれるGASメソッドに基づいて拡張することができます。

これは、散布、エッジの適用、収集、頂点の適用の 4 つのステップに分けられます。

Scatter は、ノード データを最初にエッジに送信するという、元の GAS Scatter と同じです。このステップは GPU を集中的に使用します。

次に、このノードの特徴がエッジに入力されます。将来的には、このエッジに入力されたメッセージが処理される可能性があります。この処理は、たとえば、GAT での計算重みやその他の複雑な操作である可能性があります。この処理にはニューラル ネットワークが適用され、GPU を集中的に使用します。

3 番目に、Gather はメッセージを送信しており、それらは処理済みのメッセージである可能性があります。この場合、新しいメッセージを取得するには、近隣間の関係を通じてメッセージを集約する必要があります。これは間違いなく CPU を集中的に使用します。

4 番目のステップでは、集約されたメッセージを取得した後、ニューラル ネットワークを介して実行される追加の更新が必要になる場合があります。この更新の結果は、実際には更新されたノードの最終的な表現になります。したがって、このステップは「頂点の適用」と呼ばれ、実際には GPU を集中的に使用します。

このパラダイムから実際に次のことがわかります。

まず、グラフ分割、パイプライン、スケジューリング戦略など、過去の GS の優れたシステムと最適化戦略から学ぶことができます。

2 番目に、ここには課題があります。たとえば、前述のように、これは GPU と CPU に交互に負荷がかかるタスクなので、どのように最適化できるでしょうか。たとえば、GPU と CPU 間のデータ転送、さらには異なるクラスター間のデータ転送は、実は非常に深刻な問題であり、近年の注目の研究テーマとなっています。次に、それらの関係性を紹介しましょう。

2. グラフの分割とグラフの分割の最適化

(1)単一マシン上でのグラフ分割

まず、最初の最適化ポイントであるグラフの分割とグラフ分割の最適化についてですが、本質的には、グラフをビデオメモリや単一のマシン上に置くことは不可能であるため、グラフを異なるサーバーに分割する必要があります。新しいグラフの場合、この局所性を考慮したグラフ分割戦略により、同じノードに接続されたエッジが可能な限り同じウィンドウ内に配置されるようになります。これにより、更新時に他のウィンドウにアクセスする必要がなくなり、メモリ アクセスを最適化できます。

(2)モデルグラフに基づく分割

2 番目に、ROC 作業では実際に線形回帰モデルを導入します。このモデルは各サーバーの実行時間を予測し、この実行時間を使用して次のラウンドのパーティション グラフ パーティションの戦略を更新します。以下は、モデルのコストと実行時間に基づいてグラフを分割したものです。

(3)ノード機能の垂直分割

P3 は、パーティショニングの欠点のいくつかを単純に回避します。パーティショニングがノードまたはエッジに基づいている場合、追加の情報通信と情報損失につながるためです。したがって、P3 のパーティショニングはグラフではなく、機能に基づいています。この動機の機能次元は非常に大きく、すべてを同じマシンに配置することは不可能です。ただし、このノードは本質的には隣接リストであり、各サーバーに配置できます。したがって、各サーバーノードの機能は垂直に動的に分割できます。これらの分割は次元ごとに各マシンに配置され、グラフの整合性が保証されるだけでなく、情報通信のコストも何らかの形で削減されます。

3. ノード機能の伝送の最適化

多くの研究で、ノード特徴の伝達の最適化が利用されています。ノードが C 特徴である場合に特に、ノードの元の特徴が GNN の次元よりもはるかに大きい場合があることがわかっています。その後の埋め込み後、このノード特徴は非常に大きくなります。したがって、ノード特性に基づいてマシン間で通信することは非常に不利であり、非経済的です。このような Move ノードの通信や計算を最小限に抑える、つまりノード機能の送信を最適化するにはどうすればよいでしょうか?つまり、この場所にも 3 つのタスクがあります。

PA グラフは実際には静的なキャッシュ メカニズムです。たとえば、あるビデオ メモリには計算用に 20 GB しか残っていないことがわかっています。ビデオ メモリがまだ 10 GB 残っている場合は、一部のノードの元の機能がキャッシュされます。この戦略は、本質的には静的キャッシュ メカニズムに基づいています。エッジ ポイントの Out Degrees をソートし、Out Degrees が多いポイントをキャッシュに投入します。明らかに、Out Degrees が多いポイントの方が計算に参加する可能性が高くなるため、ノード フィーチャ送信の通信量は最初は削減されます。

DistGNN では、ブロッキングを開始するためのより複雑なメカニズムが設計されています。この開始ブロッキング メカニズムは、ノードを更新対象のターゲット ノードとターゲット ノードの隣接ノードの 2 つのカテゴリに分割します。従来の方法は、ターゲット ノードをトラバースしてから、その隣接ノード DistGNN をプルすることです。ここで説明するメカニズムは、隣接するノードを逆方向にトラバースし、ターゲット ノードの機能を交互に更新することです。これを行う利点は、ターゲット ノードの特性が CPU キャッシュに配置されることです。隣接ノードを検索するたびに、それを 1 回読み取るだけでよく、キャッシュは必要ありません。ターゲット ノードを更新するたびに、CPU キャッシュで更新されます。これにより、隣接ノードを繰り返しプルするオーバーヘッドを削減できます。

P3 の場合、P3 の目標は元の機能間の通信を生成することではないため、設計はより複雑になり、ハイブリッド パラメーター メカニズムが設計されます。入力層の GNN の場合、モデルは各単一マシン上で並列に実行されます。つまり、各単一マシンには機能の一部が含まれます。サブ部分活性化を計算し、各マシンがローカルで部分活性化を計算します。部分活性化は、入力層の GNN の出力に集約されます。入力層の GNN 出力を取得した後、通常のデータ並列処理が実行されます。このような計算を行う理由は、元の特徴の次元が特に大きいため、第 1 層 GNN のパラメーターと通信量が非常に大きくなるためです。最初の層を除いて、他の GNN のブラックホールのサイズは実際には比較的小さいです。この場合、最初の層をローカルで計算し、後でより深い DNN を計算すると、通信コストを大幅に削減できます。

4. パイプラインと通信の最適化

これは、パイプライン通信の最適化は言うまでもなく、非常に巧妙な設計です。パイプライン通信の最適化は、実は従来のグラフコンピューティングでよく行われています。簡単に言うと、同期的に更新される一部の情報は、次のラウンドの特徴を更新する前に、1ラウンドの特徴を計算する必要があります。しかし、時にはこれを別の方法で実行することもできます。代わりに、非同期更新が実行され、非同期更新のプロセスでは、データ集約のプロセスまたは更新プロセスでいくつかの古い特徴が使用されます。同時に、エージングメカニズムも設計されています。

これは、この分散システムにおける半同期メカニズムに相当します。半同期メカニズムにより、パイプラインを適切に設計でき、マルチマシン通信のコストを削減できます。時間の制約があるため、ここでは詳細には触れません。

古い特徴も使用できますが、古すぎる特徴は使用できません。特徴が古すぎる場合は更新が中断され、他のノードの特徴が最新のエポックに更新された後に更新が続行されます。

実際、Dorylus のような作業は複数のマシンで行われ、各マシンにはグラフ サーバー、Lambda スレッド、許可サーバーなど、異なる役割があります。この場合、パイプラインの設計には多くの詳細があります。一般的に、既存の方法も、複数の GPU を備えた単一のマシンから複数のマシンのハイブリッドへ、経験的な静的分割からこの動的分割へと徐々に移行し、より多くのシステムレベルのパイプライン最適化を導入しています。

同時に、SANCUS のような研究により、非同期更新によってモデルの収束と通信の最適化が保証されることがさらに証明されました。つまり、誰もが徐々に単純な実践から複雑な実践へ、そして理論的な保証のない実験から理論によって保証された実践へと移行するのです。この分野の発展は依然として非常に急速です。

IV. 今後の方向性

次に、今後の方向性についてお話しします。まず、SAGA パラダイムは実際にはすべてのグラフ ニューラル ネットワークに適用できるわけではないことがわかりました。 Message Passage ニューラル ネットワークに基づいていない場合、SAGA パラダイムに準拠しません。同様に、既存の GAS パラダイムのいくつかのシステム最適化トリックを使用して、システム全体のコストを最適化することは不可能です。たとえば、Graph Transformer などのモデルは最近非常に人気があり、20 年前から多くのモデルが登場しています。

したがって、フルグラフを最適化したり、そのようなモデルでフルグラフをトレーニングしたりできるかどうかは、実際には非常に難しい問題です。これは、アプリケーションがないという意味ではありません。たとえば、タンパク質モデリングの場合、タンパク質配列が十分に長く、タンパク質がグラフとして使用される場合、そのトレーニング コストは非常に高くなります。ビデオメモリの量は劇的に増加する可能性があるため、この非メッセージパッシングフレームワークの下でこのような大規模な GNN 向けにシステムを最適化する方法は非常に重要なトピックです。

2 つ目は、以前のグラフ ニューラル ネットワークには幾何学的情報が含まれていないことがよくあることです。幾何学的情報とは何でしょうか。それは、ノードが座標、速度、またはその他の幾何学的情報などの空間位置情報を持っている可能性があることを意味します。特に AI for Science の分野では、このような情報は本当にたくさんあります。

たとえば、粒子をモデル化します。この触媒システムのシミュレーションには幾何学的情報が含まれますが、幾何学的情報自体のクエリと更新は、データベース分野で非常に重要なトピックです。これは空間データベースと深く関連しています。したがって、このタイプのデータについては、既存の等価ニューラル ネットワークの結果に基づいて体系化またはスケーリングできますか?なぜなら、実際には、体系化とスケールアップも緊急に必要とされているからです。たとえば、以前、触媒コンペティションOCPがありました。このコンペティションには数百万の触媒システムが参加し、データ量はTレベルでした。実際、モデルのトレーニングと推論には大きな課題がありました。では、このような幾何学情報の出力ニューラルネットワークには、良い解決策があるのでしょうか?これも将来の研究の方向です。

5. 質疑応答

Q: グラフ ニューラル ネットワークを学術分野のものから実際に産業界で使用できるものに変えるには、まだ大きなギャップがあります。これには、アルゴリズム自体の最適化だけでなく、グラフ、コンピューティング プラットフォーム、実際のエンドツーエンドの開発に取り組んでいる現在のスタートアップも含まれます。誰もが、システムの最適化から上位レベルのアルゴリズム、そしてアプリケーションに至るまでの完全なシステムを構築し、創薬や金融などの分野に貢献したいと考えています。たとえば、このより高度な方法を使用すると、広告製品からより多くの情報を抽出できます。アルゴリズム アーキテクチャ全体について多くの研究を行ってきましたが、グラフ プラス、つまりサービスとしてのグラフ プラットフォーム コンピューティングについてはどうお考えですか?

A: これは非常に有望な方向性だと思います。簡単に言うと、グラフコンピューティングプラットフォーム自体はAI時代以前から多くの人によって研究されてきました。グラフには従来のグラフ アルゴリズムが多数存在するため、分散コンピューティングも必要です。このような分散コンピューティングはサービスですが、過去には基本的なコンピューティングしか実行されていなかった可能性があります。現在、グラフニューラルネットワークなどのテクノロジーの台頭により、このシステムはさらに多くの課題に直面していることがわかります。

たとえば、以前のデータは CPU 上で計算するだけで済みました。さて、GNN に似た構造については、ハイブリッド アーキテクチャが間違いなく必要になります。まず、これは実行するのが困難です。次に、これが実現した場合の敷居が非常に高いため、これは非常に有望な方向性です。

また、特に大企業では、この市場に参入するプレーヤーがまだ少ないのが現状です。この領域では、AIに携わる人とシステムに携わる人を集める必要がありますが、大企業では結局ビジネスが中心なので、両者をまとめるのはなかなか難しいのが実情です。したがって、これを開発し、実際に実用的なアプリケーションを提供するスタートアップ企業が必要です。たとえば、先ほどおっしゃった新薬の発見や、AI + 科学、あるいは都市の道路やソーシャル ネットワークへの応用などです。実際、このことは敷居が高く、将来性も期待できますが、さらに研究し、開発するには人々が必要です。

<<:  Microsoft Azure OpenAI への申請手順ガイド

>>:  ジェネレーティブAIがコンタクトセンターをどう変えるのか

ブログ    
ブログ    
ブログ    
ブログ    

推薦する

頑固なマージソートアルゴリズム

この記事はWeChatの公開アカウント「Beta Learns JAVA」から転載したもので、著者は...

...

...

語尾予測に基づく英語-ロシア語翻訳品質の向上方法

[51CTO.com からのオリジナル記事] ニューラルネットワーク翻訳モデルは、使用できる語彙のサ...

C# アルゴリズムが張さんの誕生日問題を解決する

C# アルゴリズムは張さんの誕生日問題をどのように実装するのでしょうか?まず、張さんの誕生日に関する...

人間はAIの課題にどう立ち向かうのか

経済学者が懸念している大きな問題は、人工知能が雇用にどのような影響を与えるかということです。人工知能...

Llama-2+Mistral+MPT=? 複数の異種大規模モデルの融合が驚くべき結果を示す

LLaMA や Mistral などの大規模言語モデルの成功により、大手企業やスタートアップ企業は独...

人工知能を活用して顧客サービスを向上させる方法

顧客エンゲージメント、パーソナライゼーションなど、5 つの異なる領域で AI を使用して顧客サービス...

PNASの新研究:ケンブリッジの学者らは、一部のAIモデルは計算できないことを発見した

最近、ケンブリッジ大学の学者たちは、米国科学アカデミー紀要(PNAS)に「安定かつ正確なニューラルネ...

765,000台の車両が関与!テスラの自動運転は米国で正式に調査中、NIOはすでに渦中に巻き込まれている

[[418112]]テスラは月曜日に駐車中の緊急車両との一連の衝突事故が発生した後、オートパイロット...

AIがセキュリティの自動化、分析、対応にどのように役立つか

人工知能 (AI) は、チャットボットから自動運転車まで、あらゆるものを説明するために使用できる幅広...

最新のAIオープンソースプロジェクト12件をダウンロードする必要があります

[[242968]] #TensorFlow に基づく強化学習フレームワークDopamine は、強...

ML Ops: データ品質が鍵

ML Ops は AI 分野における比較的新しい概念であり、「機械学習操作」として説明できます。モデ...

生体認証:デジタル時代への突入

生体認証とは、ある人物の特定の生物学的特徴に基づいてその人物を識別する技術の使用を指します。テクノロ...