世界のスーパーコンピュータとそれを動かす人々


3月 22, 2022

マイクロソフトの「Singularity」、AI育成のためのグローバルアクセラレーターネットワークを実現

HPCwire Japan

Oliver Peckham

SFや未来研究において「シンギュラリティ」という言葉は、雪だるま式に急速に発達する人工知能が自己の反復を繰り返しながら、人間の知識や能力を凌駕していくことを指して使われることがある。マイクロソフトは、おそらく野心的に、この言葉を新しいAIプロジェクト、「ディープラーニングのトレーニングと推論のワークロードを高効率かつ高信頼性で実行するためのグローバル分散スケジューリングサービス」に用いているのだ。

マイクロソフトのSingularityは、深層学習ワークロードのトレーニングにかかる計算コストへの対応であり、そのコストはワークロードのサイズ、複雑さ、数の増加に伴って急速に膨れ上がっている。また、ハイパフォーマンス・コンピューティング・システムとそのシステム上でのAIモデル・トレーニングのコストと環境フットプリントをいかにして最小化するかという議論の焦点となっているアイドル時間を最大限に活用する試みでもある。

「Singularityは、1つの主要目標を持って作られている」と、20数名のマイクロソフト研究者のチームによって書かれ、arXivで公開されたプレプリント論文で説明されている。「惑星規模で与えられた固定容量のアクセラレータのプールで、複数の価格階層に対して厳しい[サービスレベル契約]を提供しつつ、総計の有用スループットを最大化することによってAIのコストを下げる」と書かれている。

「Singularityの中心には、AIアクセラレータ(例:GPU、FPGA)のグローバルフリートに対して、その正しさやパフォーマンスに影響を与えずに高い利用率を推進するために、深層学習のワークロードを透過的に先取りして弾力的に拡張できる、新しいワークロード認識スケジューラーがあります。」

研究者によると、Singularityはこのアクセラレータのフリート全体を 「単一のローカルな共有クラスタとして扱い、リソースの断片化や静的な容量予約を回避する 」とのことである。Singularityは、リソースの増減に合わせてジョブを弾力的にスケーリングし、必要に応じて、ノード、クラスタ、リージョン間でジョブのチェックポイント、先取り、移行を行うことでこれを管理する。このスケジューラは、クラスタ、地域、ワークロードの境界を超えると同時に、プリエンプト(割込み)されたところからジョブを再開することで障害に対する回復力を確保するという。

画像提供:研究者

 

論文では、ほとんどの時間をスケジューラに費やしている。「この論文では、Singularityスケジューラの上記のコアメカニズムにのみ焦点を当てる」と書かれているが、Singularityは「非常に広範かつ複雑な分散システム」である。スケジューラの仕組みの詳細については、「Singularity: Planet-Scale, Preemptive and Elastic Scheduling of AI Workloads」と題された論文を読むことだ。

しかし、研究者たちは、Singularityのハードウェア実装を垣間見せた。彼らは、数十万台のアクセラレータのグローバルフリートまで拡張することができると述べている。この論文では、Nvidia DGX-2サーバを使った評価について述べている。各サーバは、2つのIntel Xeon Platinum 8168 CPU、1384GB RAM、16基の V100 GPUを搭載している。マイクロソフトは、このDGX-2サーバが評価に何台使われたかは明記していない。

「Singularityは、驚くほどシンプルなユーザエクスペリエンスで、これらすべてを実現しています」と、同論文は付け加えている。「ユーザはMLタスクにのみ集中し、チェックポイントやエラスティックについて考える必要はありません。これらのメカニズムは、ユーザにとって完全に透過的なインフラの最適化なのです。」

この研究の詳細については、こちらの論文をお読みください。