These are the release notes for training-nv-pytorch 26.02.
Main features and bug fixes
Main features
-
Upgraded DeepSpeed to version 0.18.5 and Transformers to version 4.57.6.
-
Upgraded vLLM to version 0.15.0 and flashinfer-python to version 0.6.1.
Bug fixes
None.
Contents
|
Image name |
training-nv-pytorch |
|
|
Tag |
26.02-cu130-serverless |
26.02-cu128-serverless |
|
Use cases |
Training/Inference |
|
|
Framework |
pytorch |
|
|
Requirements |
NVIDIA Driver release >= 580 |
NVIDIA Driver release >= 575 |
|
Supported architectures |
amd64 & aarch64 |
amd64 |
|
Core components |
|
|
Assets
Public images
CUDA 13.0.2 (requires driver >=580, amd64 and aarch64)
-
egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/training-nv-pytorch:26.02-cu130-serverless
CUDA 12.8 (requires driver >= 575, amd64)
-
egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/training-nv-pytorch:26.02-cu128-serverless
VPC images
To pull ACS AI container images quickly from within a VPC, replace the public image URI egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/{image:tag} with acs-registry-vpc.{region-id}.cr.aliyuncs.com/egslingjun/{image:tag}.
{region-id}: The region ID of an ACS Available Region. Examples:cn-beijingandcn-wulanchabu.{image:tag}: The name and tag of the AI container image. Examples:inference-nv-pytorch:25.10-vllm0.11.0-pytorch2.8-cu128-20251028-serverlessandtraining-nv-pytorch:25.10-serverless.
This image is supported in ACS and Lingjun multi-tenant environments, but not in single-tenant Lingjun environments.
Driver requirements
-
The 26.02 release supports CUDA 12.8.0 and CUDA 13.0.2, depending on the driver version. CUDA 13.0.2 requires NVIDIA Driver release 580 or later, and CUDA 12.8.0 requires NVIDIA Driver release 575 or later. For a complete list of supported drivers, see the CUDA Application Compatibility topic. For more information, see CUDA Compatibility and Upgrades.
Key features and enhancements
PyTorch compiling optimization
torch.compile(), introduced in PyTorch 2.0, is effective for single-GPU training but provides limited or negative benefit for large language model (LLM) training, which depends on GPU memory optimization and distributed frameworks such as Fully Sharded Data Parallel (FSDP) or DeepSpeed.
This release improves torch.compile() for distributed LLM training through two optimizations:
Communication granularity control in DeepSpeed: Controlling communication granularity gives the compiler a complete compute graph, enabling wider compiling optimization.
Frontend improvements: The PyTorch compiler frontend now compiles even when a graph break occurs, with enhanced mode matching and dynamic shape capabilities.
Result: ~20% higher end-to-end throughput in 8B-parameter LLM training.
GPU memory optimization for recomputation
Based on performance tests across different clusters and parameter configurations, this release integrates the optimal number of activation recomputation layers directly into PyTorch. Enable it with a single environment variable—no manual tuning required.
This feature is available in the DeepSpeed framework.
End-to-end performance evaluation
We used the CNP cloud-native AI performance analysis tool to conduct a comprehensive end-to-end performance comparison between this image and a standard base image using mainstream open-source models and framework configurations. We also performed an ablation study to evaluate the contribution of each optimization component to the overall model training performance.
Base image comparison and iterative evaluation

E2E performance contribution of core GPU components
The following tests, conducted on a multi-node GPU cluster with the 26.02 image, evaluate and compare end-to-end training performance. The comparison items include:
-
Base: NGC PyTorch Image
-
ACS AI Image: Base+ACCL: The base image with the ACCL communication library.
-
ACS AI Image: AC2+ACCL: The golden image on AC2 BaseOS with no optimizations enabled.
-
ACS AI Image: AC2+ACCL+CompilerOpt: The golden image on AC2 BaseOS with only torch compile optimization enabled.
-
ACS AI Image: AC2+ACCL+CompilerOpt+CkptOpt: The golden image on AC2 BaseOS with both torch compile and selective gradient checkpointing optimizations enabled.

Quick start
The following example shows how to use Docker to pull the training-nv-pytorch image.
To use the training-nv-pytorch image in ACS, select it on the Artifacts page when you create a workload in the console, or specify the image reference 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 compilation and memory optimization
-
Enable compilation optimization
Use the Transformers Trainer API:
training_args = TrainingArguments( bf16=True, gradient_checkpointing=True, torch_compile=True ) -
Enable recomputation memory optimization
export CHECKPOINT_OPTIMIZATION=true
Step 3: Start the container
The image has a built-in model training tool, ljperf, which is used to explain the steps for starting a container and running a training task.
LLMs
# Start and enter 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
Step 4: Usage recommendations
-
The image contains modifications to libraries such as PyTorch and DeepSpeed. Do not reinstall them.
-
In the DeepSpeed configuration, leave
zero_optimization.stage3_prefetch_bucket_sizeempty or set it toauto. -
Adjust the built-in environment variable
NCCL_SOCKET_IFNAMEin this image based on your use case:-
When a single pod requests 1, 2, 4, or 8 GPUs for a training or inference task, you must set
NCCL_SOCKET_IFNAME=eth0. This is the default configuration in the image. -
When a single pod requests all 16 GPUs on a node for a training or inference task, you can use the HPN high-speed network. In this case, you must set
NCCL_SOCKET_IFNAME=hpn0.
-
Known issues
None.