PyTorch 2.5がリリースされ、AI開発における大規模モデルのパフォーマンスを飛躍的に向上させた。特に、H100 GPU向けに導入されたCuDNNバックエンドは、スケーラブルなドットプロダクトアテンション(SDPA)の処理速度を75%も向上させる。加えて、LLMのようなモジュールでの再コンパイルを抑制するRegional Compilationや、TorchInductorのCPPバックエンド強化により、PyTorch 2.5は大規模AIモデルの新たなスタンダードとなるだろう。

PyTorch 2.5の主な改善点と進化

PyTorch 2.5は、AIモデル開発における大規模言語モデル(LLM)の処理をさらに効率化するため、いくつかの重要な改善が行われた。特に注目すべきは、H100 GPUでのスケーラブルドットプロダクトアテンション(SDPA)の性能向上を可能にするCuDNNバックエンドの導入である。このアップデートにより、特定のタスクで最大75%もの速度向上が実現された。

また、torch.compileにおけるRegional Compilationが追加され、nn.Moduleのような頻繁に使用されるモジュールの初期コンパイル時間を大幅に短縮する機能が実装された。これにより、モデル全体を再コンパイルせずに、特定の部分だけを効率的にコンパイルすることができるようになった。特にLLMのトランスフォーマーレイヤーなど、繰り返し使われる部分での効果が大きい。

これらの機能強化に加えて、PyTorch 2.5は、FP16サポートを含むTorchInductorの性能向上、さらにIntel GPU向けの最適化も行われ、PyTorchエコシステム全体が大きく進化した。AIモデルの規模が拡大する中で、これらの改良は開発者にとって重要なツールとなるだろう。

CuDNNバックエンドの導入で75%のスピード向上

PyTorch 2.5において、最も大きな改善の一つが、CuDNNバックエンドの導入である。特にスケーラブルドットプロダクトアテンション(SDPA)の処理が高速化されており、H100 GPUを使用する場合、最大75%のスピード向上が報告されている。この機能は、AIの大規模言語モデル(LLM)のトレーニングにおいて重要な役割を果たす。

従来のPyTorch 2.4では、このような高速化は実現しておらず、主にPython 3.12対応やGPUタスクの最適化に焦点が当てられていた。それに対して、PyTorch 2.5は明確にSDPAに特化したバックエンドを提供し、LLMなどの処理がより効率的に行われるようになっている。

このCuDNNバックエンドの導入は、すべてのSDPAユーザーにとってデフォルトで有効化されており、特にH100やそれ以降の新しいGPUにおいて、LLMワークフローの高速化が顕著に現れる。GPUベースのAIワークロードにおいて、これほど大きなパフォーマンス向上が見られるのは極めて重要な進展であり、AI開発の最前線で活用されるだろう。

Regional CompilationとTorchInductorの性能強化

PyTorch 2.5では、Regional Compilation機能がtorch.compileに追加されている。この機能により、LLMのように繰り返し利用されるモジュールのコンパイル時間が大幅に短縮された。従来は、モデル全体を一度にコンパイルする必要があったが、このRegional Compilationにより、特定のモジュールだけを部分的に再コンパイルすることが可能になり、初期遅延が削減された。

この機能は、特にLLMのトランスフォーマーレイヤーのように頻繁に利用される層に対して大きな効率化をもたらす。また、TorchInductorにおいても、PyTorch 2.5ではCPPバックエンドが強化されており、FP16サポートやmax-autotuneモードなど、パフォーマンスの微調整が可能になっている。これにより、GPUベースのモデルが一層スムーズに動作し、特にCPU経由での処理が高速化された。

さらに、TorchInductorの性能は、PyTorchが提供する複数のベンチマークテストで明確に証明されており、約97.5%のモデルで従来のEagerモードよりも優れたパフォーマンスを発揮している。これらの改良により、PyTorch 2.5は、従来のバージョンを超えてAI開発における強力なツールとなっている。

Intel GPU対応と新たなエコシステムの拡大

PyTorch 2.5では、Intel GPU向けのサポートが強化され、これによりAIモデルの開発におけるハードウェアの選択肢が広がった。特に、IntelのArcシリーズGPUやCore Ultra iGPUが正式にサポートされるようになり、LinuxおよびWindows環境での動作が最適化された。これにより、Intel GPUを利用したAIワークロードのパフォーマンスが向上し、開発者は多様なハードウェア環境でPyTorchを活用できるようになった。

また、PyTorch 2.5では、TorchRecやTorchFixといった新しいエコシステムプロジェクトが追加され、AIアプリケーションの汎用性がさらに拡大した。これにより、分散トレーニング環境での作業効率が向上し、特にLLMや大規模モデルを扱う際のパフォーマンスが大幅に改善されている。

さらに、ベータ機能として、FlexAttention APIが導入され、さまざまなアテンションメカニズムを効率的に処理できるようになった。これらの新機能により、PyTorch 2.5は、AI開発におけるGPU依存のタスクや、LLMの高速化をさらに推進する役割を果たしている。Intel GPUのサポート拡大と新たなエコシステムの導入は、今後のAI技術発展において重要な要素となるだろう。