11
Baiduの「Ring Allreduce」ライブラリは、多数のGPUノードにわたる機械学習の効率を向上します。

Baiduのリングallreduceアルゴリズム

Baiduのリングallreduceアルゴリズム

Baidu の Silicon Valley AI Lab (SVAIL) は、ディープラーニング コミュニティ向けにリング AllReduce アルゴリズムを実装したことを発表しました。これにより、GPU モデル全体に​​わたるニューラル ネットワークのトレーニングが大幅に高速化されます。

効率的な並行トレーニングの必要性

ニューラルネットワークが数億、あるいは10億を超えるパラメータを持つようになるにつれ、学習に必要なGPUノードの数も増加しています。しかし、ノード数が増えるほど、各ノードで実行される計算量の観点からシステムの効率は低下します。そのため、高度に並列化されたシステム全体のパフォーマンスを最大化するアルゴリズムの必要性も高まっています。

すべてのGPUノードをより効率的に使用することで、ニューラルネットワークのトレーニングを高速化でき、ニューラルネットワークをトレーニングする企業は、本来は十分に活用されていないハードウェアに多額の投資をする必要がなくなります。Baiduは、高性能コンピューティング(HPC)の分野で「リング・オールリデュース」と呼ばれるアルゴリズムをディープラーニングに導入し、GPUノードの効率を向上させました。このリング・オールリデュース・アルゴリズムは、40個のGPUを使用した場合、サンプルのニューラルネットワークのトレーニングを1個のGPUを使用した場合と比較して31倍高速化できます。

リングAllreduceアルゴリズム

GPUでの学習は通常、複数のGPUから単一の「リデューサー」GPUにデータが送信されるため、学習速度にボトルネックが生じます。学習に必要なデータ量が増えるほど、この帯域幅のボトルネックは問題となります。

リング型AllReduceアルゴリズムでは、データ送信にかかる時間が短縮され、各GPU上でローカルにデータを処理する時間が増えます。GPUは「論理リング」(上の最初の図を参照)内で相互にデータを送信します。この構造により、計算をより効率的に行うことができます。

「リング型AllReduceは、多数のデバイスと多数のノードにまたがるニューラルネットワークの勾配を効率的に平均化することを可能にします」と、百度の研究科学者アンドリュー・ギビアンスキー氏は述べています。「この帯域幅最適化アルゴリズムをトレーニング中に使用すると、同期確率的勾配降下法の決定論性と予測可能な収束特性を維持しながら、通信オーバーヘッドを大幅に削減し、より多くのデバイスに拡張できるようになります」とギビアンスキー氏は付け加えました。

HPCと機械学習の融合のもう一つの例

最近、東京工業大学とNvidiaが提携して日本最速のスーパーコンピュータにAI計算機能を搭載するなど、HPCと機械学習の世界は急速に融合しつつあるようだ。 

Tom's Hardware の最高のニュースと詳細なレビューをあなたの受信箱に直接お届けします。

ハードウェアは両分野向けに開発が進んでおり、Baiduの新しいリング型Allreduceライブラリが示すように、ソフトウェアも同様に開発が進んでいます。この2つの世界の相乗効果は、機械学習と人工知能の進化をさらに加速させる可能性があります。

BaiduのSVAILは、最先端の音声認識モデルの学習にリング・オールリデュース・アルゴリズムを用いており、今後は他の研究者がグループの実装を活用して、さらに興味深い成果を挙げることを期待しています。グループはリング・オールリデュース実装を、スタンドアロンのC++ライブラリとTensorFlowのパッチの両方としてリリースしました。

ルシアン・アルマスは、Tom's Hardware USの寄稿ライターです。ソフトウェア関連のニュースやプライバシーとセキュリティに関する問題を取り上げています。