PyTorch財団は2026年10月28日にPyTorch 2.15を公開した。複数のGPUでモデルを学習する開発者には新しい通信方式がデフォルトで適用され、Appleシリコンのユーザーには文章生成と行列計算を高速化する演算改善が提供される。
1. GPU間通信を新しい実装に切り替える
NVIDIA GPU間でデータをやり取りする通信層であるNCCLバックエンドが、新しい実装に変わる。ncclを指定すると新しい実装が選ばれ、通信グループの作成時にGPU間の通信チャネルも事前に作成する。
通信停止時の原因究明に役立つ記録機能も加わった。ある学習プロセスでタイムアウトが発生すると、全プロセスがその時点の作業状態をディスクに保存し、停止時に何をしていたかを調べられる。
以下は公式リリースノートの初期化例だ。デフォルト実装のほか、相手ごとに独立した通信チャネルを使う方式と、従来の実装を選ぶ方式も示している。
dist.init_process_group("nccl", device_id=torch.device("cuda", local_rank)) # new implementation
dist.init_process_group("nccl-lazy", device_id=torch.device("cuda", local_rank)) # independent P2P communicators
dist.init_process_group("nccl-legacy") # legacy implementation, removed in the next release2. 学習精度とメモリ使用のタイミングを調整する
モデルの状態を複数のGPUに分散して保持するFSDP2は、精度制御を細分化した。ルーターゲートや正規化の重みなど、精度に敏感なパラメーターを32ビットに保ちながら、モデルの残りの部分を低精度で学習できる。
reduce_dtype=Noneの場合、勾配は各パラメーターの勾配精度設定に従って累積・リダクションされる。公式リリースノートの32ビットパラメーター・bfloat16モデル計算の例では、勾配処理も16ビットから32ビットに変わり、勾配を分散して加算する通信のデータ量が2倍になる。高い勾配精度を維持する代わりに通信量が増える変更であり、以前の動作を維持するにはリダクション精度を明示的に指定すればよい。
モデルを複数の段階に分けて実行するパイプライン並列化では、受信直前にバッファーを確保し、送信が終わった出力を解放する。バッファーを事前に蓄える代わりに必要な時点で確保し、ピーク時のメモリ使用量を減らす方式だ。勾配のリダクションと後続の計算を重ねる調整機能も加わった。
分散通信には、通信グループや集団通信を使わず、ストアを介して相手に接続する片側通信APIが加わった。最初のバックエンドはNIXLで、転送をGPUの実行ストリームに載せ、一連の処理を記録・再実行するCUDAグラフに取り込める。
3. Appleシリコンで文章生成の演算を高速化する
AppleシリコンのGPU実行層であるMPSは、より多くの演算をネイティブMetalカーネルに移した。中間の実行層を経由していた演算を直接処理するカーネルに置き換え、呼び出しの負担を減らす方向だ。
公式発表によると、1行の128,256語のスコアを確率に変換するsoftmaxの所要時間は8分の1に減った。サイズを拡大するアップサンプリング演算の逆伝播は最大21.7倍高速化した。テンソル全体の大きさを計算するノルム演算も100倍以上高速化したという結果を示した。
文章を生成するデコード段階のF.linearは、公式発表によると、乗算に基づいて算出する平均である幾何平均で1.23倍、小さな射影演算では最大5倍高速化した。混合エキスパートモデルのように一部のサブネットワークを選んで使うモデルのデコードでは、M3 Ultraの新しいグループ化行列演算経路がスループットを1.32~1.34倍に高めた。
別の線形代数の結果として、公式発表によると512×512行列のQR分解時間は約7秒から1.5ミリ秒に減った。QR分解は行列を直交行列と三角行列に分解する計算だ。
4. インストールパッケージと実行環境を併せて選ぶ
標準のインストールパッケージであるwheelはCUDA 13.2に変わり、CUDA 13.4のwheelも提供される。両wheelは580以上のNVIDIAドライバーとTuring世代以降のGPUを要求する。CUDA 12.6や13.0のwheelを維持する環境には、公式リリースノートが以前のバージョンの使用を案内している。
Pythonのサポート範囲は3.11~3.15だ。従来の3.10環境からアップグレードするには、Pythonも併せて更新する必要がある。AppleシリコンのMPSアクセラレーションにはmacOS 15以上が必要だ。
AMD向けにはROCm 10.0のwheelが追加された。ROCmのwheelはTheRockパッケージを基盤とする形に変わり、ライブラリを直接同梱する代わりに依存関係としてインストールする。
5. 既存の学習構成と保存データの移行を準備する
新しい通信バックエンドは未使用のグループにもGPUメモリを割り当て、各グループを1つのデバイスに結び付けるため、1プロセスで複数のGPUを使う構成には従来の実装が必要であり、この実装と環境変数による切り戻し経路は次のリリースで削除される予定だ。
2.15で保存した分散チェックポイントは2.14以下では読み込めないため、以前のバージョンに戻す計画があるなら、保存データの互換性も考慮する必要がある。
PyTorch 2.15の導入価値は演算ごとの高速化と学習制御の拡充にあり、移行計画には通信構成と保存データも含める必要がある。
