training-nv-pytorch 25.05

Updated at:

Release notes for the training-nv-pytorch 25.05 image, including what's new, component versions, image tags, driver requirements, key features, and quick start instructions.

What's new

Features

  • The base image CUDA is upgraded to 12.9.0.

Bug fixes

  • PyTorch is upgraded to 2.6.0.7.post1, which fixes the profile crash issue in the open-source community.

Image contents

Scenario

Training/Inference

Framework

PyTorch

Requirements

NVIDIA driver release >= 575

Core components:

Component

Version

Ubuntu

24.04

Python

3.12.7+gc

Torch

2.6.0.7.post1

CUDA

12.9.0

ACCL-N

2.26.5.12

triton

3.2.0

TransformerEngine

2.1

deepspeed

0.15.4+ali

flash-attn

2.7.2

flashattn-hopper

3.0.0b1

transformers

4.51.2+ali

megatron-core

0.9.0

grouped_gemm

1.1.4

accelerate

1.6.0+ali

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

vLLM

0.8.5+cu128

flashinfer

0.2.5

pytorch-dynamic-profiler

0.24.11

perf

5.4.30

gdb

15.0.50

peft

0.13.2

ray

2.46.0

Image tags

25.05

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

VPC image

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

Replace the placeholders with actual values:

Placeholder

Description

Example

{region-id}

The region where your Alibaba Cloud Container Compute Service (ACS) is activated

cn-beijing, cn-wulanchabu

{image:tag}

The image name and tag

training-nv-pytorch:25.05

Note
  • training-nv-pytorch:25.05-serverless is for ACS services and Lingjun multi-tenant services. Do not use it in Lingjun single-tenant scenarios.

  • training-nv-pytorch:25.05 (without -serverless) is for Lingjun single-tenant scenarios.

Driver requirements

Release 25.05 is based on CUDA 12.9.0 and requires NVIDIA driver version 575 or higher.

Data center GPU exception: For data center GPUs such as T4, you can use driver versions 470.57 (R470+), 525.85 (R525+), 535.86 (R535+), or 545.23 (R545+).

Drivers that require upgrading: R418, R440, R450, R460, R510, R520, R530, R545, R555, and R560 are not forward compatible with CUDA 12.8 and must be upgraded.

For complete driver compatibility information, see:

Note

Release 25.05 aligns with the NGC PyTorch 25.04 image version. NGC releases images at the end of each month, so Golden image development is based on the previous month's NGC version.

Key features

PyTorch compilation optimization

torch.compile(), introduced in PyTorch 2.0, often delivers strong gains for small-scale, single-GPU workloads. But LLM training depends on GPU memory optimization and distributed frameworks such as FSDP or DeepSpeed, so torch.compile() may offer limited benefits or even degrade performance.

  • Control communication granularity in the DeepSpeed framework. This helps the compiler capture a more complete compute graph and apply broader compilation optimizations.

  • Use an optimized PyTorch build:

    • The PyTorch compiler frontend is improved to ensure that compilation succeeds even if a graph break occurs in the compute graph.

    • Pattern matching and dynamic shape support are strengthened to improve post-compilation performance.

With these optimizations, 8B-parameter LLM training typically achieves an end-to-end throughput gain of about 20%.

GPU memory optimization for recomputation

A predictive model for GPU memory overhead, built on large-scale performance data—including different models, clusters, and training parameter settings, as well as system metrics such as GPU memory utilization collected during benchmarking—recommends the optimal number of activation recomputation layers. This approach is integrated into PyTorch, allowing you to achieve the performance gains of GPU memory optimization with minimal effort. This feature is now supported in the DeepSpeed framework.

ACCL

ACCL is Alibaba Cloud’s high-performance communication library built for Lingjun. ACCL-N is the GPU-focused version. ACCL-N is a high-performance communication library customized from NVIDIA NCCL. It is fully compatible with NCCL, fixes issues in the upstream NCCL release, and includes performance and stability improvements.

End-to-end performance assessment

The following tests use the cloud-native AI performance assessment and analysis tool CNP with mainstream open-source models and frameworks together with standard base images to analyze end-to-end performance. An ablation study is used to assess how each optimization component contributes to overall model training performance. Tests are run on Golden-25.05 on multi-node GPU clusters:

Configuration

Description

Base

NGC PyTorch image

ACS AI Image: Base + ACCL

ACS AI image with the ACCL communication library

ACS AI Image: AC2 + ACCL

Golden image on AC2 Base OS, no optimizations enabled

ACS AI Image: AC2 + ACCL + CompilerOpt

Golden image on AC2 Base OS with torch.compile optimization

ACS AI Image: AC2 + ACCL + CompilerOpt + CkptOpt

Golden image on AC2 Base OS with torch.compile and selective gradient checkpoint optimization

image.png

Quick start

The following example uses Docker to pull and run the training-nv-pytorch image.

Note

To use the training-nv-pytorch image in ACS, pull it from the artifact center page in the console when creating workloads, or specify the image in a YAML file.

1. Pull the image

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

2. Enable optimizations

Enable compiling optimization

Use the transformers Trainer API:

image.png

Enable GPU memory optimization for activation recomputation

export CHECKPOINT_OPTIMIZATION=true

3. Launch a container

The image includes ljperf, a built-in model training tool for launching containers and running training tasks.

LLM example:

# Launch a container and log on to the container.
docker run --rm -it --ipc=host --net=host --privileged egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/training-nv-pytorch:[tag]

# Run the training demo.
ljperf benchmark --model deepspeed/llama3-8b

Usage notes

  • This release modifies the PyTorch and DeepSpeed libraries. Do not reinstall them.

  • Leave zero_optimization.stage3_prefetch_bucket_size blank or set it to auto in your DeepSpeed configuration.

Known issues

  • PyTorch is upgraded to 2.6 in this release. The performance benefit of activation recomputation memory optimization for LLM models is lower than in previous images. Optimization is ongoing.