inference-xpu-pytorch 25.04

更新时间:
复制为 MD 格式

本文介绍inference-xpu-pytorch 25.04版本发布记录。

Main Features and Bug Fix Lists

Main Features

  • 基础镜像升级PPU SDKv1.5.0

  • vLLM镜像vLLM镜像CUDA升级至12.6,PyTorch版本升级至2.6.0。

  • SGLang版本升级至v0.4.4.post3

  • ACCL-P升级至v1.5.0-9、EIC升级至1.3.7.1-v2504,合入对应版本功能和Bug fix。

Bug Fix

(暂无)

Contents

inference-xpu-pytorch

inference-xpu-pytorch

镜像Tag

25.04-v1.5.0-vllm0.7.3-torch2.6-cu126-20250417

25.04-v1.5.0-sglang0.4.4.post3-torch2.5-cu123-20250418

应用场景

大模型推理

大模型推理

框架

pytorch

pytorch

Requirements

PPU SDK V1.5.0

PPU SDK V1.5.0

系统组件

  • Ubuntu 22.04

  • Python 3.10

  • Torch 2.6.0

  • CUDA 12.6

  • ACCL-P V1.5.0-9

  • accelerate 1.6.0

  • vllm 0.7.3+cu126

  • transformers 4.51.3

  • flash-attn 2.5.6

  • ray 2.10.0

  • xformers 0.0.27

  • triton 3.2.0

  • diffusers 0.33.1

  • Ubuntu 22.04

  • Python 3.10

  • Torch 2.5.1

  • CUDA 12.3

  • ACCL-P V1.5.0-9

  • accelerate 1.6.0

  • vllm 0.7.2+cu123

  • sglang 0.4.4.post3

  • sgl-kernel 0.0.5.post4

  • flashinfer-python 0.2.3

  • transformers 4.50.0

  • flash-attn 2.5.6

  • ray 2.10.0

  • xformers 0.0.27

  • triton 3.1.0

镜像Asset

说明

通过公网拉取ACS AI容器镜像需要先获取鉴权密钥。建议您使用VPC方式加速拉取AI容器镜像,减少镜像拉取的时间。

公网镜像

  • egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/inference-xpu-pytorch:25.04-v1.5.0-vllm0.7.3-torch2.6-cu126-20250417

  • egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/inference-xpu-pytorch:25.04-v1.5.0-sglang0.4.4.post3-torch2.5-cu123-20250418

VPC镜像

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

    {region-id}为您使用的ACS产品所在的开服地域,比如:cn-beijing、cn-wulanchabu等。
    {image:tag}为实际镜像的名称和Tag。

Quick Start

以下示例内容仅通过Docker方式拉取inference-xpu-pytorch镜像,并使用Qwen2.5-7B-Instruct模型测试推理服务。

说明

ACS中使用inference-xpu-pytorch镜像需要通过控制台创建工作负载界面的制品中心页面选取,或者通过YAML文件指定镜像引用。

  1. 拉取推理容器镜像。

    说明

    通过公网拉取ACS AI容器镜像需要先获取鉴权密钥。建议您使用VPC方式加速拉取AI容器镜像,减少镜像拉取的时间。

    docker pull egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/inference-xpu-pytorch:[tag]
  2. 下载modelscope格式的开源模型。

    pip install modelscope
    cd /mnt
    modelscope download --model Qwen/Qwen2.5-7B-Instruct --local_dir ./Qwen2.5-7B-Instruct
  3. 启动以下命令进入容器。

    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. 执行推理测试,测试vLLM推理对话功能。

    1. 启动Sever服务。

      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. Client端进行测试。

      curl http://localhost:8000/v1/chat/completions \
          -H "Content-Type: application/json" \
          -d '{
          "model": "/mnt/Qwen2.5-7B-Instruct",  
          "messages": [
          {"role": "system", "content": "你是个友善的AI助手。"},
          {"role": "user", "content": "介绍一下深度学习。"}
          ]}'

      输出如下所示:

      image.png

      更多关于vLLM的使用方法请参见vLLM

Known Issues

  • DeepSeek

    • 测试DeepSeek模型--max-model-len设置需要 < 80k,否则可能会在运行中出现OOM。

    • SGLang社区已知问题:不支持运行GPTQ量化的模型。

  • 性能问题

    • MOE类大模型使用Autotune工具可以提升性能 ,vLLM支持通过硬件相关的fused_moe kernel配置文件启动kernel以提升性能的优化功能。

  • 量化问题

    • LLM默认使用Marlin KernelGPTQ/AWQ/W8A8/WOQ进行量化推理加速,可以通过显示指定quantization的方法来使用vllm原本的Marlin/W8A8/awq/gptq等量化推理kernel,例如可以指定使用gptq_acext/awq_acext来做量化推理,但是acext目前不支持act_order=True的量化,以及GPTQ-Int8量化权重,下个版本优化。

    • VLLM FP8量化依赖SM89/90架构,没有进行PPU适配与优化,支持计划待定。

    • VLLM量化Dense A8W8对接acext库实现,性能需要持续优化,MOE W8A8量化暂时不支持,预计下一版支持。

    • 支持DPSK FP8权重load并按照W8A16 量化推理,性能与BF16相当。

    • VLLM默认使用vllm-flash-attn作为attention的后端,该性能在PPU上尚未超过GPU版本,下个版本优化。

  • 稳定性问题