このトピックでは、training-nv-pytorch バージョン 26.02 のリリースノートについて説明します。
主要機能とバグ修正
主要機能
DeepSpeed をバージョン 0.18.5 に、transformers をバージョン 4.57.6 にスペックアップします。
vLLM をバージョン 0.15.0 に、flashinfer-python をバージョン 0.6.1 にスペックアップします。
バグ修正
なし。
コンテンツ
イメージ名 | training-nv-pytorch | |
タグ | 26.02-cu130-serverless | 26.02-cu128-serverless |
シナリオ | トレーニングと推論 | |
フレームワーク | PyTorch | |
要件 | NVIDIA ドライバーリリース >= 580 | NVIDIA ドライバーリリース >= 575 |
サポートされているアーキテクチャ | amd64 および aarch64 | amd64 |
コアコンポーネント |
|
|
アセット
パブリックネットワークイメージ
CUDA 13.0.2 (NVIDIA ドライバー >= 580、amd64 および aarch64)
egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/training-nv-pytorch:26.02-cu130-serverless
CUDA 12.8 (NVIDIA ドライバー >= 575、amd64)
egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/training-nv-pytorch:26.02-cu128-serverless
VPC イメージ
このイメージは、ACS プロダクトフォームおよび Lingjun マルチテナントプロダクトフォームをサポートしています。Lingjun シングルテナントプロダクトフォームはサポートしていません。Lingjun シングルテナントシナリオでは、このイメージを使用しないでください。
ドライバー要件
26.02 リリースは、異なる NVIDIA ドライバーバージョンで CUDA 12.8.0 と CUDA 13.0.2 をサポートしています。CUDA 13.0.2 には NVIDIA ドライバーバージョン 580 以降が必要です。CUDA 12.8.0 には NVIDIA ドライバーバージョン 575 以降が必要です。サポートされているドライバーの完全なリストについては、「CUDA アプリケーション互換性」をご参照ください。詳細については、「CUDA 互換性とアップグレード」をご参照ください。
主要機能と機能強化
PyTorch コンパイル最適化
PyTorch 2.0 で導入されたコンパイル最適化機能は、1つの GPU での小規模トレーニングに適しています。しかし、LLM トレーニングには GPU メモリ最適化と、FSDP や DeepSpeed などの分散フレームワークが必要です。その結果、torch.compile() はトレーニングにメリットをもたらさないか、負のメリットをもたらす可能性があります。
DeepSpeed フレームワークにおける通信粒度を制御することで、コンパイラはより広い範囲のコンパイル最適化のために完全な計算グラフを取得できます。
最適化された PyTorch:
PyTorch コンパイラのフロントエンドは、計算グラフでグラフブレークが発生した場合にコンパイルを保証するように最適化されています。
モードマッチングと動的シェイプ機能が強化され、コンパイル済みコードを最適化します。
上記の最適化後、8B LLM のトレーニング時に E2E スループットが 20% 増加しました。
再計算のための GPU メモリ最適化
当社は、異なるクラスターにデプロイされたモデル、または異なるパラメーターで構成されたモデルに対してパフォーマンステストを実行し、GPU メモリ使用率などのシステムメトリックを収集することで、モデルの GPU メモリ消費を予測および分析します。結果に基づいて、アクティベーション再計算レイヤーの最適な数を提案し、PyTorch に統合します。これにより、ユーザーは GPU メモリ最適化のメリットを簡単に享受できます。現在、この機能は DeepSpeed フレームワークで使用できます。
エンドツーエンドパフォーマンス評価
当社は、クラウドネイティブ AI パフォーマンス評価ツールである CNP を使用して、包括的なエンドツーエンドパフォーマンス比較を実行しました。主要なオープンソースモデルとフレームワーク構成を標準ベースイメージと比較してテストしました。また、各最適化が全体的なトレーニングパフォーマンスにどのように貢献するかを評価するために、アブレーション実験も実行しました。
ベースイメージとのイメージ比較と反復評価

エンドツーエンドパフォーマンスに対する GPU コアコンポーネントの貢献
次のテストでは、26.02 イメージを使用し、マルチノード GPU クラスターでエンドツーエンドのトレーニングパフォーマンス評価と比較を実行します。比較項目は次のとおりです。
ベース: NGC PyTorch イメージ
ACS AI イメージ: ベース + ACCL: イメージは ACCL 通信ライブラリを使用します。
ACS AI イメージ: AC2 + ACCL: ゴールデンイメージは、最適化なしで AC2 BaseOS を使用します。
ACS AI イメージ: AC2 + ACCL + CompilerOpt: ゴールデンイメージは、`torch.compile` のみが有効な AC2 BaseOS を使用します。
ACS AI イメージ: AC2 + ACCL + CompilerOpt + CkptOpt: ゴールデンイメージは、`torch.compile` と選択的勾配チェックポイントの両方が有効な AC2 BaseOS を使用します。

クイックスタート
次の例は、Docker を使用して training-nv-pytorch イメージをプルする方法を示しています。
ACS で training-nv-pytorch イメージを使用するには、コンソールのワークロード作成インターフェイスにある Artifacts ページから選択します。または、YAML ファイルでイメージリファレンスを指定します。
1. イメージの選択
docker pull egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/training-nv-pytorch:[tag]2. コンパイラ最適化と GPU メモリ最適化のためのアクティベーション再計算を有効にする
コンパイラ最適化を有効にする
transformers Trainer API を使用します。

GPU メモリ最適化のためのアクティベーション再計算を有効にする
export CHECKPOINT_OPTIMIZATION=true
3. コンテナーの起動
このイメージには、モデルトレーニングツール ljperf が含まれています。次のステップでは、コンテナーを起動してトレーニングジョブを実行する方法を示します。
大規模言語モデル (LLM)
# コンテナーを起動し、そのシェルに入ります。
docker run --rm -it --ipc=host --net=host --privileged egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/training-nv-pytorch:[tag]
# トレーニングデモを実行します。
ljperf benchmark --model deepspeed/llama3-8b 4. 使用に関する推奨事項
このイメージに含まれる PyTorch や DeepSpeed などのライブラリを再インストールしないでください。
DeepSpeed 構成では、
zero_optimization.stage3_prefetch_bucket_sizeを空のままにするか、autoに設定します。イメージは環境変数
NCCL_SOCKET_IFNAMEを設定します。シナリオに基づいてその値を調整してください。単一の Pod がトレーニングまたは推論のために 1、2、4、または 8 個の GPU をリクエストする場合、
NCCL_SOCKET_IFNAME=eth0に設定します。これはイメージのデフォルト設定です。単一の Pod がノード上のすべての 16 個の GPU をリクエストし、高性能ネットワーキングに HPN を使用する場合、
NCCL_SOCKET_IFNAME=hpn0に設定します。
既知の問題
なし。