training-xpu-pytorch 26.04
本文介绍training-xpu-pytorch 26.04版本发布记录。
Main Features and Bug Fix Lists
Main Features
升级 CUDA至13.0、升级 PPU SDK 至 2.1.0。
升级 deepspeed 至 0.18.8,升级 cupy 至14.0.1,升级 vllm 至 0.18.0,合入对应的功能与issues。
Bugs Fix
暂无。
Contents
镜像名 | training-xpu-pytorch |
镜像TAG | 26.04.post1 |
应用场景 | 训练/推理 |
框架 | pytorch |
Requirements | PPU SDK 2.1.0 |
Supported Architectures | amd64 |
核心组件 |
|
Assets
建议您使用VPC方式加速拉取AI容器镜像,减少镜像拉取的时间。
公网镜像
egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/training-xpu-pytorch:26.04.post1
VPC镜像
将指定的AI容器镜像Asset URIegslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/{image:tag}替换为acs-registry-vpc.{region-id}.cr.aliyuncs.com/egslingjun/{image:tag}即可在VPC内快速拉取PPU AI容器镜像。
{region-id}:ACS产品开服地域(包括金融云、政务云等)的地域ID。例如:cn-beijing、cn-wulanchabu、cn-shanghai-finance-1等。{image:tag}:AI容器镜像的名称和Tag。例如:inference-xpu-pytorch:25.11-v1.7.0-vllm0.10.2-torch2.8-cu129-20251113、training-xpu-pytorch:25.11等。
Driver Requirements
Driver version >= 1.5.0
Key Features and Enhancements
PyTorch编译优化
PyTorch 2.0引入的编译优化能力在单卡小规模下通常可以获得显著的收益,但是在LLM训练中需要引入显存优化、FSDP/Deepspeed等分布式框架,导致torch.compile()无法简单地获得收益或者存在负收益:
在DeepSpeed框架下控制通信的颗粒度,帮助编译器获取更完整的计算图,做更大范围的编译优化。
优化版本的PyTorch:
优化PyTorch编译器前端,确保在计算图中出现任意graph break的情况下仍能正常编译。
强化模式匹配以及dynamic shape能力,提高编译后代码性能。
结合上述优化,在8B LLM训练下通常可以获得20%左右的E2E吞吐收益。
重计算显存优化
基于大量性能评测数据,包括不同模型在不同集群以及不同训练参数配置,以及评测过程中采集的相关显存利用率等系统指标数据,我们进行模型显存开销的预测建模分析,并推荐出最佳的激活值重算层数,并集成到PyTorch中,让用户可以低门槛的使用显存优化带来的性能收益。当前已支持该特性在DeepSpeed框架中的适配。
ACCL通信库
ACCL是阿里针对灵骏产品自研的高性能网络通信库,针对GPU、PPU和AMD三个场景提供ACCL-N、ACCL-P和ACCL-R三个版本。ACCL-N是阿里云基于英伟达NCCL定制后提供的高性能通信库,在完全兼容NCCL的基础上,修复了官方NCCL版本的一些BUG,并进行了性能和稳定性相关的优化。ACCL-P是基于平头哥开源通信库pccl,进行二次开发的集合通信库。ACCL-R是基于AMD Rocm开源通信库rccl,进行二次开发的集合通信库。本版本主要将ACCL/ACCL-N上实现的主要特性移植到了pccl上,修复了一些问题,结合高网的相关自研产品组件进行了深度定制。
E2E性能收益评估
利用云原生AI性能评测分析工具CNP,我们采用主流开源模型和框架配置,与标准的基础镜像进行了全面的端到端性能比较分析,并通过消融实验分析,进一步评估了每个优化组件对整体模型训练性能的收益贡献。
镜像对比基础镜像&迭代评估

PPU&GPU核心组件E2E性能贡献分析
以下测试基于本期镜像,在多节点PPU集群上进行训练E2E性能评测和对比分析,对比项包括:
Base:PPU PyTorch Image
ACS AI Image:Base+ACCL:镜像使用ACCL通信库
ACS AI Image:AC2+ACCL:Golden镜像使用AC2 BaseOS,不开启任何优化
ACS AI Image:AC2+ACCL+CompilerOpt:Golden镜像使用AC2 BaseOS,只启用torch compile优化
ACS AI Image:AC2+ACCL+CompilerOpt+CkptOpt:Golden镜像使用AC2 BaseOS,且同时开启torch compile和selective gradient checkpoint优化

Quick Start
以下示例内容仅通过Docker方式拉取training-xpu-pytorch镜像。在ACS中使用training-xpu-pytorch镜像可以通过控制台创建工作负载时输入指定镜像地址,或者通过YAML文件指定镜像引用。
1. 调用API开启编译器+重计算显存优化
启用编译优化
使用transformers Trainer API:

启用重计算显存优化
export CHECKPOINT_OPTIMIZATION=true
2. 启动容器
镜像中内置了模型训练工具ljperf,以下示例为启动容器和运行训练任务的步骤。
LLM类
# 启动容器并进入
docker run --rm -it --ipc=host --net=host --privileged egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/training-xpu-pytorch:[tag]
# 运行训练demo
ljperf --action train --model_name deepspeed/llama3-8b使用建议
镜像中的改动涉及Pytorch、DeepSpeed等库,请勿重装。
DeepSpeed配置中的
zero_optimization.stage3_prefetch_bucket_size留空或者auto。本镜像内置环境变量
NCCL_SOCKET_IFNAME需要根据使用场景动态调整:当单Pod只申请了1/2/4/8卡进行训练/推理任务时:需要设置
NCCL_SOCKET_IFNAME=eth0(本镜像内默认配置)。当单Pod申请了整机的16卡(此时您可以使用HPN高网)进行训练/推理任务时:需要设置
NCCL_SOCKET_IFNAME=hpn0。
本镜像建议配合使用阿里云提供的PPU PIP服务,支持在ACS VPC内一站式免密使用PIP服务,不需要再组合使用其他PIP源。本镜像内已经内置了相应的pip config,还需要您结合使用场景根据文档的指引做必要的配置。
在ACS环境使用AcclEP-P(即PPU版本的DeepEP),需要设置环境变量
export EIC_VSOLAR=1(本镜像需要设置,预计后续镜像移除该限制)。SDK 2.1.0 各框架支持的标准量化能力:
vLLM 0.18.0 (on SDK 2.1): per-token/per-channel w8a8(int8)
量化能力注意事项:目前 SAIL vLLM 暂未对 Marlin kernel 进行适配和优化,AWQ(w4a16)、GPTQ(w4a16、w8a16)性能较差,请使用 w8a8(int8)量化方案。
A8W8(INT8)量化演示模型。
提供适配SDK2.1的量化模型示例,系统登录账密复用 PTG PIP 账密(可联系您的客户经理获取):
DeepSeek-R1:支持 per-token/per-channel a8w8(int8)量化方案
DeepSeek v3.2:支持 per-token/per-channel a8w8(int8)量化方案
Kimi-K2-Instruct:支持 per-token/per-channel a8w8(int8)量化方案
Qwen3-235B-A22B:支持 per-token/per-channel a8w8(int8)量化方案
GLM-5:支持 per-token/per-channel w8a8(int8)量化方案
MiniMax-M2.5:支持 per-token/per-channel w8a8(int8)量化方案
Qwen3.5-397B-A17B:支持 per-token/per-channel w8a8(int8)量化方案
GLM-5.1:支持 per-token/per-channel w8a8(int8)量化方案
建议配合最新版本驱动使用本镜像获得最佳性能,设置方法请参考为ACS GPU Pod指定GPU型号和驱动版本和GPU驱动版本说明。
Known Issues
vLLM0.18.0镜像
GLM-5模型运行需要升级
transformers==5.2.0。DP+EP+DeepEP low latency问题:
第一次启动server需要设置
export VLLM_ENGINE_READY_TIMEOUT_S=6000,否则可能会因DeepGemm warmup编译超时导致服务启动失败。社区在GU8TF卡型上存在相同问题。对于 Qwen3 MoE BF16 的场景存在精度问题。社区同样存在该精度问题。请不要使用DP+EP+DeepEP low latency这种组合启动Qwen3 MoE BF16 模型权重。
MiniMax-M2.5模型 TP=16时会导致服务启动失败,请使用TP=8 运行int8量化权重。
--gpu_memory_utilization的值高于0.96时,会概率性遇到HGGC OOM问题,调低gpu_memory_utilization可避免该问题。开启Flashinfer Sampler可以获得性能提升,但可能会导致精度掉点(默认关闭该功能)。社区同样存在该问题。可通过
VLLM_USE_FLASHINFER_SAMPLER环境变量控制该功能的开启或关闭。如果使用 DeepGemm backend,在服务启动阶段则会自动进行 warmup,编译出需要用到的 DeepGemm kernel,可能会带来较长的 warmup 时间:
warmup时间较长。推荐做法是通过环境变量指定deepgemm cache 路径
export DG_CACHE_DIR=<your path>,从而避免重复编译。可以通过
export VLLM_DEEP_GEMM_WARMUP="skip"跳过 DeepGemm warmup,测试性能过程中请确保未出现 DeepGemm JiT 编译,否则会导致性能下降。
量化方面,目前 SAIL vLLM 版本暂未对 Marlin kernel 进行适配和优化,AWQ(w4a16)、GPTQ (w4a16、w8a16)、mxfp4 性能较差,请使用 int8 w8a8 量化方案。