親子関係を保って学習データを並列処理するRayOrch
RayOrch: Programming and Executing Lineage-Controlled Multi-Grain Dataflows for Foundation-Model Data Preparation
この論文をやさしく読む
ひとことで言うと
文書をページに、動画をフレームなどに分けてGPUで処理するとき、元データとの親子関係と順番を保ちながら、別の元データの処理も混ぜて効率よく実行する仕組みです。
何に役立つ?
基盤モデル向けの文書・動画データ準備で、子項目数の偏りを扱いつつ、結果の再構成や失敗の影響範囲を管理する用途に役立ちます。
この研究の面白いところ
実行のバッチ分けや終了順と、結果を戻す順序を切り離しています。ある親で失敗しても、無関係な親を止めない実行規則も備えています。
どこまで分かった?
15.14倍と7.82倍はGPU台数を増やしたときの拡張性能で、他製品に対する倍率ではありません。他製品との比較は別に示された時間短縮率です。数値はH20と指定のパイプラインでの評価です。
v1のアブストラクトに基づくAI解説。日本語訳とは別に、用途の解釈を含みます。
アブストラクトの日本語訳
基盤モデル用の高品質な学習データを準備するには、さまざまな文書や動画を構造化レコードへ変換する、拡張可能な処理パイプラインが必要である。このようなパイプラインは、各親項目を、順序があり入力に依存する子項目の列へ展開し、その個数は裾の重い分布になることがある。GPUでは異なる親の子項目をまとめて処理しつつ、親との関係、子の順序、完了状態、結果の送り先を保つ必要がある。既存システムは、粗い単位のジョブの背後に並列性を隠すか、平坦なレコードを公開して、系譜の管理と再集約をアプリケーションに任せている。 実行全体で親子関係を保持するプログラミングモデルと分散実行エンジンRayOrchを提案する。プログラムは、順序付きで要素数が可変の展開と、それに対応する集約を宣言する。コンパイラが各組を検証し、実行時システムが子の所属、直近の親、変更されない順序番号、終端状態を記録する。呼出しごとのFIFO実行準備キューは、異なる親に属する準備済みの子をバッチ化する。集約では、バッチ境界や完了順ではなく、宣言された所属と順序番号から結果を再構成する。親は、必要な子がすべて終端状態に達した時点で先へ進める。型を持ち親の範囲に限定された失敗は、その失敗した親に属する未実行の兄弟項目を抑止しつつ、無関係な親の処理を継続させる。 NVIDIA H20 GPU上で、RayOrchはMinerUを4 GPUから64 GPUへ拡張すると15.14倍、動画パイプラインを8 GPUから64 GPUへ拡張すると7.82倍の高速化を達成する。MinerUでは、エンドツーエンド時間をRay Dataより13.1%、Daftより29.0%短縮し、DoclingではRay Dataより16.0%短縮する。コードはhttps://github.com/OpenDCAI/RayOrchで公開されている。
v1の要旨から自動生成。本文の精読・人による確認は未実施。
- 初稿
- 2026-09-16(UTC)
- 最新改訂
- 2026-09-16 · v1
- 査読・掲載
- 査読状況未確認
更新履歴
- v1 2026-09-16 この版を読む
取得できた版を表示。版の更新は査読済みを意味しません。過去版の本文差分は未解析です。
原文の要旨
Preparing high quality training data for foundation models requires scalable pipelines that transform heterogeneous documents and videos into structured records. Such pipelines expand each parent item into an ordered and input dependent sequence of children, whose counts may be long tailed. GPUs should batch children across parents while preserving parent relationships, child order, completion status, and result routing. Existing systems either hide parallelism behind coarse grained jobs or expose flat records that force applications to manage lineage and regrouping. We present RayOrch, a programming model and distributed execution engine that preserves parent child relations throughout execution. Programs declare ordered variable cardinality expansions and matching gathers. The compiler validates each pair, while the runtime records child membership, immediate parents, immutable ordinals, and terminal states. Per Call FIFO Ready Queues batch ready children across parents. Gathers reconstruct results from declared membership and ordinals rather than batch boundaries or completion order. Parents can advance as soon as all required children become terminal. Typed parent scoped failures suppress undispatched siblings of the failed parent while allowing unrelated parents to continue. On NVIDIA H20 GPUs, RayOrch achieves 15.14 times speedup when scaling MinerU from 4 to 64 GPUs and 7.82 times speedup when scaling a video pipeline from 8 to 64 GPUs. It reduces end to end time by 13.1 percent versus Ray Data and 29.0 percent versus Daft on MinerU, and by 16.0 percent versus Ray Data on Docling. Code available at https://github.com/OpenDCAI/RayOrch .
著者のコメント
Technical Report
arXiv ID: 2609.18703 / 要約の誤りについて