在GPU实例上部署Qwen3.5-397B-A17B-FP8

更新时间:
复制为 MD 格式

Qwen3.5-397B-A17B-FP8是通义千问3.5系列的超大规模语言模型,拥有3970亿参数量,采用FP8量化技术实现高效推理。通过SGLang推理框架,可以在GPU实例上部署Qwen3.5-397B-A17B-FP8推理服务。

核心工具介绍

  • NVIDIA GPU驱动:用来驱动NVIDIA GPU的程序。

  • SGLang:专为大语言模型优化的推理框架,支持张量并行、FP8加速、分块预填充等优化技术,示例使用latest版本。

  • Docker:容器化平台,用于隔离运行环境,简化部署流程。

操作步骤

步骤一:准备环境

  1. 配置实例规格。

    配置项

    推荐值

    付费模式

    按量付费

    实例规格

    ecs.ebmgn9ge.32xlarge

    配备8GPU,单卡显存72GB,总显存576GB。模型FP8量化后约需397GB显存,剩余空间用于推理过程中的KV缓存和激活值。

    镜像

    Alibaba Cloud Linux 3

    针对阿里云硬件优化,内核较新,预装常用工具。

    GPU 驱动

    勾选安装 GPU 驱动

    推荐版本:CUDA 12.8.1 / Driver 570.195.03 / CUDNN 9.8.0.87

    存储

    系统盘 500 GiB 及以上

    模型文件约379GB,Docker镜像约15GB,需预留足够空间。

    网络

    勾选分配公网 IPv4 地址

    用于下载模型文件和Docker镜像。

    扩展程序

    Docker 社区版

    SGLang官方提供Docker镜像,已预装所有依赖,简化部署流程。
  2. 配置安全组,开放端口。

    22端口用于SSH远程管理,8000端口用于访问推理服务API。

    端口

    协议

    说明

    22

    TCP

    SSH 远程登录

    8000

    TCP

    推理服务 API 端口

  3. 登录ECS实例。

    1. 访问ECS控制台-实例。在页面左侧顶部,选择目标资源所在的资源组和地域。

    2. 进入目标实例详情页,单击远程连接,选择通过Workbench远程连接。根据页面提示登录,进入终端页面。

  4. 扩展程序需要一些时间安装,安装完成后验证Docker。

    docker --version
    # 输出Docker version 20.x.x 或更高版本
  5. 安装NVIDIA容器工具包,使Docker容器能够访问主机GPU硬件。

    若安装失败,请参考解决方案
    #配置生产存储库
    curl -s -L https://nvidia.github.io/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo | \
      sudo tee /etc/yum.repos.d/nvidia-container-toolkit.repo
    #安装 NVIDIA Container Toolkit 软件包
    sudo yum install -y nvidia-container-toolkit
    #重启docker
    sudo systemctl restart docker
  6. 安装Python 3.9。

    ModelScope需要Python 3.9或更高版本。
    sudo yum update -y && sudo yum install -y gcc openssl-devel bzip2-devel libffi-devel zlib-devel
    sudo wget https://mirrors.aliyun.com/python-release/source/Python-3.9.25.tgz && sudo tar xzf Python-3.9.25.tgz
    cd Python-3.9.25 && sudo ./configure --enable-optimizations && sudo make altinstall
    sudo python3.9 -m ensurepip --upgrade && sudo python3.9 -m pip install --upgrade pip
    sudo ln -s /usr/local/bin/python3.9 /usr/bin/python3.9
    echo 'export PATH=/usr/local/bin:$PATH' >> ~/.bashrc && source ~/.bashrc
    python3.9 -V

步骤二:下载模型

  1. 创建模型存储目录。

    cd /mnt
    mkdir Qwen3.5
  2. 安装ModelScope。

    ModelScope提供模型下载服务,支持断点续传。
    python3.9 -m pip install modelscope
  3. 使用ModelScope下载Qwen3.5-397B-A17B-FP8模型。

    modelscope download --model Qwen/Qwen3.5-397B-A17B-FP8 --local_dir /mnt/Qwen3.5
    重要

    模型下载大小约379 GB,使用100 Mbps带宽下载时间大约为30-60分钟。

  4. 验证模型文件完整性。

    # 显示模型权重文件和配置文件
    ls -lh /mnt/Qwen3.5

步骤三:拉取推理镜像

拉取SGLang推理框架镜像。

SGLang针对大语言模型优化,支持张量并行、FP8加速等特性。
docker pull mirrors-ssl.aliyuncs.com/lmsysorg/sglang:latest

步骤四:启动推理容器

  1. 启动Docker容器。

    关键参数:--gpus all(使用所有GPU)、--network=host(共享网络)、-v /mnt:/mnt(挂载模型目录)、--ulimit memlock=-1(解除内存限制)。
    docker run -t -d \
      --name="Qwen3.5-test" \
      --ipc=host \
      --cap-add=SYS_PTRACE \
      --network=host \
      --gpus all \
      --privileged \
      --ulimit memlock=-1 \
      --ulimit stack=67108864 \
      -v /mnt:/mnt \
      mirrors-ssl.aliyuncs.com/lmsysorg/sglang:latest
  2. 验证容器已启动。

    # 应显示Qwen3.5-test容器在运行中
    docker ps

步骤五:启动推理服务

  1. 进入容器。

    docker exec -it Qwen3.5-test bash
  2. 在容器中执行命令,启动Qwen3.5-397B-A17B-FP8推理服务。

    服务初始化通常需要5-10分钟(加载模型权重到GPU)。
    关键参数说明: • --tp-size 8:张量并行,将模型分割到8GPU • --mem-fraction-static 0.9:每块GPU使用90%显存 • --context-length 262144:最大上下文长度256K tokens • --attention-backend triton:使用Triton实现的FlashAttention • --fp8-gemm-backend cutlass:使用CUTLASS进行FP8矩阵运算 • --chunked-prefill-size 4096:分块处理长输入,每块4096 tokens
    python -m sglang.launch_server \
      --model-path /mnt/Qwen3.5 \
      --port 8000 \
      --tp-size 8 \
      --mem-fraction-static 0.9 \
      --context-length 262144 \
      --attention-backend triton \
      --fp8-gemm-backend cutlass \
      --chunked-prefill-size 4096 \
      --reasoning-parser qwen3
  3. 等待服务启动完成。

    出现以下输出表示服务已成功启动:

    INFO:     Started server process [12345]
    INFO:     Waiting for application startup.
    INFO:     Loading model...
    INFO:     Model loaded successfully.
    INFO:     Application startup complete.
    INFO:     Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)

步骤六:验证推理服务

  1. 登录ECS实例。

    1. 访问ECS控制台-实例。在页面左侧顶部,选择目标资源所在的资源组和地域。

    2. 进入目标实例详情页,单击远程连接,选择通过Workbench远程连接。根据页面提示登录,进入终端页面。

  2. 发送推理请求。

    使用curl命令测试推理服务,请求格式兼容OpenAI API。
    curl http://localhost:8000/v1/chat/completions \
      -H "Content-Type: application/json" \
      -d '{
        "model": "/mnt/Qwen3.5-397B-A17B-FP8",
        "messages": [
          {"role": "system", "content": "你是个友善的AI助手。"},
          {"role": "user", "content": "介绍一下深度学习。"}
        ]
      }'
  3. 查看返回结果。

    返回JSON格式响应即表示服务正常。

步骤七:性能评估(可选)

  1. 在实例上(非容器内)安装git-lfs并下载测试数据集。

    ShareGPT数据集包含真实对话数据,用于模拟实际使用场景。
    yum install git-lfs -y
    cd /mnt
    git lfs clone https://www.modelscope.cn/datasets/gliang1001/ShareGPT_V3_unfiltered_cleaned_split.git
    数据集大小约1 GB,下载需5-10分钟。
  2. 进入容器。

    docker exec -it Qwen3.5-test bash
  3. 运行性能测试。

    测试参数:输入4096 tokens,输出2048 tokens,并发数10,共100个请求。
    python3 -m sglang.bench_serving \
      --model /mnt/Qwen3.5 \
      --dataset-name random \
      --dataset-path /mnt/ShareGPT_V3_unfiltered_cleaned_split/ShareGPT_V3_unfiltered_cleaned_split.json \
      --random-input 4096 \
      --random-output 2048 \
      --random-range-ratio 1 \
      --max-concurrency 10 \
      --num-prompts 100 \
      --base-url http://localhost:8000
  4. 测试完成后(约10-20分钟),查看性能摘要。

    预期输出示例:

    ============ Serving Benchmark Result ============
    Backend:                                 sglang
    Traffic request rate:                    inf
    ......
    关注吞吐量(throughput)和平均延迟(latency)指标。