All Products
Search
Document Center

Container Compute Service:training-nv-pytorch 26.04

Last Updated:Sep 15, 2026

Release notes for training-nv-pytorch 26.04, including main features, core components, performance benchmarks, and quick start instructions.

Main features and bug fixes

Main features

  • Upgraded vllm to 0.19.0.

  • Upgraded transformer_engine to 2.13.

Bug fixes

None.

Image contents

Image name

training-nv-pytorch

Tag

26.04-cu130-serverless

26.04-cu128-serverless

Use cases

Training/Inference

Framework

PyTorch

Requirements

NVIDIA driver >= 580

NVIDIA driver >= 575

Supported architectures

amd64 and aarch64

amd64

Core components

  • Ubuntu: 24.04

  • Python: 3.12.7+gc

  • CUDA: 13.0

  • perf: 5.4.30

  • gdb: 15.1

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

  • triton: 3.6.0

  • transformer_engine: 2.13.0+28777046

  • deepspeed: 0.18.8+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.13.0.92

  • ultralytics: 8.3.96

  • timm: 1.0.26

  • vllm: 0.19.0+cu130

  • flashinfer-python: 0.6.6

  • pytorch-dynamic-profiler: 0.24.11

  • peft: 0.16.0

  • ray: 2.54.1

  • megatron-core: 0.16.0

  • Ubuntu: 24.04

  • Python: 3.12.7+gc

  • CUDA: 12.8

  • perf: 5.4.30

  • gdb: 15.1

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

  • triton: 3.6.0

  • transformer_engine: 2.13.0+28777046

  • deepspeed: 0.18.8+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.26

  • vllm: 0.19.0+cu128

  • flashinfer-python: 0.6.6

  • pytorch-dynamic-profiler: 0.24.11

  • peft: 0.16.0

  • ray: 2.54.1

  • megatron-core: 0.16.0

Assets

Public images

CUDA 13.0.2 (driver >= 580, amd64 and aarch64)

  • egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/training-nv-pytorch:26.04-cu130-serverless

CUDA 12.8 (driver >= 575, amd64)

  • egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/training-nv-pytorch:26.04-cu128-serverless

VPC images

Replace the public network registry host in your image URI with the region-specific VPC endpoint.

URI component

Public network

IN-VPC

Registry host

egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com

acs-registry-vpc.{region-id}.cr.aliyuncs.com

Repository

egslingjun

egslingjun (unchanged)

Image and tag

{image:tag}

{image:tag} (unchanged)

Replace {region-id} with the ID of the region where your ACS service runs. For example:

Region

Region ID

China (Beijing)

cn-beijing

China (Ulanqab)

cn-wulanchabu

For the full list of supported regions, see Regions.

Example {image:tag} values:

  • inference-nv-pytorch:25.10-vllm0.11.0-pytorch2.8-cu128-20251028-serverless

  • training-nv-pytorch:25.10-serverless

Note

Compatible with ACS and Alibaba Cloud Lingjun multi-tenant offerings only. Not supported on single-tenant offerings.

Driver requirements

Key features and enhancements

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.

E2E performance evaluation

Using CNP (cloud-native AI performance benchmarking tool), we ran E2E performance comparisons against a standard base image with mainstream open-source models. Ablation studies measure each optimization component's contribution to training performance.

Image comparison and iteration evaluation

image

E2E performance contribution of core GPU components

Configurations tested on a multi-node GPU cluster:

  1. Base: NGC PyTorch image

  2. ACS AI Image (Base+ACCL): Base image with the ACCL communication library.

  3. ACS AI Image (AC2+ACCL): Golden image with AC2 BaseOS, with no optimizations enabled.

  4. ACS AI Image (AC2+ACCL+CompilerOpt): Golden image with AC2 BaseOS, with only the PyTorch compile optimization enabled.

  5. ACS AI Image (AC2+ACCL+CompilerOpt+CkptOpt): Golden image with AC2 BaseOS, with both PyTorch compile and selective gradient checkpointing optimizations enabled.

image

Quick start

Pull the training-nv-pytorch image with Docker:

Note

In ACS, select this image from the Artifacts page when creating a workload, or reference it in a YAML file.

Step 1: Select an image

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

Step 2: Enable compiler and recomputation optimizations

  • Enable compile optimization

    Use the Transformers Trainer API:

    image.png

  • Enable re-computation GPU memory optimization

    export CHECKPOINT_OPTIMIZATION=true

Step 3: Start the container

The image includes ljperf, a model training tool. Use it to start a container and run training:

For LLMs

# Start the container and open a shell
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 

Step 4: Usage notes

  • Do not reinstall PyTorch or DeepSpeed. This image includes custom patches to these libraries.

  • In your DeepSpeed configuration, leave zero_optimization.stage3_prefetch_bucket_size empty or set it to auto.

  • The built-in environment variable NCCL_SOCKET_IFNAME must be set based on your scenario:

    • If a single Pod uses 1, 2, 4, or 8 GPUs for a training or inference task, set NCCL_SOCKET_IFNAME=eth0. This is the default setting in this image.

    • If a single Pod uses all 16 GPUs on a host for a training or inference task, set NCCL_SOCKET_IFNAME=hpn0 to use HPN.

Known issues

None.