4台のGPUノードで「遅い犯人」を1秒で見つける分散学習デバッグ術
分散学習って、速いはずなのに急に遅くなることがあります。しかも厄介なのは、全体が止まって見えるのに、原因は1台だけというパターン。今回紹介する記事は、そんな「見えない犯人」を eBPF と fleet fan-out という仕組みで、4台のGPUノードをまたいで一発で特定したという話です。かなり面白いです。しかも、中央の収集サーバーなしでやっているのが筋がいい。 4ノードの distributed training が遅くなった原因を、1つのSQLクエリで特定 各ノードに入っている eBPFエージェント が、CUDA APIやカーネルイベントを追跡 fleet fan-out により、同じクエリを複数ノードへ並列実行して結果をまとめる 原因は gpu-node-01 の CPU競合。checkpoint の書き込みが training process を邪魔していた 中央集約の collector を置かない設計で、シンプルさを優先 オフライン環境向けに SQLite DB の merge と **
papoo.work