Release 26.01 upgrades the built-in training and inference components of the training-nv-pytorch image. Use these release notes to confirm the image tag, the component versions, and the minimum NVIDIA driver version before you run a training or inference job in ACS.
What's new
Component upgrades
The built-in training component
megatron-coreis upgraded to 0.15.0.The built-in inference component
vLLMis upgraded to 0.13.0.The built-in component
flashinfer-pythonis upgraded to 0.5.3.The built-in component
health_checkis upgraded to work with shuttle 1.5.3.
Fixed issues
This release has no fixed issues.
Image contents
The following table lists the scenarios, framework, driver requirement, and architecture support of each training-nv-pytorch 26.01 tag.
Item | 26.01-cu130-serverless | 26.01-cu128-serverless |
Image name | training-nv-pytorch | training-nv-pytorch |
Common scenarios | Training and inference | Training/Inference |
Framework | pytorch | pytorch |
Requirements | NVIDIA Driver release >= 580 | NVIDIA Driver release >= 575 |
Supported architectures | amd64 and aarch64 | amd64 |
Core components
26.01-cu130-serverless
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.10.0+769ed778
deepspeed: 0.18.1+ali
flash_attn: 2.8.3
transformers: 4.57.1+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.13.0+cu130
flashinfer-python: 0.5.3
pytorch-dynamic-profiler: 0.24.11
peft: 0.16.0
ray: 2.53.0
megatron-core: 0.15.0
26.01-cu128-serverless
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.1+ali
flash_attn: 2.8.3
flash_attn_3: 3.0.0b1
transformers: 4.57.1+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.13.0+cu128
flashinfer-python: 0.5.3
pytorch-dynamic-profiler: 0.24.11
peft: 0.16.0
ray: 2.53.0
megatron-core: 0.15.0
Assets
Pull the training-nv-pytorch 26.01 image from one of the following addresses. For the minimum NVIDIA driver version that each CUDA version requires, see Driver requirements.
Public image
CUDA 13.0.2 (driver >= 580, amd64 and aarch64)
egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/training-nv-pytorch:26.01-cu130-serverless
CUDA 12.8 (driver >= 575, amd64)
egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/training-nv-pytorch:26.01-cu128-serverless
VPC image
To pull ACS AI container images quickly within a Virtual Private Cloud (VPC), replace the Asset URI egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/{image:tag} of the specified AI container image with acs-registry-vpc.{region-id}.cr.aliyuncs.com/egslingjun/{image:tag}.
{region-id}: the ID of an ACS region. For example,cn-beijingorcn-wulanchabu. For more information, see Regions.{image:tag}: the name and tag of the AI container image. For example,inference-nv-pytorch:25.10-vllm0.11.0-pytorch2.8-cu128-20251028-serverlessortraining-nv-pytorch:25.10-serverless.
This image applies to ACS and multi-tenant Lingjun. It does not apply to single-tenant Lingjun. Do not use it in single-tenant Lingjun scenarios.
Driver requirements
The training-nv-pytorch 26.01 release supports CUDA 12.8.0 and CUDA 13.0.2 on different driver versions:
CUDA 13.0.2 requires NVIDIA driver version 580 or later.
CUDA 12.8.0 requires NVIDIA driver version 575 or later.
For the full list of supported drivers, see CUDA Application Compatibility. For more information, see CUDA Compatibility and Upgrades.
Built-in optimization capabilities
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 recommends the optimal number of activation recomputation layers. The model is 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. This approach is integrated into PyTorch, allowing you to achieve the performance gains of GPU memory optimization with minimal effort. This feature is supported in the DeepSpeed framework.
End-to-end performance evaluation
The evaluation uses CNP, a cloud-native AI performance analysis tool, to conduct a comprehensive comparison of the image against a standard base image on mainstream open-source models and framework configurations. An ablation study further evaluates how much each optimization component contributes to overall model training performance.
Image comparison against the base image and iterative evaluation

End-to-end performance contribution analysis of core GPU components
These tests run on version 26.01 and compare end-to-end training performance on a multi-node GPU cluster. The following configurations are compared:
Base: the NGC PyTorch image.
ACS AI Image: Base + ACCL: the ACS AI image uses Alibaba Cloud Communication Library (ACCL).
ACS AI Image: AC2 + ACCL: the ACS AI golden image uses AC2 BaseOS, with no optimization enabled.
ACS AI Image: AC2 + ACCL + CompilerOpt: the ACS AI image uses AC2 BaseOS, with only torch compile optimization enabled.
ACS AI Image: AC2 + ACCL + CompilerOpt + CkptOpt: the ACS AI image uses AC2 BaseOS, with both torch compile and selective gradient checkpoint optimizations enabled.

Quick start
Pull the training-nv-pytorch image, enable the compiler and gradient checkpointing optimizations, start a container to run a training job, and then review the usage recommendations. The following example uses Docker only.
To use the training-nv-pytorch image in ACS, select the image on the Artifacts page when you create a workload in the console, or reference the image in a YAML file.
1. Pull the image
Select the tag whose NVIDIA driver requirement and supported architectures match your nodes, and then replace [tag] in the following command with that tag. For the requirements of each tag, see Image contents.
docker pull egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/training-nv-pytorch:[tag]2. Enable the compiler and gradient checkpointing optimizations
Enable compilation optimization
Use the transformers Trainer API:
training_args = TrainingArguments(
bf16=True,
gradient_checkpointing=True,
torch_compile=True
)Enable gradient checkpointing optimization
Set the following environment variable:
export CHECKPOINT_OPTIMIZATION=true3. Start the container
The image includes the built-in model training tool ljperf, which the following steps use to start a container and run a training job.
For LLMs
# Start the container and log on to 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-8bUsage recommendations
Do not reinstall the libraries that the image modifies, such as PyTorch and DeepSpeed.
Leave
zero_optimization.stage3_prefetch_bucket_sizeblank or set it toautoin the DeepSpeed configuration.Adjust the built-in environment variable
NCCL_SOCKET_IFNAMEin this image based on your scenario:When a single pod requests only 1, 2, 4, or 8 GPUs for a training or inference job, set NCCL_SOCKET_IFNAME=eth0 (the default configuration in this image).
When a single pod requests only 1, 2, 4, or 8 GPUs for a training or inference job, set NCCL_SOCKET_IFNAME=eth0 (the default configuration in this image).(one of the default configurations in this image).When a single pod requests all 16 GPUs of a machine for a training or inference job, and you can use the High-Performance Network (HPN), set
NCCL_SOCKET_IFNAME=hpn0.
Known issues
This release has no known issues.