# Prefill-Decode分離 ## 定義 Prefill-Decode分離とは、LLM 推論の入力処理段階(Prefill)と逐次生成段階(Decode)を、同一 GPU 上の同居実行から切り離し、別 GPU・別インスタンス・別資源プールで実行するサービング設計である。Prefill は TTFT、Decode は TPOT/ITL を支配し、計算バウンドとメモリ帯域バウンドという資源特性が異なるため、分離により段階別に資源割当・並列化・スケジューリングを最適化できる。(Source: [[@2024__OSDI__DistServe - Disaggregating Prefill and Decoding for Goodput-optimized Large Language Model Serving]], [[@2025__INLG__Taming the Titans - A Survey of Efficient LLM Inference Serving]]) ## 横断的知見 - **PD 分離は Goodput 指標の導入で意味が明確になる**: DistServe は TTFT と TPOT の両 SLO を 90% 超のリクエストで満たす per-GPU レートを Goodput として最大化する。さくらのナレッジおよび SpeakerDeck の実測も、単なる TPS/RPS ではなく ITL/TTFT SLO を満たす有効スループットとして評価する必要を示す。(Source: [[@2024__OSDI__DistServe - Disaggregating Prefill and Decoding for Goodput-optimized Large Language Model Serving]], [[@2025__さくらのナレッジ__分散推論基盤やその前提の考え方]], [[@2026__SpeakerDeck__推論基盤のパフォーマンス検証と最適化戦略]]) - **PD 分離の中心課題は KV キャッシュ転送の扱いに収束する**: DistServe はノード内 NVLINK を使う配置制約で OPT-175B でも転送を総レイテンシ 0.1% 未満に抑えた。一方、さくらのナレッジは Llama-3.1-405B・8k 入力で約 4 GB/リクエストの KV キャッシュ転送が生じるとし、分散推論基盤では KV キャッシュを設計中心に据える必要を強調する。両者は矛盾ではなく、モデル規模・入力長・ネットワーク配置により転送が無視可能にも律速にもなることを示す。(Source: [[@2024__OSDI__DistServe - Disaggregating Prefill and Decoding for Goodput-optimized Large Language Model Serving]], [[@2025__さくらのナレッジ__分散推論基盤やその前提の考え方]]) - **サーベイ上の PD 分離は、単発システムからサービング設計カテゴリへ昇格した**: INLG 2025 サーベイは DistServe、Splitwise、Mooncake、P/D-Serve、TetriInfer、FlowKV などを同じ分離パラダイムとして整理しており、PD 分離は LLM 推論サービングの一実装ではなく、インスタンス内最適化の主要カテゴリになっている。(Source: [[@2025__INLG__Taming the Titans - A Survey of Efficient LLM Inference Serving]], [[@2024__OSDI__DistServe - Disaggregating Prefill and Decoding for Goodput-optimized Large Language Model Serving]]) - **本番規模では PD 分離は pool 分割だけでなく、scenario 単位の組織化と gateway 制御を要求する**: DistServe は段階別 GPU 割当と配置探索で Goodput を最大化するが、P/D-Serve は数万 NPU 規模で、prompt prefix の多様性、P/D ratio mismatch、不正確な Prefill queue 推定により、固定 pool だけでは TTFT SLO を守れないことを示す。P/D-Serve の細粒度 P/D group と on-demand forwarding は、PD 分離をクラスタ scheduler だけでなく MLOps と gateway の問題として扱う。(Source: [[@2024__OSDI__DistServe - Disaggregating Prefill and Decoding for Goodput-optimized Large Language Model Serving]], [[@2024__arXiv__P-D-Serve - Serving Disaggregated Large Language Model at Scale]]) - **PD 分離の KV 転送層は、GPU 内ページ管理と別の転送粒度を必要とする**: LMCache は cross-engine/GPU KV cache transfer を PD 分離の基本機能として扱い、vLLM/SGLang の小さな page をそのまま送るのでなく chunk 化と計算 I/O 重畳を使う。P/D-Serve も PageAttention の離散ブロックを連続バッファとして送って RecvScatter で戻す。PD 分離では「KV キャッシュを送る」だけでは不十分で、GPU 内メモリ管理とネットワーク転送の粒度変換が性能を左右する。(Source: [[@2025__arXiv__LMCache - An Efficient KV Cache Layer for Enterprise-Scale LLM Inference]], [[@2024__arXiv__P-D-Serve - Serving Disaggregated Large Language Model at Scale]], [[@2023__SOSP__Efficient Memory Management for Large Language Model Serving with PagedAttention]]) - **PD 分離は転送データ面と制御面の分離も要求する**: LMCache + NIXL の資料では、PD 分離を「Prefiller と Decoder の間で 1 クエリ内の KV キャッシュを転送する」形として説明する。NIXL の UCX 例では、制御面として agent/backend 初期化、GPU HBM 登録、Remote metadata と受信バッファリスト交換があり、データ面として NIXL Xfer request の非同期投稿・完了確認・再投稿がある。PD 分離を安定に運用するには、単に KV データを高速転送するだけでなく、相手側メモリ領域の識別子とバックエンド接続情報をどう配布・失効・最小公開するかが設計対象になる。(Source: [[@2025__PyTorchConference__Scaling KV Caches for LLMs - How LMCache + NIXL Handle Network and Storage Heterogeneity]], [[@2025__arXiv__LMCache - An Efficient KV Cache Layer for Enterprise-Scale LLM Inference]]) - **CPU/DRAM を KVCache 主記憶にする 3 プール分離は、長コンテキストで過負荷 MaaS に固有の問題を解く**: Mooncake は Prefill Pool・KVCache Pool・Decoding Pool の 3 プールを分離し、CPU DRAM を KVCache の主記憶とする。この設計により(1)Prefill の VRAM 占有が Layer-wise 非同期転送で最小化、(2)CPP が長コンテキストを複数ノードで並列 Prefill、(3)過負荷時の Early Rejection が Prefill/Decode を独立した負荷評価対象として扱える。DistServe・P/D-Serve の 2 プール(P+D)に対して KVCache を独立プールに分けることで、長コンテキストと本番過負荷という 2 つの問題を同時に扱う。(Source: [[@2024__arXiv__Mooncake - A KVCache-centric Disaggregated Architecture for LLM Serving]]) - **PD 分離固有の負荷変動(振動)問題は、予測なしでは解消できない**: Mooncake は Early Rejection を単純実装すると Prefill/Decode 間で逆位相振動が生じることを 20 分の実測で示す(図 9)。原因は「Decode 負荷の現在値に基づくスケジューリング」の本質的な時間遅れであり、3〜4 ステップの Accept/Reject サイクルで収束しない。このダイナミクスは非分離システムには存在しない分離固有の課題。システムレベルの将来負荷予測(均一デコード時間 t_d を仮定した batch count 推定)で振動を緩和できる。(Source: [[@2024__arXiv__Mooncake - A KVCache-centric Disaggregated Architecture for LLM Serving]]) - **クラウドネイティブ PD 分離は Kubernetes のオートスケーリングと推論エンジンの協調設計を要求する**: [[AIBrix]] は PD 分離を Kubernetes CRD レベルで扱い、LLM 固有メトリクス(KV キャッシュ利用率等)に基づく second-level オートスケーリングで Prefill/Decode の資源割当を動的に調整する。DistServe(段階別 GPU 割当探索)や Mooncake(3 プール静的比率)が研究志向の分離設計であるのに対し、AIBrix は既存の Kubernetes エコシステム上で異種 GPU を混在させたコスト最適化分離を実現する。低トラフィック条件で 4.7 倍のコスト削減を報告し、PD 分離の運用経済性を示す。(Source: [[@2025__arXiv__AIBrix - Towards Scalable, Cost-Effective Large Language Model Inference Infrastructure]]) - **入門解説は PD 分離の動機を計算特性の違いに単純化するが、ハードウェア調整という実務的帰結は学術論文と一致する**: LLM高速化の勉強会資料は PD 分離の動機を「Prefill と Decode の計算特性の違いにより混在させるとパフォーマンスが下がりうる」と簡潔に説明し、具体例として Prefill には Tensor Core の強い H200、Decode には A100 程度で十分という段階別ハードウェア選定を挙げる。これは DistServe が示す「段階別 GPU 割当・並列化探索による Goodput 最大化」という定式化の、実務者向けにかみ砕いた帰結であり、学術的定式化と教育的説明が同じ結論(段階ごとに異なる資源を割り当てる)に収束することを示す。(Source: [[@2024__OSDI__DistServe - Disaggregating Prefill and Decoding for Goodput-optimized Large Language Model Serving]], [[@2026__SpeakerDeck__LLM高速化(勉強会)]]) - **PD 分離は KV キャッシュ転送方式だけでなく、通信ライブラリのディスパッチモードを段階別に切り替える設計へ発展した**: DistServe・Mooncake・LMCache が KV キャッシュの転送・配置を PD 分離の中心課題として扱うのに対し、[[SGLang]] の 96 H100 GPU 展開([[@2025__LMSYS Blog__Deploying DeepSeek with PD Disaggregation and Large-Scale Expert Parallelism on 96 H100 GPUs]])は、PD 分離を [[DeepEP]] の通信モード選択そのものに拡張する——Prefill サーバーは長入力最適化の Normal Dispatch(CUDA Graph 非対応)、Decode サーバーは低遅延最適化の Low-Latency Dispatch(CUDA Graph 対応)を独立に選び、統一エンジンでは両立できない通信最適化を同時に実現する。RDMA ベースの非ブロッキング転送で KV キャッシュをハンドオフする点は DistServe/Mooncake と共通するが、PD 分離が MoE の Expert Parallelism 通信ライブラリの選択という、KV キャッシュ以外のシステムコンポーネントにも及ぶことを示す新しい事例である。(Source: [[@2025__LMSYS Blog__Deploying DeepSeek with PD Disaggregation and Large-Scale Expert Parallelism on 96 H100 GPUs]], [[@2024__OSDI__DistServe - Disaggregating Prefill and Decoding for Goodput-optimized Large Language Model Serving]]) - **PD 分離間の KV 転送は、性能最適化研究だけでなく標準化されたトレース計測の対象にもなっている**: [[MLCommons Chakra]] は vLLM v1 の prefill/decode disaggregation 構成で、prefill GPU から decode GPU への per-layer KV 転送(Llama3-8B、32 層)を実測し、Send(prefill 側)が約 143〜187µs、Recv(decode 側)が約 108〜145µs で、Send が Recv より一貫して高いレイテンシを示すことをトレースとして可視化した。DistServe・Mooncake・LMCache が「KV 転送をどう設計・最適化するか」を扱うのに対し、Chakra は「既存の PD 分離実装の KV 転送挙動をベンダー非依存の標準形式でどう計測・比較するか」という補完的な観点を提供する。(Source: [[@2026__MLSys2026__MLCommons Chakra - Advancing Performance Benchmarking and Co-design using Standardized Execution Traces]]) - **同居(co-location)を維持したまま QoS 差別化で効率化する路線が、分離路線と並立する**: [[@2025__arXiv__Niyama - Breaking the Silos of LLM Inference Serving]] は Prefill/Decode を同一レプリカに同居させたまま([[Sarathi-Serve]] の chunked-prefill を拡張)、複数 QoS クラスを共有インフラで co-schedule することで、interactive/batch のサイロ非効率を SOTA サイロ構成比 GPU 13〜32% 削減で解消した。DistServe・Mooncake・P/D-Serve が「Prefill と Decode を物理的に分離してそれぞれ最適化する」路線であるのに対し、Niyama は「分離せず、デッドラインスラックを動的に再配分する」路線であり、両者は KV キャッシュ転送コストを払うか(分離)、チャンクサイズ制御の複雑性を払うか(同居)というトレードオフの両極として並立する。(Source: [[@2025__arXiv__Niyama - Breaking the Silos of LLM Inference Serving]], [[@2024__OSDI__DistServe - Disaggregating Prefill and Decoding for Goodput-optimized Large Language Model Serving]]) - **PD 分離の有効性は普遍的ではなく、モデルアーキテクチャ・規模・トラフィックパターンの3軸で条件付けられることが、数十万規模のシミュレーションで定量化された**: [[@2026__MLSys2026__Beyond the Buzz - A Pragmatic Exploration of Prefill-Decode Disaggregation in Large Scale Inference]](NVIDIA)は、disaggregation が最も有効なのは prefill-heavy トラフィック(ISL >> OSL)と大規模モデル(>10B パラメータ)であり、decode-heavy トラフィックや小規模モデルでは co-located serving(特に context chunking による piggybacking)が競争力を持つことを示した。これは DistServe・Mooncake・P/D-Serve が個別事例で示してきた「分離が有利」という主張に、モデル規模とトラフィック方向という2軸の定量的な適用条件を与えるものである。 - **co-location における context chunking の有効性は attention 機構(MLA vs. GQA)に依存し、PD 分離の要否判断はモデルアーキテクチャ単位で行うべきことが示された**: 同論文は、DeepSeek-R1 の Multi-Latent Attention(MLA)を持つ MoE モデルが、piggybacked co-location において prefill chunking のたびに down/up projection を再計算する追加オーバーヘッドを負うことを指摘した。これは Group Query Attention(GQA)ベースの Llama-3.1 系列には生じない、MLA 固有の不利益である。PD 分離を「するかどうか」の判断が、トラフィックパターンだけでなく attention 機構の選択にも依存することを示す新しい軸である。 - **PD 分離間のレートマッチングは、整数計画的な GPU 比率決定アルゴリズムとして定式化できる**: 同論文の Algorithm 1・2 は、FTL SLA を満たす prefill 構成の中でスループット/GPU を最大化したのち、decode 構成とのスループット比を整数比に丸めて Ctx:Gen GPU 数を決定する2段階手続きを与える。DistServe が Goodput 最大化として扱ってきたレートマッチング問題に、具体的な整数ソルバ的アルゴリズムという実装可能な形を与えた点で、既存の定性的な「段階別 GPU 割当探索」の記述を補完する。(Source: [[@2026__MLSys2026__Beyond the Buzz - A Pragmatic Exploration of Prefill-Decode Disaggregation in Large Scale Inference]]) - **本番規模の実測は「PD 分離が常に優位」ではなく、オンライン/オフラインで有効性が反転することを定量化した**: [[@2026__MLSys2026__Optimizing Deployment Configurations for LLM Inference]](Meta)は、厳格な SLO を持つオンライン推論では分離が継続的バッチング比 70B で1.5〜1.8倍・405B で1.8〜2.2倍の QPS を達成する一方、レイテンシ非制約のオフライン生成では両者の差がほぼ消失し、深いパイプライン並列 + 大バッチという同一構成に収束することを、数百万規模の構成探索シミュレーションで示した。これは DistServe・Mooncake・P/D-Serve が個別のオンラインシナリオで「分離が有利」と主張してきたのに対し、ワークロードのレイテンシ制約の有無という軸で有効性の境界を定量化した点で「Beyond the Buzz」(NVIDIA、prefill-heavy トラフィックとモデル規模で条件付ける)と補完的な——しかし異なる軸(SLO の有無 vs トラフィック方向)による——条件付け結果である。(Source: [[@2026__MLSys2026__Optimizing Deployment Configurations for LLM Inference]], [[@2026__MLSys2026__Beyond the Buzz - A Pragmatic Exploration of Prefill-Decode Disaggregation in Large Scale Inference]]) - **PD 分離の優位性は KV キャッシュ転送設計だけでなく、Prefill/Decode 独立の並列化選択にも由来する**: Meta の実測では、分離の QPS 優位は(1) Prefill/Decode の並列化(P)を独立に最適化できること(継続的バッチングでは単一の並列化設定を両フェーズで共有せざるを得ない)、(2) TTIT を犠牲にしない大きな Decode バッチサイズ(70B/GPU-A で112対28)、の2要因に分解できる。DistServe・Mooncake が KV キャッシュ転送・プール設計を中心課題として扱うのに対し、Meta の知見は「フェーズ別並列化の独立性」という、転送コストとは別の分離の便益を定量化する。(Source: [[@2026__MLSys2026__Optimizing Deployment Configurations for LLM Inference]]) - **本番運用では PD 分離の採否がインフラ移行の意思決定として実行され、約30%の容量削減として定量化された**: Meta はオンラインサービスの大半を分離ランタイムへ移行し、約30%の容量削減(GPU 削減率相当)を得たと報告する。これは AIBrix が低トラフィック条件で報告する4.7倍のコスト削減とは異なる文脈(AIBrix はオートスケーリングとの組み合わせ、Meta は静的な分離移行そのもの)での定量値であり、PD 分離の経済的便益が測定条件によって大きく異なることを示す一例である。(Source: [[@2026__MLSys2026__Optimizing Deployment Configurations for LLM Inference]], [[@2025__arXiv__AIBrix - Towards Scalable, Cost-Effective Large Language Model Inference Infrastructure]]) ## 未解決の問い - Niyama の同居 QoS co-scheduling と DistServe 型の物理分離は、同一ワークロード・同一 GPU 予算で直接比較されていない。KV キャッシュ転送コストが小さい環境(高速 NVLink 等)では分離が優位、転送コストが大きい環境では同居が優位、という条件分岐は成立するか。 - PD 分離の最適粒度は、GPU 単位、パイプライン段階単位、ストリーミングマルチプロセッサ単位のどこに置くべきか。Semi-PD のような同一 GPU 内分離は KV 転送を避ける一方、資源独立性をどこまで保てるか。 - 長コンテキスト・RAG・マルチターンエージェントの共有プレフィックスでは、KV キャッシュ転送、再利用、圧縮、永続化のどの組み合わせが TTFT と ITL の双方を最小化するか。 - PD 分離された Decode インスタンスが障害になった場合、複数 Prefill インスタンスへ障害が波及する。分離型推論サービングの耐障害性は、複製型同居システムとどう比較すべきか。 - P/D-Serve の scenario 単位 P/D group と、LMCache/Dynamo 型のグローバル KV cache store はどこで組み合わせるべきか。prefix locality を優先すると負荷分散が崩れ、負荷分散を優先すると cache hit が落ちる可能性がある。 - block-free / chunked KV 転送は平均転送時間を下げるが、tail latency と障害時再送の粒度にはどのような影響があるか。 - NIXL 型の非同期 Xfer request 再投稿モデルでは、Prefiller/Decoder の動的スケールイン、失効した remote metadata、部分転送失敗をどの粒度で扱うべきか。 - Mooncake の Prefill/Decode 比率は静的設定。長コンテキスト比率やトラフィックパターンの変化に動的適応する手法はどう設計すべきか。Prefill/Decode 間の弾力的変換を実現した場合に Conductor の設計はどう変わるか。 - 予測ベース Early Rejection でシステムレベル均一 t_d 仮定を使っているが、出力長分布が重い尾を持つ場合(Kimi の出力は max >2,000 tokens)にどう補正すべきか。 - 「Beyond the Buzz」は disaggregation が prefill-heavy・大規模モデルで最も有効と定量化したが、この結論は NVIDIA 独自の proprietary シミュレータに基づく。実機ベンチマーク(DistServe・Mooncake 等)との定量的な突き合わせは行われていない。シミュレーション結果と実測結果はどの程度一致するか。 - MLA(DeepSeek-R1)における piggybacked co-location の prefill chunking オーバーヘッドは、一時的な up-projected KV キャッシュで緩和可能と述べられているが、この緩和策はまだ定量評価されていない。緩和後も MLA は GQA と同等の chunking 効率に到達し得るか。 ## 関連 - ソース: [[@2024__OSDI__DistServe - Disaggregating Prefill and Decoding for Goodput-optimized Large Language Model Serving]] / [[@2025__INLG__Taming the Titans - A Survey of Efficient LLM Inference Serving]] / [[@2025__さくらのナレッジ__分散推論基盤やその前提の考え方]] / [[@2026__SpeakerDeck__推論基盤のパフォーマンス検証と最適化戦略]] / [[@2024__arXiv__P-D-Serve - Serving Disaggregated Large Language Model at Scale]] / [[@2025__arXiv__LMCache - An Efficient KV Cache Layer for Enterprise-Scale LLM Inference]] / [[@2025__PyTorchConference__Scaling KV Caches for LLMs - How LMCache + NIXL Handle Network and Storage Heterogeneity]] / [[@2024__arXiv__Mooncake - A KVCache-centric Disaggregated Architecture for LLM Serving]] / [[@2025__LMSYS Blog__Deploying DeepSeek with PD Disaggregation and Large-Scale Expert Parallelism on 96 H100 GPUs]] / [[@2026__MLSys2026__MLCommons Chakra - Advancing Performance Benchmarking and Co-design using Standardized Execution Traces]] / [[@2025__arXiv__Niyama - Breaking the Silos of LLM Inference Serving]] / [[@2026__MLSys2026__Beyond the Buzz - A Pragmatic Exploration of Prefill-Decode Disaggregation in Large Scale Inference]] / [[@2026__MLSys2026__Optimizing Deployment Configurations for LLM Inference]] - エンティティ: [[DistServe]] / [[vLLM]] / [[Mooncake]] / [[LMCache]] / [[P-D-Serve]] / [[AIBrix]] / [[SGLang]] / [[DeepEP]] / [[MLCommons Chakra]] / [[Sarathi-Serve]] / [[NVIDIA Dynamo]] / [[NIXL]] / [[Meta]] - 概念: [[LLM推論設計空間探索]] / [[並列化戦略]] - 関連 MOC: [[LLM4SRE - MOC]] ## 出典 - [[@2024__OSDI__DistServe - Disaggregating Prefill and Decoding for Goodput-optimized Large Language Model Serving]] - [[@2025__INLG__Taming the Titans - A Survey of Efficient LLM Inference Serving]] - [[@2025__さくらのナレッジ__分散推論基盤やその前提の考え方]] - [[@2026__SpeakerDeck__推論基盤のパフォーマンス検証と最適化戦略]] - [[@2024__arXiv__P-D-Serve - Serving Disaggregated Large Language Model at Scale]] - [[@2025__arXiv__LMCache - An Efficient KV Cache Layer for Enterprise-Scale LLM Inference]] - [[@2024__arXiv__Mooncake - A KVCache-centric Disaggregated Architecture for LLM Serving]] - [[@2025__arXiv__AIBrix - Towards Scalable, Cost-Effective Large Language Model Inference Infrastructure]] - [[@2025__PyTorchConference__Scaling KV Caches for LLMs - How LMCache + NIXL Handle Network and Storage Heterogeneity]] - [[@2025__LMSYS Blog__Deploying DeepSeek with PD Disaggregation and Large-Scale Expert Parallelism on 96 H100 GPUs]](SGLang の DeepEP Normal/Low-Latency Dispatch モード切替による PD 分離の拡張) - [[@2026__MLSys2026__MLCommons Chakra - Advancing Performance Benchmarking and Co-design using Standardized Execution Traces]](vLLM PD 分離構成での per-layer KV 転送レイテンシのトレースベース実測、MLSys 2026 Oral) - [[@2025__arXiv__Niyama - Breaking the Silos of LLM Inference Serving]](同居維持のまま QoS 差別化で co-scheduling する対照的アプローチ、動的チャンキング、SOTA サイロ比 GPU 13〜32% 削減) - [[@2026__MLSys2026__Beyond the Buzz - A Pragmatic Exploration of Prefill-Decode Disaggregation in Large Scale Inference]](NVIDIA、数十万設計点のシミュレーションで PD 分離の有効性をモデルアーキテクチャ・サイズ・トラフィックパターンの3軸で定量化、レートマッチングの整数計画的アルゴリズム、MLSys 2026 Oral) - [[@2026__MLSys2026__Optimizing Deployment Configurations for LLM Inference]](Meta、月間10億ユーザー規模の本番運用実測。オンライン推論で分離が継続的バッチング比1.5〜2.2倍のQPS、オフラインでは差が消失。オンラインサービスの大半を分離へ移行し約30%容量削減、MLSys 2026 Industry Track)