ディープラーニングの学習、あるいはeVDI環境の構築において、GPUを搭載した仮想サーバーを提供するクラウドサービスは非常に便利な存在です。しかしながら、いくつか気をつけるべきポイントがあるのも事実です。その1つとして意識したいのがコストです。
確かにクラウドサービスであれば、自社でGPUを搭載したサーバーを資産として持つ必要がなく、またハードウェアトラブルへの対応が不要になるなど、運用管理の負担が軽減されるといったメリットはあります。とはいえGPUを搭載した仮想サーバーの利用料金は決して安価とは言えず、継続的に利用すれば相当な額を支払うことになります。また、各パブリッククラウドが用意しているリザーブドプラン(一定期間の利用をコミットすることにより一定の価格割引が受けられるプラン)を利用した場合でも、プランによっては初期費用が発生することがあります。そのため、継続的な利用が見込まれ、かつGPUサーバーの台数が数台で事足りるような、小規模な環境を構築するといった場合であれば、オンプレミスでの運用も視野に入れるべきでしょう。
ディープラーニング用途などで計算量が膨大な場合、パフォーマンスも重要な問題となります。こうしたケースでは、複数のGPUサーバーを相互接続し、処理を分散させることで高速化を図ることが一般的ですが、そこで課題として浮かび上がってくるのがサーバー間の接続です。
このような分散処理では、サーバー間で多くのデータを転送することになりますが、そのネットワークが遅い、あるいは遅延が発生するといったことがあれば、全体のパフォーマンスに大きく影響します。そのため、サーバー間をどう相互接続するかは極めて重要です。
たとえばAIの領域において先進的な研究開発を行っているPreferred Networksでは、深層学習分野における最先端の研究開発用途として、128台のGPUサーバーを使った国内最大規模のシステム基盤を構築しています。この基盤を構築する際、同社はサーバー間を接続するインターコネクト(相互接続)にInfiniBandと呼ばれる技術を採用しました。それは、通常のネットワークよりも高速化が図れる上、遅延も小さいことから、データ転送のボトルネックを解消できるメリットがあったためです。
一方、クラウドサービスの場合、要件やニーズに合わせて相互接続に使う技術を選択するのは不可能でしょう。また極めて高速なデータ転送では、サーバー間の物理的な距離もパフォーマンスに影響を及ぼします。しかしパブリッククラウドでは仮想サーバーがどの物理サーバーで動くのかはわからないため、たとえばデータセンターの端と端にある物理サーバーがあてがわれてしまい、遅延が大きいことから思うようなパフォーマンスが得られなかったということも起こりえます。