# 勾配圧縮
## 定義
勾配圧縮(gradient compression)または通信圧縮(communication compression)とは、分散深層学習においてノード間・アクセラレータ間で同期される勾配(gradients)・モデル重み(weights)・活性化値(activations)などのテンソルデータを量子化・スパース化・エントロピー符号化等により縮小し、ネットワーク転送帯域のボトルネックを緩和する技術体系である。([[@2026__HPCA__COCCL - A Collective Communication Library Supporting Easy Integration and Configuration of Customized Compression for Scalable LLM Training]])
## 通信量削減と精度維持のトレードオフ
通信圧縮はデータ転送量を大幅に削減する一方、以下の 2 つの代償を伴う:
1. **計算オーバーヘッド**: 圧縮(量子化/スパース化)および解凍(逆量子化)のための GPU/CPU 計算時間が発生する。このオーバーヘッドが通信時間短縮分を上回るとスループットが低下する。
2. **数値精度の劣化と累積誤差**: 非可逆圧縮を用いた場合、反復学習に伴い各イテレーションの誤差が蓄積・伝播し、収束速度の低下や損失関数の発散を引き起こすリスクがある。
## 3D並列化における次元別圧縮の異質性
大規模言語モデルの 3D 並列学習([[PTD-P]])では、各並列次元で交換されるデータの統計的性質と通信頻度が大きく異なる:
- **データ並列 (DP)**: 各イテレーションの境界で重みと勾配の同期(AllGather / ReduceScatter)を行う。データ量は大きいが通信頻度は低く、広ダイナミックレンジや外れ値に対応した 4 ビット動的量子化(SDP4Bit 等)により、精度を損なわず 1.35 倍程度の高速化が可能。
- **パイプライン並列 (PP)**: ステージ境界で順伝播・逆伝播のアクティベーションを P2P 送信する。外れ値保護量子化(TAHQuant 等)により 8 ビット圧縮で約 1.88 倍の通信高速化が達成できる。
- **テンソル並列 (TP)**: レイヤーごとに部分和のアクティベーションを頻繁に AllReduce する。反復的な加算と非線形変換により微小な量子化誤差が指数関数的に増幅されるため、8 ビット非可逆圧縮であっても訓練精度が致命的に崩壊する。したがって TP 次元は非圧縮(または完全可逆圧縮)に留める非対称な構成が要求される。
## 集合通信アルゴリズムとの協調設計
従来のリング型集合通信(Ring AllReduce 等)に単純に圧縮を適用すると、リングを 1 ホップ進むごとに圧縮・解凍が繰り返され、GPU 数 $n$ に比例してオーバーヘッドと誤差が増加する。このため、現代の通信圧縮では以下の協調設計が不可欠となる:
- **AlltoAll ベースの PCCA プリミティブ**: 圧縮・解凍を 1 回のみで完了させ、誤差伝播を防止する。
- **階層的 2 段階通信**: ノード内 NVLink での局所リダクションと、ノード間 InfiniBand での高圧縮率 PCCA を組み合わせる。
- **マルチストリームによる計算・通信オーバーラップ**: データチャンク分割により、通信中に後続チャンクの圧縮演算をバックグラウンド実行する。
## 未編纂の観察
- [リング型圧縮の破綻と PCCA の優位性] 従来のリング型集合通信への単純な圧縮組み込みは、32 GPU 規模において非圧縮ベースラインを下回るスループット低下と訓練損失の発散を招く。これに対し、AlltoAll を中核とする PCCA(Compression-Accelerated Collective Primitive)および 1-shot / 2-shot アルゴリズムを用いることで、32 GPU でも精度損失を 0.24% に抑え、NCCL 比最大 6.0 倍の通信高速化が達成される。(Source: [[@2026__HPCA__COCCL - A Collective Communication Library Supporting Easy Integration and Configuration of Customized Compression for Scalable LLM Training]])
- [競合緩和の手段としての圧縮率制御] PTS は圧縮率を精度のための固定値でなく、ジョブ間競合を解く制御変数として MILP と窓ベース適応で動かす。スパース化は中程度の圧縮率で索引のオーバーヘッドが利得を相殺するため量子化(32 ビットから 16 ビットまたは 8 ビット、データ量 50-75% 削減)を採る。ただし精度への影響は QSGD 系の先行研究の引用に依存し、本論文の 6 モデルでの収束実測は本文に見当たらない。(Source: [[@2026__IPDPS__The Communication Orchestration - Jointly Optimizing When, How, and What to Communicate in Shared ML Clusters]])
## 未解決の問い
- テンソル並列(TP)の AllReduce において、頻繁な加算による累積誤差を回避しつつ通信量を圧縮できる新しい表現形式(例: 外れ値の高精度維持と通常値の超低ビット化のハイブリッド)は実現可能か。
- AlltoAll ベースの圧縮集合通信は GPU 数 $N$ に比例してコネクション数とバッファ管理コストが増加するが、数千〜数万 GPU 規模においてメモリ消費とスケーラビリティをどのように最適化すべきか。
## 関連
- 概念: [[集合通信]] / [[LLM分散学習]] / [[並列化戦略]] / [[PTD-P]]
- ソース: [[@2026__HPCA__COCCL - A Collective Communication Library Supporting Easy Integration and Configuration of Customized Compression for Scalable LLM Training]] / [[@2026__IPDPS__The Communication Orchestration - Jointly Optimizing When, How, and What to Communicate in Shared ML Clusters]]
- エンティティ: [[COCCL]] / [[NCCL]] / [[PTS]]
## 出典
- [Liu+, PPoPP 2026] Xingchen Liu et al. "COCCL: A Collective Communication Library Supporting Easy Integration and Configuration of Customized Compression for Scalable LLM Training", PPoPP 2026.
- [[@2026__IPDPS__The Communication Orchestration - Jointly Optimizing When, How, and What to Communicate in Shared ML Clusters]](圧縮率をジョブ間競合の制御変数として使う例)