(前回記事はこちら

 GPUインフラの特性や使いこなしのノウハウを明らかにする特集。今回は、GPUインフラにおけるバスやネットワークの構成について、PFN チーフアーキテクトの奥田遼介氏と、さくらインターネット代表取締役社長の田中邦裕氏、同社で高火力コンピューティングを担当する須藤武文氏に聞いた。

(聞き手は浅川 直輝=日経コンピュータ


さくらインターネットがPFN向けに提供しているGPUインフラのネットワークには、一般的なEthernet(イーサネット)でなく、より高速なInfiniband(インフィニバンド)を採用していると聞きました。ディープラーニングにおいて、Infinibandのようなサーバー間接続のネットワークの性能はどれくらい重要なんですか。

写真●右から、PFN チーフアーキテクトの奥田遼介氏、さくらインターネット代表取締役社長の田中邦裕氏、さくらインターネットで高火力コンピューティングを担当する須藤武文氏
[画像のクリックで拡大表示]

PFNの奥田氏 実は、本当にInfinibandを採用するかは、最後まで悩んだところなんですけどね。

 Infinibandがいい面は2つあります。1つは帯域、つまり通信速度の速さ。もう1つはレイテンシー、つまり遅延時間の短さです。ただ、我々が開発するディープラーニングのオープンソースソフト「Chainer」のユーザーの多くはInfinibandを使える環境にはなく、またInfinibandは使いこなしの難易度が高く、そこに最適化するわけにはいかないという悩ましさがありました。

さくらインターネットの田中氏 ディープラーニングのワークロードからみると、InfinibandはEthernetと比べて相当優位なんでしょうか?

 例えばEthernetの場合、帯域10G(ギガ)bpsの次は100Gbpsになりますが、100Gはまだ特殊で価格が高い。それと比べれば、Infinibandのほうがbps当たりの単価は安い。なので、そのワークロードが求めるネットワーク帯域が10Gbpsを超えるかどうか、に1つの境があるんじゃないかなと考えました。

奥田氏 うーん。相当優位かといわれると…実はディープラーニングの学習において、ネットワークの優位性はそれほど必要ではないのでは、という意見も出てきているなど、まだ議論は混沌としています。

 ディープラーニングにおけるハードウエアのボトルネックは、基本的には2つあります。1つはサーバー内部のバスとしてCPUとGPUなどをつなぐPCI Expressの帯域。ここにGPUボード1本当たり16Gバイト/秒、つまり128Gbpsという限界があります。第2段階はサーバー同士をつなぐネットワークの帯域です。Ethernetでは10Gbps、Infinibandでは56Gbpsの制約になります。ここで帯域の広いInfinibandを選ぶことは合理的です。

 ただこれはあくまで「基本」の話で、実態としてはもっと難しいことが起こっています。Infiniband、MPI(Message Passing Interface:並列コンピューティングに関わる共通規格)、CUDA(Compute Unified Device Architecture:米エヌビディアが提供するGPU向け開発環境)の3つを併せて使うと、先の基本的な理解では説明できない、奇妙な現象が発生してしまうことがあります。どこにボトルネックがあるか、実際に切り分けるのは難しいんです。

 最近では(米フェイスブックが「ニューラルネットワーク向けサーバー」としてハードウエアアーキテクチャーを公開した)「Big Sur」のような、GPUボードを8本挿せるサーバーも登場しています。PCI Expressが持つ40レーンを、GPUボードの各スロットやInfinibandにどう割り当てるか、(見かけ上のレーン数やスロットを増やせる)スイッチチップを置くか否か、といった構成の違いによって、伝送路のパフォーマンスが大きく変わってきてしまうんですね。

なるほど。どこがボトルネックなのか、一概には言いにくい状態になっていると。

この先は会員の登録が必要です。有料会員(月額プラン)は申し込み初月無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら