すべてのプロダクト
Search
ドキュメントセンター

Container Compute Service:training-nv-pytorch 26.02

最終更新日:Mar 01, 2026

このトピックでは、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

コアコンポーネント

  • Ubuntu: 24.04

  • Python: 3.12.7+gc

  • CUDA: 13.0

  • perf: 5.4.30

  • gdb: 15.0.50.20240403-git

  • torch: 2.9.0+ali.10.nv25.10

  • triton: 3.5.0

  • transformer_engine: 2.11.0+c188b533

  • DeepSpeed: 0.18.5+ali

  • flash_attn: 2.8.3

  • transformers: 4.57.6+ali

  • grouped_gemm: 1.1.4

  • accelerate: 1.11.0+ali

  • diffusers: 0.34.0

  • mmengine: 0.10.3

  • mmcv: 2.1.0

  • mmdet: 3.3.0

  • opencv-python-headless: 4.11.0.86

  • ultralytics: 8.3.96

  • timm: 1.0.24

  • vLLM: 0.15.0+cu130

  • flashinfer-python: 0.6.1

  • pytorch-dynamic-profiler: 0.24.11

  • peft: 0.16.0

  • ray: 2.53.0

  • megatron-core: 0.15.0

  • Ubuntu: 24.04

  • Python: 3.12.7+gc

  • CUDA: 12.8

  • perf: 5.4.30

  • gdb: 15.0.50.20240403-git

  • torch: 2.9.0+ali.10.nv25.3

  • triton: 3.5.0

  • transformer_engine: 2.10.0+769ed778

  • DeepSpeed: 0.18.5+ali

  • flash_attn: 2.8.3

  • flash_attn_3: 3.0.0b1

  • transformers: 4.57.6+ali

  • grouped_gemm: 1.1.4

  • accelerate: 1.11.0+ali

  • diffusers: 0.34.0

  • mmengine: 0.10.3

  • mmcv: 2.1.0

  • mmdet: 3.3.0

  • opencv-python-headless: 4.11.0.86

  • ultralytics: 8.3.96

  • timm: 1.0.24

  • vLLM: 0.15.0+cu128

  • flashinfer-python: 0.6.1

  • pytorch-dynamic-profiler: 0.24.11

  • peft: 0.16.0

  • ray: 2.53.0

  • megatron-core: 0.15.0

アセット

パブリックネットワークイメージ

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 を使用して、包括的なエンドツーエンドパフォーマンス比較を実行しました。主要なオープンソースモデルとフレームワーク構成を標準ベースイメージと比較してテストしました。また、各最適化が全体的なトレーニングパフォーマンスにどのように貢献するかを評価するために、アブレーション実験も実行しました。

ベースイメージとのイメージ比較と反復評価

image.png

エンドツーエンドパフォーマンスに対する GPU コアコンポーネントの貢献

次のテストでは、26.02 イメージを使用し、マルチノード GPU クラスターでエンドツーエンドのトレーニングパフォーマンス評価と比較を実行します。比較項目は次のとおりです。

  1. ベース: NGC PyTorch イメージ

  2. ACS AI イメージ: ベース + ACCL: イメージは ACCL 通信ライブラリを使用します。

  3. ACS AI イメージ: AC2 + ACCL: ゴールデンイメージは、最適化なしで AC2 BaseOS を使用します。

  4. ACS AI イメージ: AC2 + ACCL + CompilerOpt: ゴールデンイメージは、`torch.compile` のみが有効な AC2 BaseOS を使用します。

  5. ACS AI イメージ: AC2 + ACCL + CompilerOpt + CkptOpt: ゴールデンイメージは、`torch.compile` と選択的勾配チェックポイントの両方が有効な AC2 BaseOS を使用します。

image.png

クイックスタート

次の例は、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 を使用します。

    image.png

  • 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 に設定します。

既知の問題

なし。