yukarinoki / reseach

0 stars 0 forks source link

Powering Multi-Task Federated Learning with Competitive GPU Resource Sharing #11

Closed yukarinoki closed 1 year ago

yukarinoki commented 1 year ago

フェデレーテッドラーニング(FL)は、認知的アプリケーションの複雑さが増すにつれて複合的な学習タスクに関与しています。例えば、自動運転システムは、同時に複数のタスク(例えば、検出、分類など)をホスト 連合学習(Federated learning)とは、データを集約せずに分散した状態で機械学習を行う方法

その場合、 1.異なるタスクの間で、不均衡なワークロードになる 2.ランタイムでの最適化が足らない(最適に同期されていない)

本論文では 競争的なリソース共有を行った 仮想リソースの概念を考えた

GPUのリソース利用を大幅に向上させ、それによりデバイス内の全体的なトレーニングスループットを2.16倍〜2.38倍向上させ、デバイス間のFL調整スループットを2.53倍〜2.80倍向上させることができました。

全体としてクソつまらない論文

yukarinoki commented 1 year ago

主なFLコンピューティングユニットとしてGPUを取る場合、既存の並列処理方法(CUDA MPS [7]、MIG [2]など)が存在しており、並行モデルトレーニングのためのリソース割り当てを調整しています。しかし、マルチタスクFLシナリオにおける膨大なワークロードの不均衡とダイナミクスに直面する際、これらの方法は管理の粒度が十分ではなく、一般的にはかなりの並列処理の競合とリソースの未使用状態に悩まされます。

そのため、従来のFLの手法とは異なり、この研究ではGPUのアーキテクチャレベルに立ち入り、マルチタスクFL展開における特定のスケジューリングの問題を再評価します。 具体的には、次の2つの主要な課題に焦点を当てています

yukarinoki commented 1 year ago

2つの主要なリソース割り当てとスケジューリングスキームがあります。

(a)の時間的スケジューリングは、GPUリソースを個々のタスクに対して連続した時間スライスに分割し、各タスクが他のタスクと干渉せずに時間スライス全体のGPUリソースを使用する方法です[3]。

(b)の空間的スケジューリングは、複数のGPUタスクを並列に処理し、個々のタスクに独立した処理スレッドとして一部のストリーミングマルチプロセッサ(SM)を割り当てることで行われます[5]。最新のGPUスケジューリング技術もこれらのスキームの範囲内にあり、NVIDIA Multi-Instance GPU(MIG)[2]やMulti-Process Service(MPS)[7]などがあります。

空間的スケジューリングは並列処理が可能なため好まれますが、タスク間で競合するリソース共有が発生します。

yukarinoki commented 1 year ago

共有資源を増やせばよいというわけではない 競合オーバーヘッドがある。または、補完的なリソース割り当てを実現しずらい(最小の粒度が決まってしまうということかな?)

image

yukarinoki commented 1 year ago

GPUスループットを機械学習で予測する。 image

yukarinoki commented 1 year ago

以下の式の最適化 image

O = F * B Bは動かせるので、Bをgreadyに決める。そのあと、リソースが最大になるようにRを決める。 2-step gready