このトピックでは、training-nv-pytorch バージョン 25.11 のリリースノートについて説明します。
主な特徴とバグ修正
主な特徴
amd64 や aarch64 を含む複数のアーキテクチャ、および CUDA バージョン 13.0.2 と 12.8 をサポートします。
PyTorch などのコアコンポーネントは、コミュニティの更新に合わせてバージョン 2.9 にアップグレードされています。
コアトレーニングコンポーネントがアップグレードされました。Transformers は 4.57.1 に、DeepSpeed は 0.18.1 に、TransformerEngine は 2.8 にアップグレードされています。Qwen3-VL のサポートが追加されました。
コア推論コンポーネント VLLM は 0.11.2 にアップグレードされています。
バグ修正
なし
内容
適用シナリオ | トレーニング/推論 | |
フレームワーク | PyTorch | |
要件 | NVIDIA ドライバーリリース >= 580 | NVIDIA ドライバーリリース >= 575 |
アーキテクチャ | amd64 & aarch64 | amd64 |
コアコンポーネント |
|
|
アセット
パブリックネットワークイメージ
CUDA 13.0.2 (ドライバー >=580、amd64 & aarch64)
egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/training-nv-pytorch:25.11-cu130-serverless
CUDA 12.8 (ドライバー >= 575、amd64)
egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/training-nv-pytorch:25.11-cu128-serverless
VPC イメージ
VPC 内から ACS AI コンテナイメージをプルするのを高速化するには、アセット URI egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/{image:tag} を acs-registry-vpc.{region-id}.cr.aliyuncs.com/egslingjun/{image:tag} に置き換えます。
{region-id}:ご利用の ACS プロダクトが配置されている利用可能なリージョンのリージョン ID です。例:cn-beijing、cn-wulanchabu。{image:tag}:AI コンテナイメージの名前とタグです。例:inference-nv-pytorch:25.10-vllm0.11.0-pytorch2.8-cu128-20251028-serverless、training-nv-pytorch:25.10-serverless。
このイメージは ACS および Lingjun のマルチテナントプロダクトに適しています。Lingjun のシングルテナントプロダクトやシングルテナントシナリオでは、このイメージを使用しないでください。
ドライバー要件
25.11 リリースは 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 フレームワークで使用できます。
E2E パフォーマンス効果の評価
クラウドネイティブ AI パフォーマンス評価・分析ツールである CNP を使用して、包括的なエンドツーエンド (E2E) パフォーマンス比較を実施しました。主流のオープンソースモデルとフレームワーク構成を使用し、標準のベースイメージと比較しました。また、各最適化コンポーネントがモデル全体のトレーニングパフォーマンスにどの程度貢献しているかを評価するために、アブレーション実験も実施しました。
イメージ比較:ベースイメージと反復評価

コア GPU コンポーネントの E2E パフォーマンス貢献度分析
以下のテストは Golden-25.11 に基づいています。マルチノード GPU クラスターで E2E トレーニングパフォーマンスの評価と比較分析を実施しました。以下の項目を比較しました:
Base:NGC PyTorch イメージ。
ACS AI イメージ:Base+ACCL:ACCL 通信ライブラリを使用するイメージ。
ACS AI イメージ:AC2+ACCL:最適化を有効にしていない AC2 BaseOS を使用する Golden イメージ。
ACS AI イメージ:AC2+ACCL+CompilerOpt:torch コンパイル最適化のみを有効にした AC2 BaseOS を使用する Golden イメージ。
ACS AI イメージ:AC2+ACCL+CompilerOpt+CkptOpt:torch コンパイル最適化と選択的勾配チェックポイント最適化の両方を有効にした AC2 BaseOS を使用する Golden イメージ。

クイックスタート
以下の例では、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. API を呼び出してコンパイラと再計算による 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 枚のカードをリクエストする場合、
NCCL_SOCKET_IFNAME=eth0を設定します。これはこのイメージのデフォルト構成です。単一の Pod がマシン上の全 16 枚のカードをトレーニングまたは推論タスクのためにリクエストする場合、高性能ネットワーク (HPN) を使用できます。この場合、
NCCL_SOCKET_IFNAME=hpn0を設定します。
既知の問題
CUDA 13.0.2 イメージで fa3 を直接コンパイルするとエラーが発生します。これはコミュニティの既知の問題です。