inference-xpu-pytorch 25.02

更新时间:
复制 MD 格式

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

Key features and bug fixes

Key features

  • Upgraded the base image to include PG1 SDK v1.4.2.

  • Upgraded vLLM to v0.7.2.

  • Added support for DeepSeek models.

  • Released a new image with SGLang v0.4.2 and CUDA 12.3.

  • Added support for the ACCL-P 1.4.0-7 collective communication library.

Bug fixes

  • Fixed a version display issue that occurred during vLLM testing.

  • Resolved an issue where the custom all-reduce kernel in vLLM would hang when loading a LoRA adapter with tensor parallelism enabled.

Image assets

Public images

  • egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/inference-xpu-pytorch:25.02-v1.4.2-vllm0.7.2-torch2.5-cuda12.3-20250304

  • egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/inference-xpu-pytorch:25.02-v1.4.2-vllm0.6.4.post1-sglang0.4.2-torch2.5-cuda12.3-20250304

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.

Image components

Version 25.02

inference-xpu-pytorch

inference-xpu-pytorch

Image tag

25.02-v1.4.2-vllm0.7.2-torch2.5-cuda12.3-20250304

25.02-v1.4.2-vllm0.6.4.post1-sglang0.4.2-torch2.5-cuda12.3-20250304

Application scenario

large model inference

large model inference

Framework

PyTorch

PyTorch

Requirements

PG1 SDK v1.4.2

PG1 SDK v1.4.2

System components

  • Ubuntu 22.04

  • Python 3.10

  • Torch 2.5.1

  • CUDA 12.3

  • vllm 0.7.2+cu123

  • transformers 4.46.2

  • flash-attn 2.5.6

  • ray 2.10.0

  • xformers 0.0.27

  • triton 3.10

  • ACCL-P 1.4.0-7

  • Ubuntu 22.04

  • Python 3.10

  • Torch 2.5.1

  • CUDA 12.3

  • vllm 0.6.4.post1+cu123

  • sglang 0.4.2

  • sgl-kernel 0.0.3

  • flashinfer 0.1.6

  • transformers 4.46.2

  • flash-attn 2.5.6

  • ray 2.10.0

  • xformers 0.0.27

  • triton 3.10

  • ACCL-P 1.4.0-7

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.

Known issues

  • DeepSeek

    • To avoid out-of-memory (OOM) errors when testing DeepSeek models, you must set the --max-model-len parameter to a value less than 80,000.

    • SGLang does not support models that use INT8 quantization.

  • Performance issues

    • For Mixture-of-Experts (MoE) models, you can use the Autotune tool to improve performance. You can further optimize performance in vLLM by enabling a fused_moe kernel through a hardware-specific configuration file.

  • Quantization issues

    • By default, vLLM uses the Marlin kernel to accelerate inference for GPTQ, AWQ, W8A8, and WOQ quantization. You can explicitly specify a quantization method, such as gptq_acext or awq_acext, to use other vLLM kernels. However, the acext library does not currently support quantization with act_order=True or GPTQ-Int8 weights. This limitation will be addressed in a future release.

    • vLLM uses vllm-flash-attn, xformers, or flashinfer as its attention backend. The default backend, vllm-flash-attn, is currently slower than the native GPU implementation. This is planned for future optimization.

    • vLLM implements A8W8 quantization by integrating with the acext library, and its performance requires further optimization.

    • Currently, performance with FP8 quantization is slow because it has not been optimized for PG1. The support timeline is to be determined.

  • Stability issues

    • vLLM may randomly exit after a multi-GPU inference task is complete. This is a known upstream community issue. For details, see the open issue.