Skip to main content
QUICK REVIEW

[論文レビュー] Distributed SLIDE: Enabling Training Large Neural Networks on Low Bandwidth and Simple CPU-Clusters via Model Parallelism and Sparsity

Minghao Yan, Nicholas Meisburger|arXiv (Cornell University)|Jan 29, 2022
Advanced Neural Network Applications被引用数 4
ひとこと要約

本論文では、SLIDEアルゴリズムからの適応的スパarsityを活用することで、低帯域幅・低リソースのCPUクラスタ上でもほぼ10億パラメータのニューラルネットワークをトレーニング可能な分散モデル並列トレーニングフレームワーク、D-SLIDEを提案する。スパースな重み更新とハッシュテーブルをノード間で分散させることで、D-SLIDEは密度型手法と比較して通信量を99%削減し、Horovodと比較して最大80倍の高速化を達成。1 Gbpsのノード間接続を用いた4〜16コアCPU上でGPU性能に匹敵またはそれを上回るトレーニング速度を実現した。

ABSTRACT

More than 70% of cloud computing is paid for but sits idle. A large fraction of these idle compute are cheap CPUs with few cores that are not utilized during the less busy hours. This paper aims to enable those CPU cycles to train heavyweight AI models. Our goal is against mainstream frameworks, which focus on leveraging expensive specialized ultra-high bandwidth interconnect to address the communication bottleneck in distributed neural network training. This paper presents a distributed model-parallel training framework that enables training large neural networks on small CPU clusters with low Internet bandwidth. We build upon the adaptive sparse training framework introduced by the SLIDE algorithm. By carefully deploying sparsity over distributed nodes, we demonstrate several orders of magnitude faster model parallel training than Horovod, the main engine behind most commercial software. We show that with reduced communication, due to sparsity, we can train close to a billion parameter model on simple 4-16 core CPU nodes connected by basic low bandwidth interconnect. Moreover, the training time is at par with some of the best hardware accelerators.

研究の動機と目的

  • クラウド環境で一般的に空き状態である、未利用で低帯域幅のCPUクラスタ上で大規模ニューラルネットワークのトレーニングを可能にすること。
  • 適応的スパarsityを活用することで、分散モデル並列トレーニングにおける通信ボトルネックを克服し、データ移動量を低減すること。
  • 少数コア、限られたメモリ、低ノード間帯域幅の環境でもスケーラブルで効率的なフレームワークを設計すること。
  • Horovodなどの最先端の分散トレーニングフレームワークを、リソースが限られた環境で上回ること。
  • CPUベースのトレーニングが、高機能GPUアクセラレータ(例:A100やV100)と同等またはそれ以上の1エポックあたりのトレーニング速度を達成できることを示すこと。

提案手法

  • D-SLIDEはモデル並列性を用い、複数のCPUノードにニューラルネットワーク層をシャーディングし、スパースな重みとスパース性を実現するためのハッシュテーブルを分散配置する。
  • SLIDEアルゴリズムが1トレーニングステップあたり95%以上のスパarsityを達成できることを活用し、ノード間で送信される勾配とパラメータの量を著しく削減する。
  • MPIベースのメッセージパッシングを用いて通信を最適化し、ノード間で送信されるのはスパースな更新(99%圧縮)のみであり、帯域幅使用量を最小限に抑える。
  • ハッシュテーブルとモデルパラメータをノードに分散配置することで負荷バランスを確保し、効率的な計算と競合の低減を実現する。
  • 入力ごとに学習可能なハッシュ関数を用いてスパarsityを動的に決定し、並列処理が制限されたCPUでも高いトレーニング効率を維持する。
  • 実装はMPIに基づき、PyTorch や TensorFlow といった一般的なディープラーニングフレームワークとの統合をサポートする。

実験結果

リサーチクエスチョン

  • RQ1クラウド環境で一般的に未利用の低帯域幅・低リソースのCPUクラスタ上で、大規模ニューラルネットワークを効率的にトレーニングできるか?
  • RQ2適応的スパarsityは、モデル精度を損なわず、分散モデル並列トレーニングにおける通信オーバーヘッドをどの程度低減できるか?
  • RQ3低帯域幅(≤1 Gbps)かつ少数コア(4〜16)の条件下で、D-SLIDEはHorovodと比較してトレーニング速度とスケーラビリティにおいてどの程度優れているか?
  • RQ4CPUベースのトレーニングが、A100 や V100 といった高機能GPUアクセラレータと同等またはそれ以上の1エポックあたりのトレーニング時間で達成できるか?
  • RQ58〜16 GBのメモリを持つノード上で、モデル並列性とスパarsityのみを用いて近い10億パラメータのモデルをトレーニングすることは可能か?

主な発見

  • 16コアと1 Gbps帯域幅を持つ2ノードクラスタ上では、D-SLIDEはHorovodが1ノードにしかスケーリングできない通信ボトルネックのため、80倍の高速化を達成した。
  • 8ノード(各ノード4コア)の環境では、D-SLIDEは1エポックあたり5,417秒のトレーニング時間を達成したのに対し、Horovodは同環境で280,000秒以上を要した。
  • Text8データセットでは、2ノードでのD-SLIDEは1つのV100 GPUの6.7倍、1つのA100 GPUの2.5倍の速度で1エポックを実行し、同等の精度を達成した。
  • Amazon670Kデータセットでは、2ノードでのD-SLIDEは2つのV100 GPUの3.0倍、1つのA100 GPUの2.1倍の速度で1エポックを実行し、テスト精度はTensorFlowベースラインとほぼ同等だった。
  • 99%の通信圧縮を実現したD-SLIDEは、8ノードにわたり強いスケーラビリティを示し、低帯域幅環境でも高い耐性を示した。
  • 4〜16コアCPU(ノード1台あたり8〜16 GBメモリ)上でも、D-SLIDEは8億パラメータのモデルを正常にトレーニングし、最小限のハードウェアでも実現可能であることを実証した。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。