跳转至内容
  • 版块
  • 最新
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • 浅色
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • 深色
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(LCZ-Blue)
  • 不使用皮肤
  • LCZ-Green
  • LCZ-Blue
  • LCZ-Black
折叠
品牌标识

抡锤者

首页 版块 标签
硬件
装备秀
AI 广场 App
  1. 主页
  2. 版块
  3. 随便聊聊
  4. 在 Proxmox VE 虚拟机 上,用AMD 官方 MXFP4 版与社区实测 INT4(AutoRound)版,vLLM 部署 Qwen3.8-27B 量化模型的(优化及局域网测速)。

在 Proxmox VE 虚拟机 上,用AMD 官方 MXFP4 版与社区实测 INT4(AutoRound)版,vLLM 部署 Qwen3.8-27B 量化模型的(优化及局域网测速)。

已定时 已固定 已锁定 已移动 随便聊聊
ai-pro-r9700vllmqwen-27b
1 帖子 1 发布者 155 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • Magic629M
    Magic629M
    Magic629
    体面乡绅 硕果累累
    发表于 最后由 编辑
    #1

    AMD R9700 本地 AI 服务器 — vLLM 部署 Qwen3.8-27B 量化模型的优化。


    1. 测试环境

    客户端(局域网 Mac)

    • DeepSeek Harness(DSH)GUI:http://127.0.0.1:3080
    • 通过 llm-pi-ai provider r9700 接入本地模型

    2. 宿主机(PVE)参数

    项目 值
    地址 192.168.67.251
    版本 pve-manager/9.2.18(内核 7.0.14-16-pve)
    主机名 R9700
    CPU Intel Core Ultra 7 265K(20 核)
    内存 62GB
    网桥 vmbr0
    iGPU SR-IOV 已开启(i915.max_vfs=4,4 个 VF 空闲)

    3. 虚拟机 102 完整配置(示例)

    qm config 102 输出:

    agent: 1
    bios: ovmf
    boot: order=scsi0;net0
    cores: 12
    cpu: host
    efidisk0: local:102/vm-102-disk-0.qcow2,efitype=4m,ms-cert=2023k,pre-enrolled-keys=1,size=528K
    hostpci0: 0000:04:00.0,pcie=1
    machine: q35
    memory: 40960
    name: Ubuntu24-desktop
    net0: virtio=BC:26:11:D3:08:ED,bridge=vmbr0,firewall=1(示例)
    numa: 0
    ostype: l26
    scsi0: /dev/disk/by-id/nvme-KINGSTON_SNV2S1000G_50026B74370011C7,size=976762584K
    scsihw: virtio-scsi-single
    smbios1: uuid=0x489171-f6d7-492d-a80d-91e193db82a5(示例)
    sockets: 1
    vga: virtio-gl
    
    配置项 值 说明
    bios ovmf UEFI 固件
    machine q35 现代机型
    cpu host 直通 CPU,性能最佳
    cores / sockets 12 / 1 12 核单路
    memory 40960 40GB 内存
    vga virtio-gl 虚拟显卡,virgl 3D 加速(防闪屏)
    hostpci0 0000:04:00.0,pcie=1 AMD R9700 直通(纯计算,无 x-vga)
    scsi0 1T NVMe by-id 整盘 raw 直通
    scsihw virtio-scsi-single SCSI 控制器
    net0 virtio + vmbr0 网卡
    agent 1 qemu-guest-agent 已启用
    efidisk0 pre-enrolled-keys=1 UEFI + Secure Boot

    4. 直通设备清单

    设备 宿主地址 用途
    AMD Radeon AI PRO R9700 0000:04:00.0(IOMMU group 17) AI 计算(ROCm)
    1T NVMe(Kingston SNV2S1000G) /dev/nvme0n1 系统盘(raw 直通)

    Intel 核显 SR-IOV(未直通,空闲)

    VF 地址 IOMMU 组 状态
    VF1 00:02.1 43 vfio-pci,空闲
    VF2 00:02.2 44 vfio-pci,空闲
    VF3 00:02.3 45 vfio-pci,空闲
    VF4 00:02.4 46 vfio-pci,空闲

    5. 客户机系统信息

    项目 值
    系统 Ubuntu 24.04 LTS
    内核 7.0.0-31-generic(HWE)
    主机名 ubuntu24-ai
    登录用户 Magic629(组:sudo, render, video)
    IP 192.168.67.202(DHCP,可改为静态)
    根分区 200G(LVM,已用 70G,余 118G)
    内存 39Gi(余 31Gi)
    CPU 12 核

    磁盘布局

    sda                    931.5G  (1T 直通盘)
    ├─sda1                   1G    /boot/efi(vfat)
    ├─sda2                   2G    /boot(ext4)
    └─sda3               928.5G    LVM PV
      └─ubuntu--vg-ubuntu--lv  200G  /(ext4)
    

    LVM 卷组 ubuntu-vg 还有约 728G 空闲,可随时扩容根分区:

    sudo lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv && sudo resize2fs /dev/ubuntu-vg/ubuntu-lv
    

    6. ROCm 计算环境

    项目 值
    GPU AMD Radeon AI PRO R9700(gfx1201,RDNA4)
    显存 32GB(32061259776 B)
    计算单元 64 CU
    ROCm 版本 10.0.0(amdrocm10.0)
    HIP 编译器 7.15
    计算接口 /dev/kfd(group render,GID 992)
    显示接口 全部 disconnected(amdgpu.modeset=0)

    ROCm 相关路径

    路径 说明
    /opt/rocm/bin/ ROCm 工具(rocminfo、rocm-smi、hipcc)
    /dev/kfd 计算接口
    /dev/dri/renderD* 渲染节点

    关键内核参数(GRUB)

    quiet splash amdgpu.modeset=0   # AMD 卡纯计算模式
    

    7. vLLM 推理服务

    7.1 基本信息

    项目 值
    容器名 vllm102
    镜像 stilldeadcode/vllm-radiance:0.9.3(vLLM 0.27.1 + ROCm 7.14 + AITER)
    模型 devan-carlin/Qwen3.8-27B-int4-AutoRound(INT4 多模态)
    量化 auto_gptq(INT4 W4A16)
    显存占用 17.93 GiB
    端口 8000(映射 0.0.0.0:8000->8000)
    API OpenAI 兼容:http://192.168.67.202:8000/v1
    服务名 qwen3.8-27b-int4

    7.2 完整启动脚本(本机)

    文件位置:虚拟机 /tmp/run-vllm.sh

    #!/bin/bash
    sudo docker run --rm --name vllm102 \
      --device /dev/kfd --device /dev/dri \
      --group-add 44 --group-add 992 \
      --shm-size 4g --cap-add SYS_PTRACE --security-opt seccomp=unconfined \
      -v /home/Magic629/models/qwen3.8-27b-autoround:/model:ro \
      -v /tmp/launchers/patches/rdna_hybrid_w4a16.py:/opt/vllm/lib/python3.12/site-packages/vllm/model_executor/kernels/linear/mixed_precision/rdna_hybrid_w4a16.py:ro \
      -v /home/Magic629/.cache/vllm:/cache \
      -p 8000:8000 \
      -e HIP_VISIBLE_DEVICES=0 \
      -e VLLM_ROCM_USE_AITER=1 -e VLLM_ROCM_USE_AITER_UNIFIED_ATTENTION=1 \
      -e VLLM_ROCM_USE_AITER_MHA=0 -e VLLM_ROCM_USE_AITER_MLA=0 -e VLLM_ROCM_USE_AITER_MOE=0 \
      -e VLLM_ROCM_USE_AITER_LINEAR=0 -e VLLM_ROCM_USE_AITER_FP8BMM=0 -e VLLM_ROCM_USE_AITER_FP4BMM=0 -e VLLM_ROCM_USE_AITER_RMSNORM=0 \
      -e RADIANCE_PRESHUFFLE=1 -e RADIANCE_ATTN_TUNE=1 -e RADIANCE_GDN_WMMA=1 \
      -e RADIANCE_VIT_FLASH=1 -e RADIANCE_FUSE_RMS_QUANT=1 -e RADIANCE_DYNAMIC_DRAFT=1 \
      -e RADIANCE_SKINNY_GEMM=all \
      -e VLLM_CACHE_ROOT=/cache/vllm -e TORCHINDUCTOR_CACHE_DIR=/cache/inductor -e TRITON_CACHE_DIR=/cache/triton -e AITER_ROOT_DIR=/cache/aiter \
      -e TRITON_CACHE_AUTOTUNING=1 \
      stilldeadcode/vllm-radiance:0.9.3 \
      /model \
      --served-model-name qwen3.8-27b-int4 \
      --quantization auto_gptq \
      --kv-cache-dtype fp8 \
      --tensor-parallel-size 1 \
      --gpu-memory-utilization 0.97 \
      --max-model-len 131072 \
      --max-num-seqs 2 \
      --max-num-batched-tokens 4854 \
      --attention-backend R4D \
      --enable-prefix-caching --mamba-cache-mode align \
      --reasoning-parser qwen3 \
      --tool-call-parser qwen3_xml --enable-auto-tool-choice \
      --speculative-config '{"method":"mtp","num_speculative_tokens":4,"attention_backend":"R4D","disable_padded_drafter_batch":true}' \
      --trust-remote-code \
      --host 0.0.0.0 --port 8000
    

    7.3 启动参数说明

    参数 值 说明
    --device /dev/kfd /dev/dri — 显卡计算接口 + 渲染节点
    --group-add 44 992 — video(GID 44)、render(GID 992) 组权限
    --served-model-name qwen3.8-27b-int4 API 中的模型名
    --quantization auto_gptq INT4 量化(需与 config.json 补丁一致)
    --kv-cache-dtype fp8 KV 缓存用 FP8
    --tensor-parallel-size 1 单卡
    --gpu-memory-utilization 0.97 显存利用率 97%
    --max-model-len 131072 上下文 128K
    --attention-backend R4D RDNA4 专用注意力内核
    --enable-prefix-caching — 前缀缓存(实际命中率 84.8%)
    --mamba-cache-mode align GDN 混合模型状态对齐
    --reasoning-parser qwen3 推理(思考)解析
    --speculative-config mtp, 4 tokens MTP 投机解码(提速 ~31%)

    7.4 模型 config.json 补丁(重要)

    模型原始 quantization_config.quant_method 是 auto-round,必须补丁为 auto_gptq,否则静默以未量化方式加载(54GB → OOM)。

    补丁内容(已应用到 /home/Magic629/models/qwen3.8-27b-autoround/config.json):

    {
      "quantization_config": {
        "quant_method": "auto_gptq",
        "desc_act": false,
        "lm_head": false,
        "modules_in_block_to_quantize": [
          "self_attn.q_proj", "self_attn.k_proj", "self_attn.v_proj", "self_attn.o_proj",
          "mlp.gate_proj", "mlp.up_proj", "mlp.down_proj",
          "linear_attn.in_proj_qkv", "linear_attn.in_proj_z", "linear_attn.out_proj"
        ]
      }
    }
    

    原文件备份:config.json.autoround-orig


    8. 投机解码配置

    项目 值
    方法 mtp(复用模型内置 MTP 头)
    投机 token 数 4
    注意后端 R4D
    提速效果 26.3 → 34.4 tok/s(+31%,无思考模式)(实测更快)

    投机解码的 MTP 头占用了额外显存,因此 --max-model-len 从 204800 降到了 131072。


    9. 多模态(看图)能力

    项目 值
    模型类型 原生视觉语言模型(image-text-to-text)
    支持输入 文本 + 图片(+ 视频理解)
    视觉塔 保持 bf16(未量化,约 0.5~1GB)
    已实测 能正确识别图片颜色与分布

    10. DeepSeek Harness 接入

    DSH 配置文件:/Users/magicz790/.dsh/settings.yaml

    llm-pi-ai:
      providers:
        r9700:
          displayName: local-qwen
          apiKeyEnv: R9700_API_KEY          # 凭证值 "1234"(vLLM 不校验鉴权,家庭用公用)
          api: openai-completions
          baseURL: http://192.168.67.202:8000/v1
          defaultInput: [text, image]
          models:
            - id: qwen3.8-27b-int4
              name: Qwen3.8-27B-int4-AutoRound
              input: [text, image]
              contextWindow: 128000
    agent-default-model:
      provider: r9700
      model: qwen3.8-27b-int4
    

    凭证文件:/Users/magicz790/.dsh/.credentials.yaml(R9700_API_KEY: "1234")


    11. 性能指标

    指标 值
    推理速度(无思考) 34.4 tok/s
    推理速度(含思考链) 52.4 tok/s (反常态)
    显存占用 17.93 GiB(VRAM 88%)
    前缀缓存命中率 84.8%(内部指标)(实测看不到)
    上下文长度 128K

    说明:DSH/监控面板显示的「缓存命中 0%」是假象——radiance 版 vLLM 不回报 cached_tokens 字段,客户端读不到。实际缓存正常。


    12. 维护命令大全

    12.1 虚拟机(从 Mac 执行)

    # 登录 PVE
    ssh [email protected]
    
    # 查看虚拟机状态
    qm status 102
    qm list
    
    # 启动/关机/重启虚拟机
    qm start 102
    qm shutdown 102        # 优雅关机
    qm stop 102            # 强制关机
    
    # 查看虚拟机配置
    qm config 102
    
    # 进入虚拟机(通过 guest-agent 执行命令)
    qm guest exec 102 -- <命令>
    qm guest cmd 102 network-get-interfaces   # 查 IP
    

    12.2 客户机(Ubuntu,从 Mac 执行)

    ssh [email protected]   
    

    12.3 vLLM 服务管理

    # 查看容器状态
    sudo docker ps --filter name=vllm102
    
    # 查看日志
    tail -f /tmp/vllm-run.log
    
    # 停止服务
    sudo docker rm -f vllm102
    
    # 启动/重启服务(脚本已含完整参数)
    sudo bash /tmp/run-vllm.sh
    # 后台启动(断开 SSH 不中断)
    nohup bash -c 'echo "密码" | sudo -S -p "" bash /tmp/run-vllm.sh' > /tmp/vllm-run.log 2>&1 &
    

    12.4 测试 API

    # 列出模型
    curl http://127.0.0.1:8000/v1/models
    
    # 对话测试(无思考)
    python3 - << 'EOF'
    import urllib.request, json
    data = {"model":"qwen3.8-27b-int4",
            "messages":[{"role":"user","content":"你好"}],
            "max_tokens":100,
            "chat_template_kwargs":{"enable_thinking":False}}
    req = urllib.request.Request("http://127.0.0.1:8000/v1/chat/completions",
        data=json.dumps(data).encode(), headers={"Content-Type":"application/json"})
    print(json.loads(urllib.request.urlopen(req).read())["choices"][0]["message"]["content"])
    EOF
    

    12.5 显卡监控

    # 显存/温度/功率/占用
    /opt/rocm/bin/rocm-smi
    /opt/rocm/bin/rocm-smi --showmeminfo vram
    
    # 架构信息
    /opt/rocm/bin/rocminfo | grep -i "marketing name"
    

    12.6 缓存命中率(真实值)

    curl -s http://127.0.0.1:8000/metrics | grep -E "prefix_cache_(queries|hits)_total"
    # 命中率 = hits_total / queries_total
    

    12.7 磁盘扩容(需要时)

    sudo lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
    sudo resize2fs /dev/ubuntu-vg/ubuntu-lv
    

    13. 常见问题

    现象 原因 解决
    noVNC 桌面闪屏 virtio-gpu 无 3D 加速 已改 vga: virtio-gl(当前正确)
    重启后 /dev/kfd 消失 Secure Boot 拒载未签名 DKMS 模块 已改用内核自带签名驱动
    vLLM 启动 OOM 投机解码占显存,KV 缓存不足 已降 --max-model-len 到 131072
    DSH 提示不支持看图 DSH 缓存旧模型状态 重启 DSH / 新建会话
    面板缓存命中 0% vLLM 不回报 cached_tokens 无害,看 /metrics 真实值

    13. 局域网实测

    44c69047-773b-4b4b-aed6-504906cb18d4-image.jpeg

    0c1706ae-339d-4c5e-aa48-80146beb7ae4-image.jpeg

    1 条回复 最后回复
    1
    • terryT terry 于 将此主题固定
    • 系统 于 取消固定此主题

    你好!看起来您对这段对话很感兴趣,但您还没有一个账号。

    厌倦了每次访问都刷到同样的帖子?您注册账号后,您下次访问时都将自动回到上次浏览的位置,并可选择接收新回复的通知(通过电子邮件或推送通知)。您还可以收藏帖子、为帖子点赞,以此向其他社区成员表达您的感谢。

    有了你的建议,这篇帖子会更精彩哦 💗

    注册 登录
    回复
    • 在新帖中回复
    登录后回复
    • 从旧到新
    • 从新到旧
    • 最多赞同


    • 登录

    • 登录或注册以进行搜索。
    • 第一个帖子
      最后一个帖子
    0
    • 版块
    • 最新
    • 标签
    • 热门
    • 用户
    • 群组