## Memo - https://x.com/yuuk1t/status/1856242740453093508 - 清華大学とByteDanceなどの共同研究グループ - 故障の悪影響 - ![[Pasted image 20241111173606.png|500]] - The entire task may be forced to stop for hours or days until fixed for retraining. - The economic loss for a customer can reach more than $1700 in a 128-machine task for 40 minutes (case in 2.1). - Training a GPT-2 model with 1.5 billion parameters and 40GB dataset [67], for instance, takes 200 days utilizing an NVIDIA V100 GPU [10] (or 12 days for a DGX-2H server). - 故障の診断には長い時間がかかるため、人件費と資源費が 増加する。2023年の7ヶ月データに基づき、故障した機械を 手動で診断できるまでの時間を図2に示す。時間は平均30分 以上であり、日数とすることもある。最終的にGPUとNICの リソースがアイドル状態になり、解決にかかる時間コスト が追加される。 - ![[Pasted image 20241112001839.png]] - 故障検知 - 例えば、CPUやGPUの使用は、実際の生産データからの観察に基づき、 故障表示のための最も感度の高い指標である。しかし、どちらも誤 り訂正符号(ECC)誤りの欠陥機械を特定することは保証されていな い。 - モニタリングデータにノイズが存在する場合、その検出は見当 違いになる可能性さえある。 - Minder - we developed Minder by leveraging the ideas of similarity (3.1), continuity (3.2), training individual models for each monitoring metric (3.3), and metric prioritization (3.4). Minder resolves the challenges by recognizing that a machine with a fault displays an abnormal pattern in certain metric data that differs from other machines and lasts for a duration. - Results - Manual labors are released from the debugging process since Minder can react within 3.6 seconds (6.1), reducing over 99% of the time of manual debugging (shorter time by 500 ×). - - よくあるマニュアルアプローチは、マシン上のログ、およびdmesg [2]、 netset、top コマンドを検査することである。 - The notification of when to trigger a diagnosis is not timely - 現在のアプローチでは、タスクが実行され続ける限り、性能の劣化を検出することができ ない。PCIeのダウングレードの例では、タスクは一定期間、パ フォーマンスを悪化させながら実行を続ける。 - Scrutinized content is incomplete or redundant. - PCIe 劣化ケース(2.1)では、優先順位ベースのフロー制御(PFC)パケ ットレートのような重要な監視データがログから速やかに検査 されなかったため、故障したマシンを特定することは困難であ った。 - The diagnosis analysis is a complicated and time- consuming process. - Manual diagnosis procedure and fault propagation for the PCIe downgrading case - ![[Pasted image 20241112002410.png]] - モニタリングデータは 複数のメトリクスを含み、1秒ごとにサンプリングされる。 - まず、ハードウェアの故障が故 障の大部分を占め(55.8%)、ECCエラーが大きな割合を占めている(3 8.9%)。CUDAやGPUで発生したエラーも大きな割合を占めている。 - Challenges - Challenge 1: Any machine could fail in various ways. - Challenge 2: The normal state of a monitoring metric is task-dependent. - Challenge 3: The correlation between fault types and monitoring metrics is not necessarily one-to-one. - Challenge 4: Noises exist in time series monitoring data - Design - Machine-level Similarity - PCIeのダウングレードの例では、初期のPFC Txパケ ットレートパターンは、図3のすべてのマシンで顕著に均一 である。しかし、あるマシンが故障した場合、その監視デー タには特徴的な違いが見られ、検出の機会を提供する。 - Machine-level Continuity - ![[Pasted image 20241112120456.png|400]] - ほとんどの異常パターンは5分異常継続する。 - Individual Learning-Based Denoising Models for Each Monitoring Metric - Challenge 4では、基本的なデータ整列と正規化に加えて、データノ イズ除去と再構成のための単純な学習モデルを利用する。変 分オートエンコーダ(VAE)やその他の生成確率モデルは、時系 列データのパターンや特徴を学習するために認識されている[ 52, 70]。また、学習データの大部分に対して生成係数を推論 できる埋め込みスキームを学習することでも知られている。 このため、教師なし学習は、異常検知タスクにおける正常な 動作のモデル化に特に適している。 - 各モニタリ ング指標に対して個別のモデルを学習させることを選択する - 3.4 Prioritized Metric Sequence - Minder: システムアーキテクチャ - ![[Pasted image 20241112143753.png|400]] - 議論 - その他、Minder と共に使用されるモニタリングツールには、ス イッチ状態のモニタリング、周期的なハートビートメッセージ(I P、ハードウェア状態、ポッド名など)、RDMA トラフィックのダ ウンリミットアラート、RPingmesh [54](pingmesh [33]のような 接続テスト)、GPU エラー検出のための自動テキスト分析などが ある - 一方、DCGM [1]、 EUD [3]などのオフラインテストツールは、実行時の故障識別に は実行不可能であるが、ホスト内ボトルネック診断に使用される。 - しかし、このような故障発生前の緩やかな劣化過程は、我 々の分散学習ではほとんど観察されない。 ![[Pasted image 20241112000808.png]] [[Nvidia GPU metrics]] ## Memo with LLM https://claude.ai/chat/e7137f26-097e-4957-8a64-ffffedfbf776 ### 論文情報 - **論文のタイトル**: Minder: Faulty Machine Detection for Large-scale Distributed Model Training - **著者と所属**: - Yangtao Deng¹, Xiang Shi², Zhuo Jiang²(責任著者), Xingjian Zhang¹, Lei Zhang², Zhang Zhang², Bo Li², Zuquan Song², Hang Zhu², Gaohong Liu², Fuliang Li³, Shuguang Wang², Haibin Lin², Jianxi Ye², Minlan Yu⁴(責任著者) - ¹清華大学, ²ByteDance, ³ノースイースタン大学, ⁴ハーバード大学 - **カンファレンス/ジャーナル名**: NSDI(詳細は記載されていないが、arXiv版の論文) - **発表年**: 2025年(arXiv:2411.01791v2, 2025年4月26日版) ### 論文概要 大規模分散機械学習において、数千台のマシンでの訓練中に予期しない障害が発生した際の故障マシン検出が重要な課題となっている。本研究では、手動診断の時間的・労力的負担を解決するため、機械レベルの類似性と連続性の概念を活用し、個別メトリックごとのLSTM-VAEモデルを用いた自動故障マシン検出システム「Minder」を提案し、平均3.6秒での高精度検出(精度0.904、F1スコア0.893)を実現した。 ### 詳細解説 #### 問題設定 **入力データ**: - 各マシンから秒単位で収集される監視メトリック(CPU使用率、GPU使用率、PFCパケット率、スループット、ディスク使用率、メモリ使用率など) - 分散訓練タスクの規模:4台から1000台以上のマシン(最大10,000 GPU) **出力**: - 故障マシンの特定(マシンIP) - 故障検出までの時間 **問題の特徴**: - 生産環境では平均1日2回の故障が発生 - 手動診断には平均30分以上、最大数日を要する - 1回の故障により数百万円規模の経済損失が発生する可能性 #### 提案手法 Minderは以下の4つの設計原則に基づく: **1. 機械レベル類似性(Machine-level Similarity)** 3D並列化(データ並列、パイプライン並列、テンソル並列)により、正常なマシンは類似した監視メトリックパターンを示す。故障マシンは他のマシンと異なるパターンを示すため、ユークリッド距離を用いた類似度計算により検出する。 **2. 機械レベル連続性(Machine-level Continuity)** 故障による異常パターンは通常5分以上継続するが、一時的なジッターは短時間で終了する。連続性閾値(4分)を設定し、同一マシンが連続して異常と判定された場合に故障と認定する。 **3. メトリック別個別学習モデル** 各監視メトリックに対してLSTM-VAE(Long Short-Term Memory Variational Autoencoder)モデルを個別に訓練: ``` エンコーダ: q(z|x) → 潜在表現z デコーダ: p(x'|z) → 再構築データx' ``` 時系列データの時間的特徴を抽出し、ノイズ除去を行う。 **4. メトリック優先順位付け** Z-score計算と決定木を用いてメトリックの故障感度を評価: ``` Z_ij = (x_ij - x̄_j) / s_j ``` ここで、Z_ijはi番目のマシンのZ-score、x_ijはサンプル値、x̄_jは平均値、s_jは標準偏差。 #### 新規性 **従来手法との差異**: 1. **教師なし学習アプローチ**: 従来の教師ありタスクと異なり、正常/異常の境界がタスク依存であることを考慮 2. **メトリック別個別モデル**: 単一統合モデルではなく、各メトリックの故障感度の違いを考慮した個別モデル 3. **リアルタイム検出**: 既存のオフライン診断ツール(DCGM、EUDなど)と異なり、訓練実行中の連続監視 **先行研究との比較**: - Mahalanobis Distance(MD)ベースライン:Minder(F1: 0.893)vs MD(F1: 0.777) - SuperBench等の事前検証システムは予防的だが、Minderはリアルタイム検出に特化 #### 実験設定 **データセット**: - 9ヶ月間で150の実際の故障インスタンス - マシン規模:4台〜1,500台(最大10,000 NVIDIA Ampere GPU) - 故障タイプ:ECCエラー(25.7%)、CUDA実行エラー(15%)、GPU実行エラー(10%)、PCIe劣化(8.6%)など **評価指標**: - 精度(Precision)= TP/(TP+FP) - 再現率(Recall)= TP/(TP+FN) - F1スコア = 2×(Precision×Recall)/(Precision+Recall) - 検出時間 **実装環境**: - 専用マシン:Intel Xeon Platinum 8336C CPU×128、512GBメモリ、1.6TBディスク - 監視間隔:8分ごと - データ取得:過去15分間のメトリックデータ #### 実験結果 **全体性能**: - **検出時間**: 平均3.6秒(手動診断の500倍高速化、99%時間短縮) - **精度**: 0.904 - **再現率**: 0.883 - **F1スコア**: 0.893 **故障タイプ別性能**: - ECCエラー、CUDA実行エラー、GPUカード故障:高い検出率 - GPU実行エラー、PCIe劣化:やや低い再現率(並列トポロジーによる同時影響のため) - AOCエラー:光ケーブル関連カウンターの不足により一部検出漏れ **アブレーション研究**: - 連続性なし:F1スコア0.767(vs 0.893) - メトリック数変更:最適選択が最高精度を実現 - 距離計算手法:ユークリッド距離、マンハッタン距離、チェビシェフ距離で類似性能 **本番環境実績**: 1年以上の運用で、日次分散訓練タスクを数千台規模で監視し、安定した性能を維持している。 ## Abstract 大規模な分散モデル学習では、最大数千台のマシンで同時に学習する必要がある。 マシンに予期せぬ故障が発生した場合、故障マシンの検出は非常に重要である。 我々の経験から、トレーニングタスクは平均して1日に2つの故障に遭遇し、場合によっては数時間停止することもある。 時間と労力のかかる手作業による精査の欠点に対処するために、我々は分散訓練タスクのための自動故障機械検出器Minderを提案する。 Minderの重要なアイデアは、訓練タスク全体が停止するまでの一定期間続く可能性のある、欠陥のある特徴的なモニタリングメトリックパターンを自動的かつ効率的に検出することである。 Minderは1年以上にわたって私たちの本番環境に導入されており、それぞれが最大数千台のマシンを含む分散トレーニングタスクを毎日監視しています。 実世界の故障検出シナリオにおいて、Minderは平均3.6秒以内に故障に正確かつ効率的に反応することができ、精度は0.904、F1スコアは0.893でした。