NCCLは、単一ノードおよびマルチノードの学習向けに、all-reduceやall-gatherなどの最適化されたGPU通信プリミティブを提供するNVIDIAのライブラリです。
NVIDIA/apex
NVIDIAが提供するPyTorch拡張。混合精度・分散学習用ユーティリティを備え、CUDAおよびC++の融合カーネルも利用できます。
- スター
- 9,001
- フォーク
- 1,532
- 未解決の Issue
- 777
- 最終コミット
- 5 日前
これは何?
Apexは、PyTorchを混合精度学習や分散学習向けに拡張する、NVIDIAが保守するユーティリティ群です。学習用の最新ユーティリティを、PyTorch本体に取り込まれる前から利用できるようにすることを目的としています。
パッケージには、Adam、レイヤー正規化、softmaxなどの一般的な処理向けの融合カーネルが含まれています。また、疎性、transducer loss、ボトルネックブロック、分散オプティマイザーなどの領域を扱う実験的なモジュールを、contrib名前空間で提供しています。これらのコンポーネントの多くは、インストール時に環境変数で有効化するオプションのC++/CUDA拡張として構築されます。
Pythonのみでのビルドにも対応していますが、融合カーネルは含まれず、DistributedDataParallel、amp、SyncBatchNormの実行速度も低下します。NVIDIAのNGC向けPyTorchコンテナには、すべての拡張機能があらかじめインストールされています。
主な機能
- 01PyTorch向けの混合精度学習ユーティリティ(apex.amp)。
- 02DistributedDataParallelやSyncBatchNormなど、分散学習を支援する機能。
- 03CUDA拡張として構築された融合オプティマイザーとレイヤー正規化カーネル。
- 04インストール時に個別に有効化できるモジュール式のcontribパッケージ。
- 05CUDAツールチェーンのない環境向けのPythonのみのインストール विकल्प。
ユースケース
- 混合精度を使い、NVIDIA GPUで大規模モデルの学習を高速化する。
- 融合された分散処理ユーティリティを使って、複数GPUまたは複数ノードでPyTorchの学習を実行する。
- 独自の学習コードで融合オプティマイザーや正規化レイヤーを試す。
クイックスタート
- 1
リポジトリをクローンする
git clone https://github.com/NVIDIA/apex - 2
プロジェクトディレクトリに移動する
cd apex - 3
コアのC++およびCUDA拡張機能をビルドしてインストールする
APEX_CPP_EXT=1 APEX_CUDA_EXT=1 pip install -v --no-build-isolation .
使う前に知っておきたいこと
- CUDAおよびC++拡張機能のビルドには、互換性のあるPyTorchとCUDAの環境が必要です。
- 一部のapex.contribモジュールは、安定版ではなくPyTorchのnightlyビルドでのみ動作します。
- Windowsへのインストールは実験的な段階です。
収録されている特集
トピック
よくある質問
- apex とは?
- NVIDIAが提供するPyTorch拡張。混合精度・分散学習用ユーティリティを備え、CUDAおよびC++の融合カーネルも利用できます。 Apexは、PyTorchを混合精度学習や分散学習向けに拡張する、NVIDIAが保守するユーティリティ群です。学習用の最新ユーティリティを、PyTorch本体に取り込まれる前から利用できるようにすることを目的としています。
- apex は無料で使えますか?ライセンスは?
- apex は BSD-3-Clause ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- apex は今もメンテナンスされていますか?
- 活発にメンテナンス中。apex の最終コミットは 2026年11月2日 です。
- apex は何に使えますか?
- 混合精度を使い、NVIDIA GPUで大規模モデルの学習を高速化する。 融合された分散処理ユーティリティを使って、複数GPUまたは複数ノードでPyTorchの学習を実行する。 独自の学習コードで融合オプティマイザーや正規化レイヤーを試す。
- apex のインストール方法は?
- リポジトリをクローンする: git clone https://github.com/NVIDIA/apex プロジェクトディレクトリに移動する: cd apex コアのC++およびCUDA拡張機能をビルドしてインストールする: APEX_CPP_EXT=1 APEX_CUDA_EXT=1 pip install -v --no-build-isolation .
- apex はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/NVIDIA/apex
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
多次元並列処理で大規模Transformerモデルを学習するための、GPU向け最適化ライブラリと学習用リファレンススクリプト。
大規模モデルの分散学習と推論を、より簡単かつ効率的にする深層学習最適化ライブラリ。
大規模AIモデル向けのPyTorchベースの分散学習・推論システムで、並列化、メモリ最適化、異種ハードウェアでの学習を実現します。
モデルコードの完全な制御を保ちながら、学習ループやマルチGPU対応、定型的なエンジニアリング作業を自動化するPyTorchベースの深層学習フレームワーク。
Microsoftが開発したPyTorch向けの最適化Mixture-of-Expertsライブラリ。MoEモデルの学習・サービングに加え、DeepSeek、Qwen、GLMなどのモデルを低精度で推論できます。