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

Container Compute Service:training-nv-pytorch 25.03 リリースノート

最終更新日:Apr 29, 2025

このトピックでは、training-nv-pytorch 25.03 のリリースノートについて説明します。

主な機能とバグ修正

主な機能

  • ベースイメージが NGC 25.02 に更新されました。

  • PyTorch と関連コンポーネントが 2.6.0.7 に、TE が 2.1 に、accelerate が 1.5.2 に更新され、新機能とバグ修正が提供されます。

  • ACCL-N が 2.23.4.12 に更新され、新機能とバグ修正が提供されます。

  • vLLM が 0.8.2.dev0 に、ray が 2.44 に更新されました。 flash-infer 0.2.3 がサポートされています。 Transformers が 4.49.0+ali に、flash_attn が 2.7.2 に更新され、新機能とバグ修正が提供されます。

修正されたバグ

vLLM のバージョンを 0.8.2.dev0 にアップグレードし、H20 での MoE の不正なメモリアクセス #13693 の問題を修正しました。

コンテンツ

適用可能なシナリオ

トレーニング/推論

フレームワーク

PyTorch

要件

NVIDIA ドライバー リリース >= 570

コアコンポーネント

  • Ubuntu 24.04

  • Python 3.12.7+gc

  • Torch 2.6.0.7

  • CUDA 12.8.0

  • ACCL-N 2.23.4.12

  • triton 3.1.0

  • TransformerEngine 2.1

  • deepspeed 0.15.4+ali

  • flash-attn 2.7.2

  • flashattn-hopper 3.0.0b1

  • transformers 4.49.0+ali

  • megatron-core 0.9.0

  • grouped_gemm 1.1.4

  • accelerate 1.5.2

  • diffusers 0.31.0

  • openmim 0.3.9

  • mmengine 0.10.3

  • mmcv 2.1.0

  • mmdet 3.3.0

  • opencv-python-headless 4.10.0.84

  • ultralytics 8.2.74

  • timm 1.0.13

  • mmdet 3.3.0

  • vllm 0.8.2.dev0+g61c7a1b8.d20250325.cu128

  • flashinfer 0.2.3

  • pytorch-dynamic-profiler 0.24.11

  • perf 5.4.30

  • gdb 15.0.50

  • peft 0.13.2

  • ray 2.44.0

アセット

25.03 パブリックイメージ

egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/training-nv-pytorch:25.03-serverless

VPC イメージ

  • acs-registry-vpc.{region-id}.cr.aliyuncs.com/egslingjun/{image:tag}

    {region-id} は、ACS がアクティブ化されているリージョン (cn-beijing など) を示します。
    {image:tag} は、イメージの名前とタグを示します。
重要

現在、VPC 経由でプルできるイメージは、中国 (北京) リージョンのイメージのみです。

説明
  • egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/training-nv-pytorch:25.03-serverless イメージは、ACS プロダクトと 凌雲 マルチテナントプロダクトに適していますが、凌雲 シングルテナントプロダクトには適していません。

  • egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/training-nv-pytorch:25.03 イメージは、凌雲 シングルテナントシナリオに適しています。

ドライバー要件

  • 25.03 リリースは NGC pytorch 25.02 イメージの更新と一致しています。これは、NGC が毎月月末にイメージをリリースする一方で、Golden イメージの更新は前月のバージョンに基づいている必要があるためです。そのため、Golden-gpu ドライバーは対応する NGC イメージバージョンの要件を満たしています。このリリースは CUDA 12.8.0.38 に基づいており、NVIDIA ドライバーバージョン 570 以降が必要です。ただし、ワークロードがデータセンター GPU (T4 やその他のデータセンター GPU など) で実行されている場合は、NVIDIA ドライバーバージョン 470.57 (または R470 の以降のバージョン)、525.85 (または R525 の以降のバージョン)、535.86 (または R535 の以降のバージョン)、または 545.23 (または R545 の以降のバージョン) を使用できます。

  • CUDA ドライバー互換性パッケージは特定のドライバーのみをサポートしています。そのため、R418、R440、R450、R460、R510、R520、R530、R545、および R555 バージョンから更新する必要があります。これらのドライバーは CUDA 12.8 との前方互換性がありません。サポートされているドライバーの詳細については、「CUDA アプリケーションの互換性」をご参照ください。詳細については、「CUDA の互換性と更新」をご参照ください。

主な機能と拡張機能

PyTorch コンパイル最適化

単一の GPU を小規模なコンピューティングに使用する場合、PyTorch 2.0 のコンパイル最適化機能を利用できます。ただし、LLM トレーニングでは、メモリ最適化、FSDP/DeepSpeed、およびその他の分散フレームワークが必要です。その結果、torch.compile() はこの機能を簡単に利用できず、場合によってはマイナスの効果をもたらす可能性があります。

  • DeepSpeed フレームワークの通信粒度を制御して、コンパイラが完全な計算グラフを取得し、より広い範囲でコンパイル最適化を実行できるようにします。

  • 最適化された PyTorch:

    • PyTorch コンパイラのフロントエンドを最適化して、計算グラフでグラフの中断が発生した場合でもコンパイルを確実に実行します。

    • モードマッチと動的形状機能を強化して、コンパイル済みコードのパフォーマンスを向上させます。

これらの最適化により、8B LLM トレーニングシナリオで E2E スループットを 20% 向上させることができます。

再計算のための GPU メモリ最適化

さまざまなクラスタにデプロイされたモデル、またはさまざまなパラメータで構成されたモデルでパフォーマンステストを実行し、GPU メモリ使用率などのシステムメトリックを収集することにより、モデルの GPU メモリ消費量を予測および分析します。結果に基づいて、最適なアクティベーション再計算レイヤー数を提案し、PyTorch に統合します。これにより、ユーザーは GPU メモリの最適化を簡単に利用できます。現在、この機能は DeepSpeed フレームワークで使用できます。

Accl 通信ライブラリ

ACCL は、Alibaba Cloud が 凌雲 向けに提供する社内 HPN 通信ライブラリです。 GPU アクセラレーションシナリオ向けに ACCL-N を提供します。 ACCL-N は、NCCL に基づいてカスタマイズされた HPN ライブラリです。 NCCL と完全に互換性があり、NCCL のいくつかのバグを修正しています。 ACCL-N は、より高いパフォーマンスと安定性も提供します。

E2E パフォーマンスメリット評価

クラウドネイティブ AI パフォーマンス評価および分析ツール CNP を使用すると、主流のオープンソースモデルとフレームワークを標準ベースイメージと共に使用して、E2E パフォーマンスを分析できます。さらに、アブレーションスタディを使用して、各最適化コンポーネントがモデルトレーニング全体にどのように役立つかをさらに評価できます。

GPU コアコンポーネント E2E パフォーマンスメリット分析

次の E2E パフォーマンス評価は、バージョン 25.03 と、複数の GPU アクセラレーションノードを含むクラスターに基づいています。比較項目は次のとおりです。

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

  2. ACS AI イメージ: ベース+ACCL: イメージで使用される ACCL。

  3. ACS AI イメージ: AC2+ACCL: Golden イメージは AC2 BaseOS を使用し、最適化は行いません。

  4. ACS AI イメージ: AC2+ACCL+CompilerOpt: Golden イメージは AC2 BaseOS を使用し、PyTorch コンパイル最適化のみが有効になっています。

  5. ACS AI イメージ: AC2+ACCL+CompilerOpt+CkptOpt: Golden イメージは AC2 BaseOS を使用し、torch コンパイルと選択的勾配チェックポイント最適化の両方が有効になっています。

image.png

クイックスタート

次の例は、Docker を使用して training-nv-pytorch イメージをプルする方法を示しています。

説明

ACS で training-nv-pytorch イメージを使用するには、ワークロードを作成するコンソールのアーティファクトセンターページからプルするか、YAML ファイルでイメージを指定する必要があります。

1. イメージを選択する

docker pull egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/training-nv-pytorch:[tag]

2. API を呼び出して、コンパイル最適化と再計算のための 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 --action train --model_name deepspeed/llama3-8b 

4. 使用上の注意

  • イメージの変更には、PyTorch ライブラリと DeepSpeed ライブラリが含まれます。再インストールしないでください。

  • DeepSpeed 構成の zero_optimization.stage3_prefetch_bucket_size は空のままにするか、auto に設定します。

既知の問題

なし