ゼロを削除することで機械学習のパフォーマンスを向上させる

更新日: 6 年 2023 月 XNUMX 日
ゼロを削除することで機械学習のパフォーマンスを向上させる

KAUSTの研究者は、トレーニングの速度を大幅に向上させる方法を発見しました。 大規模な機械学習モデルは、大規模なトレーニングデータセットを使用する分散型機械学習でゼロの結果が生成される頻度を観察することで、大幅に高速にトレーニングできます。

AIモデルは、さまざまな入力を区別し、それに応じて応答する方法をモデルに伝えるためにラベル付けされたデータセットでトレーニングされることにより、「インテリジェンス」を開発します。 入力するラベル付きデータが多いほど、モデルは割り当てられたタスクをより適切に実行できるようになります。 自動運転車などの複雑な深層学習アプリケーションの場合、強力で高価な高度に並列化されたスーパーコンピューティングプラットフォームを使用している場合でも、膨大な入力データセットと非常に長いトレーニング時間が必要になります。

トレーニング中、小さな学習タスクが数十または数百のコンピューティングノードに割り当てられ、次のタスクを実行する前に、通信ネットワークを介して結果を共有します。 このような並列コンピューティングタスクにおけるコンピューティングオーバーヘッドの最大の原因のXNUMXつは、実際には、各モデルステップでのコンピューティングノード間のこの通信です。

「コミュニケーションは、分散型ディープラーニングの主要なパフォーマンスのボトルネックです」とKAUSTチームは説明します。 「モデルサイズの急速な増加に伴い、学習プロセス中に生成されるゼロ値の割合も増加しています。これをスパース性と呼びます。 私たちのアイデアは、このスパース性を利用して、ゼロ以外のデータブロックのみを送信することにより、効果的な帯域幅の使用を最大化することでした。」

データ転送を処理するネットワークスイッチで効率的な集約コードを実行することでノード間通信を最適化するSwitchMLと呼ばれる初期のKAUST開発に基づいて、Fei、Marco Caniniとその同僚は、ゼロの結果を特定し、並列計算プロセスの同期を中断します。

「スパース性を利用して分散トレーニングを加速する方法は、まさに難しい問題です」とチームは言います。 「すべてのノードはタイムスロット内の同じ場所でデータブロックを処理する必要があるため、同じ場所のデータブロックのみが集約されるようにノードを調整する必要があります。 これを克服するために、ワーカーを調整するアグリゲータープロセスを作成し、次に送信するブロックを指示しました。」

チームは、グラフィックスプロセッシングユニット(GPU)のアレイで構成されるテストベッドでOmniReduceスキームをデモンストレーションし、通常のXNUMX倍のスピードアップを達成しました。 深い学習 タスク。

ELEタイムズ
+投稿
  • BD Softはデータ解決と提携し、サイバーセキュリティとエンタープライズインテリジェンスの提供を強化します
  • 組み合わせたアプローチは、ロボットの経路生成に最適な直接軌道を見つけます
  • XNUMXつの機能を備えたXNUMXつの材料は、より高速なメモリにつながる可能性があります
  • 新作 テクノロジー 最速バージョンの 5G を自宅や職場に導入できる可能性