# RaggedShard ## 定義 RaggedShard は、DTensor(Distributed Tensor)の追加プレースメントとして提案された、**任意のシャーディング粒度**(要素・行・任意次元のカスタムブロック)と**任意のシャーディング分布**(各デバイスに配置するブロック数が不均等でよい)を許すシャーディングフォーマットである。PyTorch/TensorFlow の JaggedTensor/NestedTensor(単一デバイス上でジャグ配列を表現するプリミティブ)に着想を得ており、これを分散シャーディングの文脈に拡張したものといえる。粒度をカスタムブロック形状に設定した Block-wise RaggedShard は、非要素単位計算・コレクティブによる再分配・ブロック単位量子化の 3 要件を同時に満たす唯一のフォーマットとして位置づけられる。([[@2026__MLSys2026__veScale-FSDP - Flexible and High-Performance FSDP at Scale]]) ## 横断的知見 - **既存の FSDP シャーディング設計は「要素単位」と「行単位」の二極化に留まっていた**: [[ZeROパラメータシャーディング]] で整理した PyTorch FSDP の FlatParameter(1 次元連結)による均等シャーディングも、DeepSpeed ZeRO の要素単位シャーディングも、いずれも固定粒度である。RaggedShard はこの二極化に第 3 の軸(カスタムブロック粒度・不均等分布)を導入し、粒度をパラメータとして扱うことで両者を特殊ケースとして包含する。(Source: [[@2026__MLSys2026__veScale-FSDP - Flexible and High-Performance FSDP at Scale]]) - **通信オーバーヘッドの発生源が「アドレスの不連続性」という共通の根に収束する**: PyTorch FSDP の FlatParameter 設計(1 回の大きな AllGather を発行する)も、veScale-FSDP の DBuffer(ゼロコピーでバッファをテンソルに直接マッピングする)も、狙いは同じ「NCCL の均等入力・アライメント要件を満たしながらコピーオーバーヘッドを避ける」ことにある。FSDP2 は per-parameter シャーディングで柔軟性を得た代償として interleaved アドレスのコピーオーバーヘッド(最大 14% のイテレーション時間)を新たに生んだ、という構図は、FlatParameter 設計が回避していた問題が形を変えて再発したものと解釈できる。(Source: [[@2023__VLDB__PyTorch FSDP Experiences on Scaling Fully Sharded Data Parallel]], [[@2026__MLSys2026__veScale-FSDP - Flexible and High-Performance FSDP at Scale]]) - **Megatron-FSDP のパディング膨張は「DTensor Shard(0) 互換性の維持コスト」として説明できる**: Megatron-FSDP はゼロコピー設計を採る点で veScale-FSDP と方向性が近いが、既存の分散チェックポイントスタックとの互換性のために固定 `Shard(0)` 粒度を保つ必要があり、これが MoE モデルで 33% のバッファパディング膨張を招く。RaggedShard は同じ互換性要求を `StridedRaggedShard` という専用プレースメントで解決しており、「既存インフラとの互換性」と「シャーディング粒度の自由度」のトレードオフに対する 2 つの異なる解法として対比できる。(Source: [[@2026__MLSys2026__veScale-FSDP - Flexible and High-Performance FSDP at Scale]]) - **グループ化通信の最適化は AllToAllv スケジューリングと同型の「NP-hard → 多項式時間ヒューリスティック」パターンを踏む**: [[集合通信]] で整理した TACCL・TE-CCL・SyCCL による AllToAllv の定式化・単純化の系譜と同様に、veScale-FSDP のプランニングアルゴリズムも Partition 問題への帰着で NP-hard 性を示した上で、トランスフォーマー構造の規則性(線形重みの優占・層間でのブロックサイズの一貫性)を利用した DP ヒューリスティックで実用的な解を得ている。「厳密な最適化は理論的に困難だが、ドメイン固有の構造的規則性を使えば実用十分な近似解が高速に求まる」という解法パターンが、通信スケジューリングとシャーディングレイアウト設計の両方で独立に繰り返されている。(Source: [[@2026__MLSys2026__veScale-FSDP - Flexible and High-Performance FSDP at Scale]]) ## 未解決の問い - RaggedShard のプランニングヒューリスティックはトランスフォーマー特有の構造規則性(線形重み優占・層間ブロックサイズ一貫性)に依存する。非トランスフォーマーアーキテクチャ(状態空間モデル・畳み込み系等)でこのヒューリスティックがどこまで有効か、代替のテンソル順序戦略との比較実証はまだ示されていない。 - Block-wise RaggedShard によるブロック単位量子化(8-bit Adam)・非要素単位オプティマイザ(Muon)のサポートは、量子化誤差や収束特性そのものへの深い分析を伴っていない。RaggedShard の粒度選択(32×32 ブロック等)が収束速度・最終精度に与える影響は今後の検証課題。 - Megatron-FSDP の `Shard(0)` 互換設計と RaggedShard の `StridedRaggedShard` 設計は、いずれも「既存 DTensor エコシステムとの互換性」を異なるアプローチで解決している。両者を定量的に比較した第三者評価(パディング膨張率・実装複雑度)はまだ存在しない。 - RaggedShard は PyTorch の公式ロードマップ(2026 H1)に将来機能として掲載されているが、PyTorch 本体への統合後にコミュニティの他の並列化ライブラリ(Megatron-LM 等)がどう追従するかは未確定。 ## 関連 - ソース: [[@2026__MLSys2026__veScale-FSDP - Flexible and High-Performance FSDP at Scale]] - 概念: [[ZeROパラメータシャーディング]] / [[ZeROメモリ最適化]] / [[集合通信]] / [[並列化戦略]] / [[Mixture-of-Experts]] - エンティティ: [[veScale]] / [[ByteDance Seed]] / [[Zezhou Wang]] / [[Yanghua Peng]] / [[Xin Liu]] - 関連 MOC: [[分散深層学習 - MOC]] ## 出典 - [[@2026__MLSys2026__veScale-FSDP - Flexible and High-Performance FSDP at Scale]] — RaggedShard・構造認識プランニング・Distributed Buffer(DBuffer)の原論文(ByteDance Seed、MLSys 2026 Industry Track)