PyTorch 2.15、Apple Silicon向けにFP8対応とLLMデコード高速化を提供
PyTorch 2.15は、FP8サポート、MoEモデル向けのネイティブMetalカーネル、そしてmacOS 15での動画生成における大幅なメモリ削減を導入しました。
英語の原文から自動翻訳されました。
Hugging FaceのPyTorchチームはバージョン2.15をリリースし、Apple Siliconで機械学習エンジニアリングに取り組むユーザーにとって重要なアップグレードを実現しました。今回のアップデートでは、ネイティブFP8サポートの導入、混合専門家(Mixture-of-Experts: MoE)モデルのデコード速度最大6.5倍への加速、そして動画生成タスクにおけるメモリ使用量の劇的な削減が行われています。このリリースはmacOS 15およびPython 3.11以降を対象としており、Macを複雑なAIモデルのトレーニングや実行において第一級の環境へと進化させることを目指しています。
何が起きたか
2026年初頭の大部分において、Mac上のMPSバックエンドを使用する開発者は、性能の急激な低下、未対応の演算、そして予測不可能なメモリ増加といった課題に直面していました。Hugging FaceのPyTorchチームは、重要な演算処理のために従来のMPSGraph実行パスを専用のMetalカーネルに置き換えることで、これらの問題に対処しました。この変更によりGPUリソースに対するより直接的な制御が可能となり、従来ローカルでのモデル開発を妨げていた多くのボトルネックが解消されました。
最も注目すべき追加機能はfloat8_e4m3fnテンソルのサポートです。これにより、開発者はBF16の半分の容量で値を保存しつつ、GPU上でスケーリング行列積を実行できるようになります。この機能により、Macの能力はCUDAおよびCPUバックエンドで既に利用可能になっていたものと同等のものとなります。さらに、線形代数、音声処理、動画デコーディングに対する広範な最適化が含まれており、より多くのモデルが遅い実行パスへフォールバックすることなく効率的に動作することが保証されています。
大規模言語モデル(LLM)における性能向上は特に顕著です。MoEアーキテクチャは、データをGPU上に保持することで同期オーバーヘッドを削減するネイティブグループ化行列積実装の恩恵を受けるようになりました。密なモデル(Dense models)においても、最適化された単一行線形層や大幅に高速化したsoftmax演算を通じて性能向上が見られます。これらの変更は総合的に、Macを主に推論用に使用されていたデバイスから、より要求の高いトレーニングや生成ワークロードのための実行可能なツールへと変貌させます。
仕組み
PyTorch 2.15における核心的な技術的変化は、演算処理をMPSGraphからカスタムMetalカーネルへ移行したことです。MPSGraphは柔軟性があるものの、グラフコンパイルやCPU-GPU間の同期によるオーバーヘッドが発生しがちでした。グループ化行列積、定数パディング、softmaxなどの特定のタスクに対して専用カーネルを作成することで、データはGPU上に留まり、最小限のレイテンシで実行されます。例えば、新しいグループ化行列積カーネルはグループオフセットを直接GPU上で読み取り、以前のバージョンで使用されていたコストのかかるグループごとのループ処理を回避します。
メモリ効率については、パディング操作がドライバメモリをどのように扱うかを再構築することで改善されました。以前のバージョンでは、タイル状の動画VAEデコードが数千回のパディング呼び出しを引き起こし、ドライバメモリが膨張していました。新しいMetalベースの定数パディング実装はこれらの割り当てをより効果的に管理し、予約済みメモリの指数関数的な増加を防ぎます。このメカニズムにより、複雑な動画生成パイプラインは過度なシステムリソースを必要とせず、標準的なメモリ制限内で実行できるようになります。
主要な詳細
- FP8サポート:
torch.float8_e4m3fnテンソルのネイティブサポートにより、MPS上での半精度ストレージとスケーリング行列積が可能になりました。 - MoE高速化: MoEモデルのデコード速度が5〜6.5倍に向上し、Qwen3.6-35B-A3BモデルはM3 Ultraチップで毎秒61.3トークンを記録しました。
- メモリ削減: Wan2.2動画VAEデコード時のピークドライバメモリ使用量が270 GiBから約8 GiBまで減少しました。
- 線形代数: 複素LU分解、三角方程式求解、小行列逆行列計算の高速化がMPSでサポートされるようになりました。
- Softmax最適化: 大規模語彙に対するsoftmax演算は約8倍高速化され、典型的なサイズでは57 µsから7 µsに短縮されました。
- システム要件: このアップデートにはmacOS 15以降およびPython 3.11以降が必要です。
なぜ重要なのか
Macハードウェア上でAI製品を開発するソフトウェアエンジニアにとって、このリリースはいくつかの大きな摩擦点を解消します。FP8重みを使用できることにより、限られたVRAMにより大きなモデルを収めたり、推論中のメモリ帯域幅圧力を軽減したりすることが可能になります。これは、これまで消費者向けApple Siliconマシンではリソース不足で実行困難だった最先端アーキテクチャのローカル開発およびテストにおいて極めて重要です。
動画生成ワークフローにおけるメモリ使用量の劇的な削減は、クリエイティブなアプリケーションにも新たな可能性をもたらします。以前はComfyUIやDiffusersなどのツール使用時にメモリ不足エラーやシステムの不安定性に遭遇していた開発者も、現在ではこれらのパイプラインを安定して実行できます。Qwen-Image-2.1における画像編集時の破損問題への修正も、視覚的な忠実性が維持されることを保証し、Macをプロダクショングレードの画像・動画タスクにより信頼できるプラットフォームへと高めています。
実施できること
- 新しいMPS機能との互換性を確保するため、開発環境をmacOS 15およびPython 3.11へアップグレードしてください。
torch.float8_e4m3fnとF.scaled_mmを使用してモデル内のFP8量子化をテストし、メモリフットプリントを削減してください。- ネイティブグループ化行列積によって提供されるデコード速度の向上を測定するために、MoEモデルのベンチマークを実施してください。
- 動画生成パイプラインを更新して新しい定数パディングカーネルを活用し、ドライバメモリ使用量を監視してください。
- 並行GPU演算に対するより細かな制御を得るために、
torch.mps.Stream経由で公開されているMPSストリームを試験的に使用してください。 - 残存する性能問題や未対応の演算があれば、今後のアップデート指針とするため、PyTorch GitHubリポジトリへ報告してください。



