inference-xpu-pytorch 25.05

Updated at:
Copy as MD

These are the release notes for inference-xpu-pytorch 25.05.

Main features and bug fixes

Main features

  • Upgraded the base image OS to Ubuntu 24.04, Python to 3.12, and the PPU SDK to v1.5.1.

  • Upgraded vLLM to 0.8.5 in the vLLM image.

  • Upgraded SGLang to v0.4.6.post1 in the SGLang image.

  • Added support for the Qwen2.5-Omni, Llama4, and Qwen3 (Dense and MOE) model families.

  • Added support for DeepSeek-V3/R1 W8A8-INT8 models.

  • Enabled native execution for DeepSeek FP8 (W8A16) models.

  • Optimized the performance of Mixture-of-Experts (MOE) operators, improving the inference performance for the DeepSeek-V3/R1 and Qwen3 MOE model families.

Bug fixes

  • Fixed an issue where the Qwen-vl model failed during online inference with vLLM.

  • Fixed an issue where the Ovis2 model failed during online inference with vLLM.

Contents

inference-xpu-pytorch

inference-xpu-pytorch

Image tag

25.05-v1.5.1-vllm0.8.5-torch2.6-cu126-20250604

25.05-v1.5.1-sglang0.4.6.post1-torch2.6-cu126-20250528

Application scenario

Large model inference

Large model inference

Framework

PyTorch

PyTorch

Requirements

PPU SDK V1.5.1

PPU SDK V1.5.1

System components

  • Ubuntu 24.04

  • Python 3.12

  • Torch 2.6.0

  • CUDA 12.6

  • ACCL-P 1.5.1-9

  • EIC 1.3.8

  • accelerate 1.6.0

  • apex 0.1

  • vllm 0.8.5+cu126

  • transformers 4.51.3

  • flash-attn 2.5.6

  • ray 2.46.0

  • xformers 0.0.29.post1

  • triton 3.2.0

  • flashinfer-python 0.2.2.post1

  • xgrammar 0.1.18

  • Ubuntu 24.04

  • Python 3.12

  • Torch 2.6.0

  • CUDA 12.6

  • ACCL-P 1.5.1-9

  • EIC 1.3.8

  • accelerate 1.6.0

  • vllm 0.7.2+cu126

  • sglang 0.4.6.post1

  • sgl-kernel 0.1.0

  • flashinfer-python 0.2.3

  • transformers 4.51.3

  • flash-attn 2.5.6

  • ray 2.10.0

  • xformers 0.0.29.post1

  • triton 3.1.0

  • xgrammar 0.1.19

Image assets

We recommend that you accelerate AI container image pulls over VPC to reduce pull times.

Public images

  • egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/inference-xpu-pytorch:25.05-v1.5.1-vllm0.8.5-torch2.6-cu126-20250604

  • egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/inference-xpu-pytorch:25.05-v1.5.1-sglang0.4.6.post1-torch2.6-cu126-20250528

VPC images

  • acs-registry-vpc.{region-id}.cr.aliyuncs.com/egslingjun/{image:tag}

    {region-id} is the ID of the region where your Container Service for Kubernetes (ACK) cluster is located, such as cn-beijing or cn-wulanchabu.
    {image:tag} is the actual image name and tag.

End-to-end performance evaluation

This evaluation measured the maximum concurrency in vLLM online inference mode while keeping Time to First Token (TTFT) under 3s and Time per Output Token (TPOT) under 100 ms to compare throughput:

  • For the DeepSeek-R1-bf16 model, the Output Token Throughput on a single Zhenwu 810E device is 425% of the throughput achieved with the SDK 1.5.0 image.

  • For the DeepSeek-R1-w8a8-int8 model, the Output Token Throughput on a single Zhenwu 810E device is 190% of the throughput from the bf16 version.

Quick start

The following example shows how to pull the inference-xpu-pytorch image using Docker and test the inference service with the Qwen2.5-7B-Instruct model.

Note

To use the inference-xpu-pytorch image in Container Service for Kubernetes (ACK), you can select it from the artifact center page when you create a workload in the Console, or specify the image reference in a YAML file.

  1. Pull the inference image.

    docker pull egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/inference-xpu-pytorch:[tag]
  2. Download the open-source model in ModelScope format.

    pip install modelscope
    cd /mnt
    modelscope download --model Qwen/Qwen2.5-7B-Instruct --local_dir ./Qwen2.5-7B-Instruct
  3. Run the following command to start and enter the container.

    docker run -d -t --network=host --privileged --init --ipc=host \
    --ulimit memlock=-1 --ulimit stack=67108864  \
    -v /mnt/:/mnt/ \
    egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/inference-xpu-pytorch:[tag]
  4. Run an inference test to verify the conversational inference feature of vLLM.

    1. Start the server.

      python3 -m vllm.entrypoints.openai.api_server \
      --model /mnt/Qwen2.5-7B-Instruct \
      --trust-remote-code --disable-custom-all-reduce \
      --tensor-parallel-size 1
    2. Run a test on the client.

      curl http://localhost:8000/v1/chat/completions \
          -H "Content-Type: application/json" \
          -d '{
          "model": "/mnt/Qwen2.5-7B-Instruct",  
          "messages": [
          {"role": "system", "content": "You are a friendly AI assistant."},
          {"role": "user", "content": "Tell me about deep learning."}
          ]}'

      The following output is returned:

      image.png

      For more information about using vLLM, see the vLLM documentation.

Recommendations

  • When you run DeepSeek R1 (671B) and Qwen3 models in this image, the supported quantization methods include:

    • vLLM 0.8.5: Supports AWQ (w4a16), GPTQ (w4a16, w8a16), and per-token/per-channel a8w8 (int8) quantization schemes (to run models quantized with AWQ and GPTQ on vLLM 0.8.5, add --quantization moe_wna16).

  • This release does not yet support the DeepEP and sailSHMEM features described in PG1 SDK 1.5.1 Release Note. These features will be available in a future release.

  • For optimal performance, use this image with driver version 1.5.1. For setup instructions, see Specify the GPU model and driver version for an ACK GPU pod and GPU driver version notes.

Known issues

  • The performance of the Qwen3-235B-A22B model will be further optimized in a future release.

  • DeepSeek R1 models

    • When you test the DeepSeek model, the --max-model-len setting must be less than 80k. Otherwise, an Out of Memory (OOM) error may occur during runtime.

    • The vLLM image may produce garbled output during inference. We recommend that you disable prefill caching by adding the --no-enable-prefix-caching option.

  • Quantization

    • In the SGLang 0.4.6.post1 image, per-token/per-channel a8w8 (int8) quantization is not supported, and the AWQ (w4a16) and GPTQ (w4a16, w8a16) methods are not yet validated.

  • Stability

  • Performance

    • For large MOE models, you can use autotuning tools to improve performance. vLLM supports a performance optimization feature that starts the kernel by using a hardware-specific fused_moe kernel configuration file.