並列学習・低精度計算・モデル統合のサーベイ(2026年10月)
並列学習・低精度計算・モデル統合
公開文献の上限は2026年10月3日。 既存Parallel Trainingと関連するTorchTitan・JAX・LLM実装メモを起点に、 アルゴリズムとsystemの接点を整理する。公式実装の最新APIを保証する導入手順ではなく、 論文に基づく設計原理のレビューである。 下記SY文献は一次資料の要旨・書誌を確認した。OP文献の詳細と証拠水準は最適化章にある。
1. 研究史:計算の分割から学習方法の再設計へ
2010年代後半までに、データ並列だけでは収まらないモデルに対して pipeline parallelismとtensor parallelismが実用化された。 GPipeはlayer系列を分け、Megatron-LMはTransformer内部の行列演算を分ける。 PipeDreamはpipeline稼働率とweight versioningを扱う。 「GPUを増やす」だけでは、activation、optimizer state、通信、待機の各費用は解決しない。SY002 SY003 SY015
ZeROはデータ並列におけるmodel stateの重複を削減し、 FSDPはその考え方を実用的なframeworkへ統合する重要な系譜にある。 Megatronの後続研究はDP・TP・PPを組み合わせ、TorchTitanはPyTorch-nativeな構成を比較可能にした。 この流れは「メモリ節約」と「最速の訓練」が同じ課題ではないことを示す。SY001 SY004 SY006 SY005
2025–2026年の構造化optimizerでは、matrix全体を扱う更新とweight shardingの衝突が新たな課題になる。 Dion、layer単位の分散Muon/SOAP、Dion3は、その費用を更新則・通信・kernelの異なる側面から減らす。 Local SGD/DiLoCoはさらに同期頻度そのものを変える。 訓練systemsの設計が最適化軌跡へ影響する段階に入っている。OP044 OP014 OP059 OP035
2. 並列化の分類
| 方式 | 分ける対象 | 主な通信・費用 | 比較上の注意 |
|---|---|---|---|
| Data parallel / DDP | サンプル、modelは複製 | gradient集約 | global batch増加で統計効率も変わる |
| ZeRO / FSDP | optimizer state、gradient、parameter | all-gather / reduce-scatter等 | shardの段階・groupによってメモリと通信が変わる |
| Tensor parallel | layer内部の行列演算 | layerごとのcollective | 小さいlocal行列と頻繁な通信が問題になる |
| Pipeline parallel | layerのstage | activation/gradient受け渡し | bubble、microbatch、weight version |
| Context / sequence系並列 | sequence軸等 | attentionのK/V等 | 算法・frameworkごとに用語と分割対象が異なる |
| Expert parallel | MoE expertとtoken routing | all-to-all等 | load balanceとactive/total parameterを区別 |
| Local / 非同期訓練 | 学習軌跡・同期時刻 | model差分の周期的集約 | 同じ目的でも更新則が変わる |
上表はZeRO、FSDP、Megatron、GPipe、Ring Attention、DeepSeek-V3、 DiLoCoを比較して作った分類である。SY001 SY004 SY006 SY002 SY013 SY014 OP033
用語の注意。 一般的なdata parallelismと、frameworkのDataParallel classは同じ抽象度ではない。 DDPは一般にreplicaのgradientを同期するが、「parameterやbufferの通信が一切ない」という意味ではない。 FSDPも常に全device間で同じようにshardするわけではなく、hybrid group構成を持てる。 旧メモの短い対比を、すべての設定に成り立つ通信仕様として読まない。SY004 SY005
3. Device meshとbatchの数え方
既存TorchTitanメモの4次元mesh例は構成の一例として読む。 独立な軸をDP・TP・PP・CPとした単純化では
\[N_{\mathrm{device}}=N_{\mathrm{DP}}N_{\mathrm{TP}}N_{\mathrm{PP}}N_{\mathrm{CP}}\]と表せるが、expert並列のgroup共有やhybrid shardingなど実際のlayoutは構成依存である。 TPやPPのdevice数をglobal batchの倍率に数えないことが重要になる。 同じsampleの計算を分割しているだけだからである。 基本的なglobal sequence batchは、独立data replica数、各replicaのmicrobatch、 gradient accumulation回数の積で定まる。 token batchはさらにsequence length、packing、maskを含めて定義する。SY006 SY005
FSDPによってmicrobatchを増やせても、optimizerのCBSを超えると統計効率が悪化し得る。 逆に通信が律速なら大きいbatchの方が実時間を短縮できることがある。 このトレードオフは最適化章の大バッチ節で扱う。OP022 OP014
4. メモリ:state、activation、temporary bufferを別に測る
model parameter数を $P$、shard数を $N$ として、理想的なstate分割では 一部の常駐メモリは $O(P/N)$ になる。 しかしactivation、通信buffer、all-gather時の一時的parameter、matrix分解のworkspaceは 同じ比率では減らない。 したがって「optimizer stateが半分」や「全stateをshard」という説明だけで peak memoryを推定しない。ZeROのstate分類とFSDPの実装経験が出発点になる。SY001 SY004
activation checkpointingは中間値を捨てて再計算し、memoryとcomputeを交換する。 Chenらのsublinear memory研究はこの基本的な交換条件を示す。 保存対象、再計算範囲、RNG状態、numerical precisionの条件を記録する。 処理可能な最大モデルの拡張と、同じモデルのtime-to-target改善を分けて報告する。SY008
FlashAttentionはattentionの読み書きを減らすIO-awareな方法であり、 一般的なdense attentionの二次計算量をそのまま線形にした手法ではない。 Ring Attentionはblock計算とdevice間の通信を重ね、長いsequenceを分散処理する。 exact/approximate attention、メモリ使用量、演算量、wall-clockは別の軸である。SY009 SY013 2026年のFlashAttention-4等は基盤モデル章を参照。
5. 低精度訓練とmatrix optimizer
Mixed Precision Trainingは、低精度のforward/backward、より高精度のweight accumulation、 loss scalingを組み合わせた基礎文献である。 BF16、FP16、FP8は表現範囲と仮数精度が異なるため、 単にbit数だけを比較して「同じlow precision」と扱わない。SY007
DeepSeek-V3はMoEを含む大規模訓練とFP8等のsystem設計の実例として重要である。 本稿で直接確認したのは要旨・書誌であり、 細かなkernelや数値形式の仕様をこのサーベイだけで実装することは想定しない。 総parameter、active parameter、実行hardware、pretrainingとpost-trainingの費用を分けて technical report本文を読む必要がある。SY014
MuonのNSやShampooのmatrix rootは、訓練本体とは別に数値安定性を調べる必要がある。 行列をshardしたまま原算法を計算する方式と、 低rankや部分行を選択して更新を近似する方式は異なる。 Dion3のoptimizer-step高速化をend-to-end学習速度の倍率として引用しない。 再計算やall-gatherを含む全体時間で評価する。OP044 OP059 OP014
6. 2026年:低通信・非同期・故障への耐性
DiLoCoは局所学習を長く行って通信頻度を減らし、 Asynchronous Local-SGDはstalenessとouter momentumの問題を検討した。 2026年のDecoupled DiLoCoは独立learnerからの非同期集約をsystemとして扱う。 狙いは単純なpeak FLOPsではなく、障害や待機を含めた有効な訓練進捗である。OP033 OP034 OP035
| 比較条件 | なぜ必要か |
|---|---|
| 同じ到達loss / downstream評価 | 同じ時間でも学習量が異なる可能性 |
| 実機結果とsimulationの区別 | 大規模障害試験の証拠範囲が異なる |
| 通信回数とbyte数の両方 | 圧縮と頻度削減を区別する |
| 全workerの消費token / FLOPs | 完了したglobal updateだけでは費用を過小評価 |
| データ分割、sampling、token重み | hardware heterogeneityが学習分布に影響し得る |
| 障害率、復旧費用、checkpoint | 定常状態のthroughputだけでは運用を表せない |
LoRDOは低rank optimizerとinfrequent communicationを統合し、 IsoLoCoはmodel mergingの集約方法を利用する。 これらがDDPを普遍的に置き換えるという結論ではなく、 帯域・メモリ・worker数に応じて評価すべき研究選択肢が増えたと位置づける。OP068 OP067
7. 関連研究:weight averaging、task arithmetic、model merging
この分野は研究索引のTask Arithmeticと、既存SWA/多モーダル/OODの関心を接続する。 同じ訓練軌跡内のweight averaging、 同じ初期モデルからのfinetuned modelのmerging、 predictionsを平均するensembleは区別する。
Model soupsは共通pretrained modelからのfinetuning群を平均し、 推論時モデル数を増やさずaccuracyやrobustnessを改善する。 Task arithmeticはfinetuning差分をtask vectorとして加減する。 TIES-Mergingは小さい差分の除去と符号の競合解消を扱う。SY012 SY010 SY011
| 手法 | 結合するもの | 主な条件・限界 |
|---|---|---|
| SWA系 | 主に訓練軌跡のweight | loss basinや評価状態に依存 |
| Model soups | 共通初期値からの複数model | 任意の独立初期化を平均できるわけではない |
| Task arithmetic | finetuning差分 | task干渉、係数選択、評価対象 |
| TIES | sparsify・符号調整した差分 | trimmingや集約方針への依存 |
| IsoLoCo | local trainingのpseudo-gradient | 時間方向の反復学習を含む別の設定 |
SWAの原典と学習ダイナミクスは数理章で扱う。 mergingの公平性やOOD性能は、平均accuracyだけでは結論が出ない。 既存索引に記された個別プロジェクトの採択状況や未公開成果については、 この一般的な文献史から推測して補完していない。SY012 SY010 OP067
8. 研究上の空白と読む順序
以下は文献を横断した提案である。
- matrix optimizerで改善するsample効率が、sharding・低precision・通信を含めても残るかを測る。
- batch・local step・precision・meshを同時に変えず、寄与を分離する。
- 同一FLOPs、同一token、同一時間、同一targetの比較を使い分ける。
- model mergingで得られる平均性能の改善と、subgroup/OOD性能の変化を同時に調べる。
- 論文のhardware構成と異なる環境で、最大速度の倍率をそのまま再利用しない。
読む順序は ZeRO → FSDP → GPipe/PipeDream → Megatron 2019/2021 → TorchTitan → FlashAttention/Ring Attention → Dion/分散Muon-SOAP → Decoupled DiLoCo。 weight averagingの枝は Model soups → Task arithmetic → TIES → IsoLoCo と辿ると、 「なぜ学習済みmodelを結合するのか」と「なぜ分散訓練へ戻ってくるのか」が追いやすい。
参考文献
SY文献は要旨・書誌確認。本文中のOP番号は最適化章の参考文献 および統合参考文献を参照。
-
[SY001] Samyam Rajbhandari; Jeff Rasley; Olatunji Ruwase; Yuxiong He (2019). ZeRO: Memory Optimizations Toward Training Trillion Parameter Models. arXiv版参照(公刊状況を別途確認したものは注記)。確認:要旨。model state重複削減の基礎。
-
[SY002] Yanping Huang; Youlong Cheng; Ankur Bapna; ほか (2018). GPipe: Efficient Training of Giant Neural Networks using Pipeline Parallelism. arXiv版参照(公刊状況を別途確認したものは注記)。確認:要旨。layer分割とmicrobatch pipeline。
-
[SY003] Mohammad Shoeybi; Mostofa Patwary; Raul Puri; ほか (2019). Megatron-LM: Training Multi-Billion Parameter Language Models Using Model Parallelism. arXiv版参照(公刊状況を別途確認したものは注記)。確認:要旨。Transformerのtensor parallelism。
-
[SY004] Yanli Zhao; Andrew Gu; Rohan Varma; ほか (2023). PyTorch FSDP: Experiences on Scaling Fully Sharded Data Parallel. arXiv版参照(公刊状況を別途確認したものは注記)。確認:要旨。FSDPの実装・memory管理経験。
-
[SY005] Wanchao Liang; Tianyu Liu; Less Wright; ほか (2024). TorchTitan: One-stop PyTorch native solution for production ready LLM pre-training. arXiv版参照(公刊状況を別途確認したものは注記)。確認:要旨。PyTorch-nativeに並列化を組み合わせる。
-
[SY006] Deepak Narayanan; Mohammad Shoeybi; Jared Casper; ほか (2021). Efficient Large-Scale Language Model Training on GPU Clusters Using Megatron-LM. SC 2021。確認:要旨。DP・TP・PPの複合設計。
-
[SY007] Paulius Micikevicius; Sharan Narang; Jonah Alben; ほか (2017). Mixed Precision Training. ICLR 2018(arXiv初出2017)。確認:要旨。FP16、master weight、loss scaling。
-
[SY008] Tianqi Chen; Bing Xu; Chiyuan Zhang; Carlos Guestrin (2016). Training Deep Nets with Sublinear Memory Cost. arXiv版参照(公刊状況を別途確認したものは注記)。確認:要旨。再計算とactivation memoryの交換。
-
[SY009] Tri Dao; Daniel Y. Fu; Stefano Ermon; Atri Rudra; Christopher Ré (2022). FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness. arXiv版参照(公刊状況を別途確認したものは注記)。確認:要旨。exact attentionをIOから最適化。
-
[SY010] Gabriel Ilharco; Marco Tulio Ribeiro; Mitchell Wortsman; ほか (2022). Editing Models with Task Arithmetic. ICLR 2023(arXiv初出2022)。確認:要旨。finetuning差分をtask vectorとして操作。
-
[SY011] Prateek Yadav; Derek Tam; Leshem Choshen; Colin Raffel; Mohit Bansal (2023). TIES-Merging: Resolving Interference When Merging Models. NeurIPS 2023。確認:要旨。model差分の符号干渉への対処。
-
[SY012] Mitchell Wortsman; Gabriel Ilharco; Samir Yitzhak Gadre; ほか (2022). Model soups: averaging weights of multiple fine-tuned models improves accuracy without increasing inference time. ICML 2022。確認:要旨。共通初期値からのmodel weight平均。
-
[SY013] Hao Liu; Matei Zaharia; Pieter Abbeel (2023). Ring Attention with Blockwise Transformers for Near-Infinite Context. arXiv版参照(公刊状況を別途確認したものは注記)。確認:要旨。長いsequenceをblockwiseに分散。
-
[SY014] DeepSeek-AI; ほか (2024). DeepSeek-V3 Technical Report. arXiv版参照(公刊状況を別途確認したものは注記)。確認:要旨。MoEと訓練systemの技術報告。
-
[SY015] Aaron Harlap; Deepak Narayanan; Amar Phanishayee; ほか (2018). PipeDream: Fast and Efficient Pipeline Parallel DNN Training. arXiv版参照(公刊状況を別途確認したものは注記)。確認:要旨。pipelineとweight versioning。