training-nv-pytorch 26.06

更新时间:
复制 MD 格式

Provides the release notes for training-nv-pytorch 26.06, including new features, core components, and usage guidance.

Main features and bug fix lists

Main features

  • Upgraded vllm to 0.22.0.

  • Upgraded transformer_engine to 2.15.

Bug fixes

None.

Contents

Image name

training-nv-pytorch

Tag

26.06-cu130-serverless

Use case

Training / Inference

Framework

pytorch

Requirements

NVIDIA Driver release >= 580

NVIDIA Driver release >= 580

Supported architectures

amd64

aarch64

Core components

  • Ubuntu: 24.04

  • Python: 3.12.7+gc

  • CUDA: 13.0

  • perf: 5.4.30

  • gdb: 15.1

  • torch: 2.11.0+ali.11.nv25.10

  • triton: 3.6.0

  • transformer_engine: 2.15.0+42b84005

  • 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.11.0.86

  • ultralytics: 8.3.96

  • timm: 1.0.27

  • vllm: 0.22.0

  • flashinfer-python: 0.6.11.post2

  • pytorch-dynamic-profiler: 0.24.11

  • peft: 0.19.1

  • megatron-core: 0.17.0

  • Ubuntu: 24.04

  • Python: 3.12.7+gc

  • CUDA: 13.0

  • gdb: 15.1

  • torch: 2.11.0+ali.11.nv25.10

  • triton: 3.6.0

  • transformer_engine: 2.15.0+42b84005

  • 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.11.0.86

  • ultralytics: 8.3.96

  • timm: 1.0.27

  • vllm: 0.22.0

  • flashinfer-python: 0.6.11.post2

  • pytorch-dynamic-profiler: 0.24.11

  • peft: 0.19.1

  • megatron-core: 0.17.0

Assets

Internet-facing image

CUDA 13.0.2(Driver ≥ 580, amd64 and aarch64 )

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

VPC image

All existing and new ACS AI container images in the egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun repository support IN-VPC pulling.

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

This image is available for ACS and Lingjun multi-tenant product forms. Do not use this image in Lingjun single-tenant scenarios.

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.

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 evaluation

Using the cloud-native AI performance benchmarking tool CNP, comprehensive end-to-end performance comparisons were run against a standard base image with mainstream open-source models and framework configurations.Ablation studies further evaluated how each optimization component contributes to overall model training performance.

Image comparison against base image and iteration evaluation

image

E2E performance contribution analysis of GPU core components

The following tests are based on this release image. Training E2E performance benchmarks and comparisons were run on a multi-node GPU cluster. The following configurations were compared:

  1. Base: NGC PyTorch Image

  2. ACS AI Image: Base+ACCL: The image uses the ACCL communication library.

  3. ACS AI Image: AC2+ACCL: The golden image uses AC2 BaseOS with no optimizations enabled.

  4. ACS AI Image: AC2+ACCL+CompilerOpt: Golden image uses AC2 BaseOS with only the torch compile optimization enabled.

  5. ACS AI Image: AC2+ACCL+CompilerOpt+CkptOpt: Golden image uses AC2 BaseOS with both torch compile and selective gradient checkpoint optimizations enabled.

image

Quick start

The following examples pull the training-nv-pytorch image using Docker only.

Note

To use the training-nv-pytorch image in ACS, select it from the Artifact Center page in the workload creation UI in the console, or reference the image in a YAML file.

1. Select the image

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

2. Enable the compiler and recomputation memory optimization through the API

  • Enable compilation optimization

    Using the transformers Trainer API:

    training_args = TrainingArguments(
        bf16=True,
        gradient_checkpointing=True,
        torch_compile=True
    )
  • Enable recomputation memory optimization

    export CHECKPOINT_OPTIMIZATION=true

3. Start the container

The image includes the built-in model training tool ljperf, which is used in the following example to demonstrate how to start the container and run a training task.

LLM

# Start the container and enter it
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 

4. Usage recommendations

  • Changes in the image affect libraries such as PyTorch and DeepSpeed. Do not reinstall them.

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

  • The built-in environment variable NCCL_SOCKET_IFNAME in this image must be adjusted for your scenario:

    • When a single Pod requests only 1, 2, 4, or 8 cards for a training or inference task, set NCCL_SOCKET_IFNAME=eth0 (the default configuration in this image).

    • When a single Pod requests all 16 GPUs on the machine (in which case you can use HPN high-performance networking) for a training or inference task, set NCCL_SOCKET_IFNAME=hpn0.

Known issues

None.