Repolode
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. 1

    リポジトリをクローンする

    git clone https://github.com/NVIDIA/apex
  2. 2

    プロジェクトディレクトリに移動する

    cd apex
  3. 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 の数値は毎日更新されます。

関連プロジェクト