# 耐障害LLMサービング ## 定義 耐障害 LLM サービングは、複数 GPU にまたがってテンソル並列(TP)などで分散配置された LLM 推論サービスが、GPU 障害発生下でも高いスループットと低レイテンシを維持し続けるための設計領域である。[[@2025__arXiv__FailSafe - High-performance Resilient Serving]] は、GPU 障害が引き起こす2種類のオーバーヘッドを区別する: (1) 障害発生の瞬間に生じる**復旧オーバーヘッド**(失われた KVCache の再計算・再シャーディングされた重みの再読み込みによるレイテンシスパイク)、(2) 復旧後も持続する**不均衡オーバーヘッド**(不規則な GPU 数でのテンソル並列に起因する、アテンションヘッド単位の計算・メモリ配分の歪み)。[[耐障害LLM訓練]] が数千〜数万 GPU 規模の長期ジョブにおける ETTR(有効訓練時間率)最大化を目標とするのに対し、耐障害 LLM サービングはリクエスト単位のレイテンシ SLO(TTFT・TBT)を維持し続けることを目標とする点で、同じ「GPU 障害への対処」でも最適化対象が異なる。 ## 横断的知見 - **同一 Stanford チームが「訓練の冗長性活用」から「サービングの負荷均衡」へ焦点を移した**: [[ReCycle]]([[@2024__SOSP__ReCycle - Resilient Training of Large DNNs using Pipeline Adaptation]]、[[Swapnil Gandhi]]・[[Christos Kozyrakis]]、SOSP '24)はパイプライン並列訓練における機能的冗長性(同一ステージのデータ並列ピアが同一パラメータを保持)とパイプラインバブルという「訓練スケジュールの未活用余白」を復旧資源として転用した。同じ著者(Gandhi・Kozyrakis)が [[Zhiqiang Xie]]・[[Ziyi Xu]] と発表した FailSafe は、対象をサービングへ移し、余白の活用ではなく「不規則な GPU 数でのテンソル並列内の負荷分配そのものを均等化する」方向へ設計思想を転換した。訓練ではパイプラインステージ間の冗長性が武器になるが、サービングのテンソル並列は全ヘッド・全シャードが常時稼働しているため冗長な余白がなく、Cyclic KVCache Placement・Hybrid Attention という「配置と分割の粒度を細かくする」アプローチが必要になる。(Source: [[@2024__SOSP__ReCycle - Resilient Training of Large DNNs using Pipeline Adaptation]], [[@2025__arXiv__FailSafe - High-performance Resilient Serving]]) - **サービングの耐障害設計は「復旧」と「持続的な負荷不均衡」を独立した問題として扱う**: 耐障害 LLM 訓練の議論([[耐障害LLM訓練]])は主に「いかに速く復旧するか(ETTR)」に焦点を当てるが、FailSafe はこれに加えて「復旧後も GPU 数が不規則なままサービングを続ける期間」の性能劣化を別問題として扱う。テンソル並列のアテンション層はヘッド数という離散的な粒度でしか分割できないため(数十ヘッドを不規則な GPU 数で割ると必ず端数が出る)、この不均衡は復旧が完了しても消えず、次に GPU が補充されるまで持続する。訓練ジョブは典型的にチェックポイントから完全な GPU 数へ再起動するため、この「不規則な GPU 数のまま稼働し続ける」状態が問題になりにくい。(Source: [[@2025__arXiv__FailSafe - High-performance Resilient Serving]]) - **汎用 ML サービングの「障害からの復旧」は GPU/テンソル並列の内部粒度ではなく、データセンター・クラスタ・レプリカの粒度で語られる**: [[@2024__OReillyJapan__信頼性の高い機械学習 - Chapter 8 サービス運用]] §8.6 は、MaaS(サービスとしてのモデル)の障害復旧要件を「データセンターの喪失を乗り切る」「複数の可用性ゾーン/リージョンでモデル API クラスタを実行し、障害発生クラスタからトラフィックを迅速にルーティングする」「モデルデータのスナップショットをバックアップし、最後の良好なコピーへ戻す」という、一般的な SaaS と共通のレプリカ/クラスタ粒度の対策として記述する。これに対し FailSafe([[@2025__arXiv__FailSafe - High-performance Resilient Serving]])が扱うのは、単一の推論サービス内部でテンソル並列に分散配置された GPU の一部が落ちたときの KVCache 再配置・重み再読み込みという、レプリカ内部のさらに細かい粒度の障害である。8章はこのレプリカ内部粒度の障害(単一 GPU 障害でテンソル並列の一部が失われるケース)には触れておらず、「MaaS の障害復旧」という同じ主題が、汎用 ML 書籍では外部インフラの冗長化として、LLM サービング研究では単一サービス内部のハードウェア障害対処として、扱う粒度が一段ずれている。(Source: [[@2024__OReillyJapan__信頼性の高い機械学習 - Chapter 8 サービス運用]] §8.6, [[@2025__arXiv__FailSafe - High-performance Resilient Serving]] §2) - **8章が言う「データの変化やデータ障害」由来の劣化は、FailSafe が扱う GPU ハードウェア障害とは異なる障害系統である**: 8章§8.6 は、データスキーマ変更・上流 ETL ジョブの停止・データベースのマイグレーションといった「データパイプラインへの深い依存」に起因する障害系統を挙げ、これに気づかず放置すると運用環境から外して数ヶ月単位のオフライン再調整が必要になりうると警告する。FailSafe が扱う GPU 障害(ハードウェア故障によるスループット低下・レイテンシスパイク)とは原因も対処も異なり、「MLサービングの障害」という語が指しうる範囲が、ハードウェア障害(FailSafe)とデータ/パイプライン障害(8章)という独立した2系統に分かれることが、両ソースの突き合わせで明確になる。(Source: [[@2024__OReillyJapan__信頼性の高い機械学習 - Chapter 8 サービス運用]] §8.6, [[@2025__arXiv__FailSafe - High-performance Resilient Serving]] §1) ## 未解決の問い - 8章が扱うクラスタ/レプリカ粒度の障害復旧(マルチリージョン配置・バックアップ)と、FailSafe が扱う単一レプリカ内部のテンソル並列粒度の障害復旧は、実運用でどう積層されるか。外側の冗長化(8章)が効かない障害(単一レプリカ内の一部GPU喪失)にFailSafeが対処する、という階層構造は両ソースの記述からは明示的に統合されていない。 - ReCycle のパイプラインバブル活用と FailSafe の Hybrid Attention/Cyclic Placement は、パイプライン並列 + テンソル並列のハイブリッド構成(実運用で一般的)においてどう統合できるか。両者が同時に GPU 障害へ対処する場合、復旧責任の分担はどう設計すべきか。 - FailSafe はシングルノード(NVLink 内、8 GPU)構成に限定して評価されている。マルチノード構成でノード全体が失われる障害(単一 GPU 障害よりも復旧すべき状態量が桁違いに大きい)に対して、Cyclic KVCache Placement と On-demand Weight Recovery の設計はどこまで一般化できるか。 - [[耐障害LLM訓練]] で確立された ETTR のような定量指標は、サービングの文脈でどう定式化すべきか。SLO 違反率・P99 TBT・スループット劣化率のどれを主指標に据えるべきかは分野として未確立に見える。 - MoE モデルのエキスパート並列は部分 GPU 損失への耐性が TP より高いという知見(FailSafe §6 の指摘)は、Mixtral-8x22B のような既存 MoE モデルの実測でどこまで裏付けられるか。TP ベースの耐障害設計(FailSafe)と EP ベースの構造的耐障害性は競合するのか補完するのか。 ## 関連 - ソース: [[@2025__arXiv__FailSafe - High-performance Resilient Serving]] / [[@2024__SOSP__ReCycle - Resilient Training of Large DNNs using Pipeline Adaptation]] / [[@2024__OReillyJapan__信頼性の高い機械学習 - Chapter 8 サービス運用]] - 概念: [[耐障害LLM訓練]] / [[テンソル並列]] / [[KVキャッシュ管理]] / [[LLM推論]] / [[フォールトトレランス]] / [[Prefill-Decode分離]] / [[機械学習システムの設計パターン]](汎用MLサービングアーキテクチャとの粒度差) - エンティティ: [[Ziyi Xu]] / [[Zhiqiang Xie]] / [[Swapnil Gandhi]] / [[Christos Kozyrakis]] / [[Stanford University]] / [[Shanghai Jiao Tong University]] / [[ReCycle]] - 関連 MOC: [[分散深層学習 - MOC]] ## 出典 - [[@2025__arXiv__FailSafe - High-performance Resilient Serving]](§1 Introduction, §2 Resilient Model Serving, §3 Design and Implementation, §6 Discussion) - Cathy Chen ほか, 『信頼性の高い機械学習 ―SRE 原則を活用した MLOps』, オライリー・ジャパン, 2024, 8 章 §8.6.