inference-nv-pytorch 25.07

更新时间:
复制为 MD 格式

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

Main Features and Bug Fix Lists

Main Features

  • 基础镜像PPU SDK升级至v1.5.3。

  • 支持 vllm v0.9.1。

  • 支持 sglang v0.4.7。

  • 支持 flashinfer v0.2.6.post1。

  • 优化sailSHMEM性能。

Bug Fix

  • 修复acextw8a8-int8 gemm接口传入bias导致的精度问题以及cuda graph captureint8_gemm API崩溃的问题。

  • 修复了pytorch 2.6环境下torch profiler性能数据异常的问题。

  • 修复Qwen3-235B-A22B、Llama-4-Scout-17B-16E-Instruct模型推理精度问题。

Contents

inference-xpu-pytorch

inference-xpu-pytorch

镜像Tag

25.07-v1.5.3-vllm0.9.1-torch2.6-cu126-20250721

25.07-v1.5.3-sglang0.4.7-torch2.6-cu126-20250717

应用场景

大模型推理

大模型推理

框架

pytorch

pytorch

Requirements

PPU SDK V1.5.3

PPU SDK V1.5.3

系统组件

  • 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.8.1

  • apex 0.1

  • vllm 0.9.1+cu126

  • diffusers 0.34.0

  • transformers 4.51.3

  • flash-attn 2.7.4.post1

  • imageio 2.37.0

  • imageio-ffmpeg 0.6.0

  • ray 2.47.1

  • xformers 0.0.29.post1

  • triton 3.2.0

  • flashinfer-python 0.2.2.post1

  • xgrammar 0.1.19

  • xfuser 0.4.3.post3

  • Ubuntu 24.04

  • Python 3.12

  • Torch 2.6.0

  • CUDA 12.6

  • ACCLEP-P 1.0.0.2+888937e

  • ACCL-P 1.5.1-9

  • EIC 1.3.8

  • eic-sailshmem 1.0.2.0.g880582f

  • accelerate 1.8.1

  • diffusers 0.34.0

  • vllm 0.9.1+cu126

  • sglang 0.4.7

  • sgl-kernel 0.1.7

  • transformers 4.51.3

  • flash-attn 2.7.4.post1

  • flash_mla 1.0.0

  • flashinfer-python 0.2.6.post1

  • imageio 2.37.0

  • imageio-ffmpeg 0.6.0

  • ray 2.47.1

  • xformers 0.0.29.post1

  • triton 3.2.0

  • xgrammar 0.1.19

  • torchao 0.11.0

  • xfuser 0.4.3.post3

镜像Asset

说明

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

公网镜像

  • egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/inference-xpu-pytorch:25.07-v1.5.3-vllm0.9.1-torch2.6-cu126-20250721

  • egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/inference-xpu-pytorch:25.07-v1.5.3-sglang0.4.7-torch2.6-cu126-20250717

VPC镜像

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

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

E2E性能评估

vLLM在线推理模式下,控制TTFT<3s 并且 TPOT<100ms ,测试满足条件的最大并发量,对比吞吐。

  • vllm0.9.1:

    • DeepSeek-R1-bf16 模型单机 Output Token Throughput 性能略有下降,具体说明见Known Issues。

    • DeepSeek-R1-W8A8 模型单机 Output Token Throughput 性能是bf16模型的 260%。

image.png

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

使用建议

SDK 1.5.3 支持的量化能力

  • SDK 1.5.3 中发布的 vllm 0.9.1 和 sglang 0.4.7 暂未适配 AWQ/GPTQ,存在性能问题(建议用 vLLM 0.8.5,或者等 SDK1.6镜像发布);在SDK 1.5.3 中发布的 vllm 0.9.1 和 sglang 0.4.7支持a8w8_int8量化。

  • DeepSeek R1(671B):

    • vLLM 0.9.1(SDK 1.5.3):支持per-token/per-channel a8w8(int8)量化方案,不支持AWQ(w4a16)、GPTQ (w4a16、w8a16)(未适配 AWQGPTQ,存在明显性能问题)。

    • sglang 0.4.7(SDK 1.5.3):支持per-token/per-channel a8w8(int8)量化方案(运行 a8w8(int8)量化模型需要加 --quantization w8a8_int8选项),不支持AWQ(w4a16)、GPTQ (w4a16、w8a16)(未适配 AWQGPTQ,存在明显性能问题)。

    • 如果要在vLLM上使用AWQ(w4a16)、GPTQ(w4a16、w8a16)量化方案,需要使用SDK 1.5.2的镜像(对应inference-xpu-pytorch 25.06inference-xpu-pytorch:25.06-v1.5.2-vllm0.8.5-torch2.6-cu126-20250610)。

    • 如果要在SGLang使用AWQ(w4a16)、GPTQ(w4a16、w8a16)量化方案,需要用SDK1.5.3sglang镜像(即:inference-xpu-pytorch:25.07-v1.5.3-sglang0.4.7-torch2.6-cu126-20250717),降级安装sglang 0.4.6post1软件包。

    • 如果要在vLLM上运行原生DeepSeek-R1-FP8精度模型,需要加 --quantization moe_wna16选项。

  • Qwen3:

    • vLLM 0.9.1(SDK 1.5.3):支持per-token/per-channel a8w8(int8)量化方案,不支持AWQ(w4a16)、GPTQ (w4a16、w8a16)(未适配 AWQGPTQ,存在明显性能问题)。

    • sglang 0.4.7(SDK 1.5.3):支持per-token/per-channel a8w8(int8)量化方案 (运行 a8w8(int8)量化模型需要加 --quantization w8a8_int8选项),不支持AWQ(w4a16)、GPTQ (w4a16、w8a16)(未适配 AWQGPTQ,存在明显性能问题)。

    • 如果要使用AWQ(w4a16)、GPTQ(w4a16、w8a16)量化方案,需要使用SDK 1.5.2的镜像(对应inference-xpu-pytorch 25.06)。

  • 建议配合“1.5.1”及以上版本驱动使用本镜像获得最佳性能,设置方法请参考ACS GPU Pod指定GPU型号和驱动版本GPU驱动版本说明

  • 本镜像内置环境变量NCCL_SOCKET_IFNAME需要根据使用场景动态调整:

    • 当单pod只申请了1/2/4/8卡进行推理任务时:需要设置NCCL_SOCKET_IFNAME=eth0(本推理镜像内默认配置)。

    • 当单pod申请了整机的16卡(此时您可以使用HPN高网)进行推理任务时:需要设置NCCL_SOCKET_IFNAME=hpn0

Known Issues

  • SGLang-v0.4.7 使用 generate 接口时候会出现推理回答不正确的问题,您可以使用 openai 兼容接口来使用。

  • vLLM-v0.9.1 预估的可用 kv cache 空间相比 V0.8.5 少,导致受 kv cache 约束的场景并发数会因此下降,对性能产生影响(例如 DeepSeek-R1-bf16 810e 单机运行)。

    重要

    建议在真武810E上运行A8W8量化模型,以避免性能下降。

  • SGLang-v0.4.7在运行DeepSeek-R1 / DeepSeek-V3 A8W8-INT8模型时,默认会使用shared expert,SGLang-v0.4.6.post1则不会,这会导致SGLang-v0.4.7运行该模型时性能不如SGLang-v0.4.6.post1。SGLang-v0.4.7可通过--disable-shared-experts-fusion选项禁用shared expert,此时SGLang-v0.4.7运行该模型时性能与SGLang-V0.4.6.post1相当。

  • SGLang-v0.4.7镜像--mem-fraction-static选项参数设置较大导致单机显存容量不足时,会出现decode out of memory的问题,这是社区已知问题。