跳转至内容
  • 版块
  • 最新
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • 浅色
  • 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 广场
Magic629M

Magic629

@Magic629
取消关注 关注
关于
帖子
20
主题
5
分享
0
群组
0
粉丝
0
关注
0

帖子

最新 最佳 有争议的

  • Ubuntu 24 系统与 llama.cpp 服务器 健康度 · 功耗 · 温度控制 综合检查报告 (小白慢慢补图,我先报告完供大神审阅指正,谢谢!)
    Magic629M Magic629

    @AGI 本地大模型部署在虚拟环境下的具体方案可以简单说一下吗?谢谢。

    随便聊聊 ubuntu llama.cpp 服务器

  • 测试SGLang 部署方案后最终恢复llama.cpp方案 —— 单卡AMD Radeon AI PRO R9700(gfx1201 / RDNA4)
    Magic629M Magic629

    @paul-hou 是的

    随便聊聊 sg-lang llama.cpp r9700

  • 测试SGLang 部署方案后最终恢复llama.cpp方案 —— 单卡AMD Radeon AI PRO R9700(gfx1201 / RDNA4)
    Magic629M Magic629

    1. 本机硬件 / 软件配置(实测)

    项目 实测值
    CPU Intel Core Ultra 7 265K(Arrow Lake,20 核 20 线程,最高 5.5 GHz,单 NUMA)
    内存 64 GB(62 GiB 可用),8 GB swap
    GPU AMD Radeon AI PRO R9700(gfx1201,RDNA4 / Navi 48,64 CU,300 W 功耗墙)
    显存 32 GB(34208743424 B ≈ 31.9 GiB)
    硬盘 Kingston NV2 915 GB NVMe(剩余 721 GB)
    操作系统 Ubuntu 24.04.4 LTS,内核 7.0.0-31-generic
    ROCm 7.2.4(HIP 7.2.5 / hipcc 22.0),amdgpu 驱动 7.1.3
    Python 3.12.3(/usr/bin/python3),pip 24.0
    其它 无 conda、无 Docker、无 uv;有 git 2.43 / cmake 3.28 / gcc 13.3 / make 4.3
    GPU 状态 已就绪:rocm-smi 正常识别 R9700,/dev/kfd 存在,当前用户在 render、video 组
    网络 HuggingFace / PyPI / GitHub / repo.radeon.com 全部可达(200)
    已有模型 ~/.cache/huggingface 含 mattbucci/Qwen3.8-27B-AWQ、Qwen/Qwen3.5-0.8B;另有 llama.cpp 的 Qwen3.8-27B-Uncensored-Q5_K_M.gguf

    2. 核心结论:SGLang 对 gfx1201 的支持现状

    1. 官方 ROCm 支持只覆盖数据中心卡:gfx942(MI300/MI325)、gfx950(MI350)。官方 AMD 文档几乎只以 MI300X 为例。
    2. 消费级 RDNA 未被官方支持:SGLang 官方 tracking issue #30599 明确把 RDNA4 gfx1201 列为「blocked / ❌ 不支持」,并指出 sgl-kernel 的 setup_rocm.py 白名单会直接 sys.exit(1)。
    3. 最新稳定版不含 gfx1201:截至整理时最新稳定版为 v0.5.19(2026-09-05);实测 main 分支 sgl-kernel/setup_rocm.py 白名单为 gfx942 / gfx950 / gfx1250,不含 gfx1201。
    4. 可行路径 = PR #32092:开源 PR #32092 [AMD] Add experimental gfx1201 inference support 处于未合并(open)状态,但恰好是在「Radeon AI PRO R9700 + ROCm 7.2」上验证通过的(与本机显卡完全一致)。它自带完整构建/启动文档。
    5. 对比:vLLM 已把 gfx1200/gfx1201 列入其 ROCm 构建(PYTORCH_ROCM_ARCH),对 RDNA4 的官方支持更成熟,可作为备选(见 §9)。

    一句话:在本机这块 R9700 上跑 SGLang,今天只能走「从源码 + PR #32092」这条路;这是功能可用、但属实验性、单卡限定的方案。


    3. gfx1201 实验支持的范围(PR #32092 实测边界)

    ✅ 支持(单卡、--tp 1):

    • BF16 / FP16 稠密模型
    • 在线 FP8 量化(稠密模型,--quantization fp8)
    • BF16 / FP8 的 Triton 融合 MoE
    • GPT-OSS 原生 MXFP4 检查点(triton_kernel MoE runner)

    ❌ 不支持 / 未验证:

    • 多卡(张量并行 TP / 专家并行 EP)、custom all-reduce
    • AITER(必须关闭:SGLANG_USE_AITER=0)
    • AWQ / GPTQ / Marlin / gguf / modelopt / Quark MXFP4 等其它量化(官方标注「未支持」;AWQ 在 AMD 上走 Triton 反量化,理论上可能能跑,但不在 gfx1201 验证范围内,需自行试)
    • 注意力后端只能用 Triton(FlashInfer / FA3 等不可用)

    4. 最优部署步骤(从源码构建,gfx1201)

    4.0 系统级调优(AMD 官方建议,单卡消费级可选但推荐)

    # 1) 关闭 NUMA 自动平衡(AMD 官方 AMD GPU 文档建议;本机单 NUMA,影响较小)
    sudo sh -c 'echo 0 > /proc/sys/kernel/numa_balancing'
    
    # 2) 可选:/etc/default/grub 的 GRUB_CMDLINE_LINUX 追加(AMD MI300X 文档建议,单卡可跳过)
    #    pci=realloc=off iommu=pt
    #    然后 sudo update-grub && reboot
    

    关键点:ROCm 7.2 原生支持 gfx1201(自 ROCm 6.4.1 起),无需 HSA_OVERRIDE_GFX_VERSION 之类的兼容变量。

    4.1 创建独立虚拟环境(避免污染系统 Python)

    sudo apt install -y python3-venv python3-dev
    python3 -m venv ~/sglang-gfx1201
    source ~/sglang-gfx1201/bin/activate
    pip install -U pip setuptools wheel
    

    4.2 安装 ROCm 版 PyTorch(先装,避免被覆盖)

    ROCm 7.2.4 对应的官方 pin 是 torch 2.11.0(SGLang pyproject_other.toml 的 srt_hip_rocm724 extra 明确 torch==2.11.0):

    # 只跑文本 LLM,装 torch 即可;torchvision/torchaudio 仅多模态需要
    pip install torch==2.11.0+rocm7.2 --index-url https://download.pytorch.org/whl/rocm7.2
    # 需要多模态再加(版本号以 index 实际为准):
    # pip install torchvision==0.26.0+rocm7.2 torchaudio==2.11.0+rocm7.2 --index-url https://download.pytorch.org/whl/rocm7.2
    

    验证 GPU 可见:

    python -c "import torch; print(torch.__version__); print(torch.cuda.is_available(), torch.cuda.get_device_name(0))"
    # 期望: 2.11.0+rocm7.2 / True / AMD Radeon AI PRO R9700
    

    4.3 克隆 SGLang 并检出 PR #32092(gfx1201 支持)

    git clone https://github.com/sgl-project/sglang.git ~/sglang
    cd ~/sglang
    git fetch origin pull/32092/head:gfx1201
    git checkout gfx1201
    

    4.4 为 gfx1201 编译 sgl-kernel(单架构)

    cd ~/sglang
    export AMDGPU_TARGET=gfx1201
    export PYTORCH_ROCM_ARCH=gfx1201
    export GPU_ARCHS=gfx1201
    export SGLANG_USE_AITER=0        # RDNA4 上必须关闭 AITER
    
    cd sgl-kernel
    python setup_rocm.py install
    cd ..
    

    ⚠️ 不要在同一份 sgl-kernel 构建里混入 CDNA 目标(gfx942/gfx950);gfx1201 必须单独构建(wave32 vs wave64 差异)。

    4.5 安装 SGLang 所依赖的 triton_kernels 固定版本

    PR #32092 依赖特定 revision 的 matmul_ogs API:

    pip install --no-deps \
      "git+https://github.com/triton-lang/triton.git@4a24bf0b19a027ec0833b31cbc9ac29add7b17af#subdirectory=python/triton_kernels"
    

    4.6 安装 SGLang Python 包(HIP 版)

    cd ~/sglang
    # 切到 ROCm 版 pyproject(AMD 官方文档的标准步骤)
    rm -rf python/pyproject.toml && mv python/pyproject_other.toml python/pyproject.toml
    pip install -e "python[all_hip_rocm724]"
    
    # 若安装过程把 torch 覆盖成 CUDA 版,强制装回 ROCm 版:
    # pip install --force-reinstall --no-deps torch==2.11.0+rocm7.2 --index-url https://download.pytorch.org/whl/rocm7.2
    

    all_hip_rocm724 = 面向 ROCm 7.2.4 / torch 2.11 的依赖集(pyproject_other.toml 中已定义,pin torch==2.11.0)。


    5. 启动服务器(32 GB 显存的最优参数)

    5.1 推荐方案:Qwen3.8-27B 在线 FP8(gfx1201 已验证的稠密量化路径)

    source ~/sglang-gfx1201/bin/activate
    cd ~/sglang
    export SGLANG_USE_AITER=0
    
    python3 -m sglang.launch_server \
      --model-path Qwen/Qwen3.8-27B \
      --quantization fp8 \
      --dtype bfloat16 \
      --attention-backend triton \
      --sampling-backend pytorch \
      --model-loader-extra-config '{"enable_multithread_load": false}' \
      --tp 1 \
      --mem-fraction-static 0.90 \
      --chunked-prefill-size 2048 \
      --host 0.0.0.0 \
      --port 30000
    

    参数说明:

    • --quantization fp8:在线 FP8 量化,把 BF16 权重动态量化为 FP8(~28.5 GB),是 gfx1201 上已验证的稠密模型量化方式。
    • --dtype bfloat16:计算 dtype。
    • --attention-backend triton:gfx1201 只能走 Triton 注意力。
    • --sampling-backend pytorch:配合 Triton 使用(AMD 常见组合)。
    • --model-loader-extra-config '{"enable_multithread_load": false}':PR 文档明确要求——单线程加载,规避 RDNA4 上并行 checkpoint 加载时的 host→device 拷贝卡顿(不影响推理速度)。
    • --tp 1:gfx1201 只支持单卡。
    • --mem-fraction-static 0.90:给 32 GB 显存留 ~2.9 GB 余量,27B-FP8 能放进且不会 OOM。
    • --chunked-prefill-size 2048:小分块 prefill,兼顾 TTFT 与 decode 延迟(27B 混合 GDN 模型上尤其实用)。

    ⚠️ 在线 FP8 需要先完整下载 BF16 版 Qwen3.8-27B(~54 GB),再量化进显存。下载量大但显存占用只有 ~28.5 GB,32 GB 卡上只能低并发(bs ≤ 2)。

    5.2 备选:直接跑本机缓存的 AWQ 模型(需自行验证)

    python3 -m sglang.launch_server \
      --model-path mattbucci/Qwen3.8-27B-AWQ \
      --quantization awq \
      --dtype bfloat16 \
      --attention-backend triton \
      --sampling-backend pytorch \
      --model-loader-extra-config '{"enable_multithread_load": false}' \
      --tp 1 --host 0.0.0.0 --port 30000
    
    • AWQ 4-bit 权重 ~15 GB,显存压力小很多、并发更高。
    • 但 AWQ 不在 gfx1201 官方验证范围内(官方文档明说「其它量化格式未支持」)。AMD 上 AWQ 走 Triton 反量化,理论上可行,建议实测;报错就回退到 §5.1 的 FP8。

    5.3 更稳的小模型(首次跑通验证环境用)

    # Qwen3.5-0.8B(你已缓存)——先验证整条链路能跑通
    python3 -m sglang.launch_server \
      --model-path Qwen/Qwen3.5-0.8B \
      --dtype bfloat16 \
      --attention-backend triton \
      --sampling-backend pytorch \
      --model-loader-extra-config '{"enable_multithread_load": false}' \
      --tp 1 --host 127.0.0.1 --port 30000
    

    看到日志输出 The server is fired up and ready to roll! 即启动成功。然后用 OpenAI 兼容接口测试:

    curl http://127.0.0.1:30000/v1/chat/completions \
      -H "Content-Type: application/json" \
      -d '{"model":"Qwen/Qwen3.5-0.8B","messages":[{"role":"user","content":"你好"}]}'
    

    6. 32 GB 显存能装什么(模型选型建议)

    模型 精度 显存占用 可行性
    Qwen3.8-27B BF16 ~54 GB ❌ 放不下
    Qwen3.8-27B 在线 FP8 ~28.5 GB ⚠️ 紧,仅低并发(已验证路径)
    Qwen3.8-27B AWQ 4bit ~15 GB ⚠️ 需实测(AWQ 未验证)
    Qwen3-30B-A3B / Qwen3.8-35B-A3B(MoE) BF16/FP8 ~18–22 GB ✅ Triton MoE 已支持,性价比高
    Qwen3-14B / Qwen2.5-14B BF16 ~28 GB ✅ 稳
    Qwen3-8B / Qwen2.5-7B BF16 ~16 GB ✅ 稳、并发高
    GPT-OSS-20B 原生 MXFP4 ~13 GB ✅ 已验证(MoE 路径)

    7. 性能 / 调优要点

    1. 只跑单卡:gfx1201 不支持 TP/EP,--tp 1 是唯一选择。
    2. SGLANG_USE_AITER=0 必须设置:AITER 是 CDNA 专用,RDNA4 上会报错。
    3. 注意力后端锁死 triton,采样后端配 pytorch。
    4. --mem-fraction-static:32 GB 卡上给 0.85–0.90,留余量避免 OOM。
    5. --chunked-prefill-size 2048:长输入/混合负载下让 decode 不被长 prefill 卡住。
    6. KV cache 量化:--kv-cache-dtype fp8_e4m3 可进一步省显存(若模型/后端支持)。
    7. 大检查点加载慢:ROCm 下 host 内存注册可能耗时数分钟,属正常;PR 要求单线程加载。
    8. 若追求吞吐,优先选 MoE 小参数(Qwen3-30B-A3B 类)而非硬塞 27B 稠密。

    8. 风险与注意事项

    • PR #32092 未合并:属实验代码,可能不跟随最新 main;建议锁定其分支 commit 后不要再 git pull main。
    • 无预编译 wheel / 官方 Docker 镜像支持 gfx1201:本机也没装 Docker,因此源码构建是唯一现实路径。
    • 量化限制:不要用 awq_marlin / gptq_marlin / gguf / modelopt_fp8 / modelopt_fp4(Marlin/gguf 是 CUDA 专用)。
    • 构建时间长:sgl-kernel 全量 HIP 编译可能需 20–60 分钟,MAX_JOBS 可调(CPU 20 线程可设 MAX_JOBS=16)。
    • gfx1201 与 CDNA 不可混编:一份构建只对一个架构。

    9. 备选方案(若 SGLang 实验路径不稳)

    1. vLLM:已官方支持 gfx1200/gfx1201(其 Dockerfile.rocm_base 的 PYTORCH_ROCM_ARCH 含这两个目标),对 RDNA4 更成熟,同样有 ROCm 版安装/Docker 路径,是「想要稳定 OpenAI 兼容推理服务」时最直接的替代。
    2. llama.cpp / Ollama:你机器上已装 llama.cpp 且有 Qwen3.8-27B-Uncensored-Q5_K_M.gguf,现在就能跑,无需任何额外构建;适合本地对话/低门槛场景,但没有 SGLang 的连续批处理/radix cache 等高级特性。
    3. 若必须用 SGLang 的全套特性(radix cache、speculative decoding、结构化输出等),则按本方案 §4–§5 走 PR #32092。

    10. 参考链接 (感兴趣可以自查)

    • SGLang 官方 AMD GPU 文档
    • SGLang 官方安装文档
    • SGLang 量化兼容矩阵
    • GitHub issue #30599:官方 RDNA3/RDNA4 支持追踪
    • GitHub PR #32092:Add experimental gfx1201 inference support(本方案核心)
    • PyTorch ROCm 轮子索引
    • AMD Radeon/Ryzen PyTorch 安装指南

    11.后续查资料继续实验及恢复

    本机硬件 / 软件配置(实测)

    项目 值
    CPU Intel Core Ultra 7 265K(Arrow Lake,20 核 20 线程,最高 5.5 GHz,单 NUMA)
    内存 64 GB,8 GB swap
    GPU AMD Radeon AI PRO R9700(gfx1201 / RDNA4 / Navi 48,64 CU,300W)
    显存 32 GB
    硬盘 Kingston NV2 915 GB NVMe
    系统 Ubuntu 24.04.4 LTS,内核 7.0.0-31-generic
    ROCm 7.2.4(HIP 7.2.5),amdgpu 驱动 7.1.3
    Python 3.12.3

    12、SGLang 调研结论

    1. SGLang 官方 ROCm 支持只覆盖数据中心卡 gfx942(MI300)、gfx950(MI350);消费级 RDNA4 gfx1201 属实验性、未合并(官方 tracking issue #30599,PR #32092)。
    2. 最新稳定版 v0.5.19 的 sgl-kernel 白名单不含 gfx1201,需从源码 + 社区补丁构建。
    3. 已在本机从源码(release/v0.5.18 + gfx1201 补丁)构建并部署,模型 Qwen3.8-27B-AWQ。

    13、SGLang 部署结果(已被清理,此处留档)

    • 部署形式:systemd 用户服务 sglang,端点 http://127.0.0.1:30001。
    • 配置:AWQ 4-bit + float16 + triton 注意力 + CUDA graph 解码,显存 ~29.9/32 GB。
    • 实测速度:~4.3 tok/s(27B AWQ 在 RDNA4 上走未优化 Triton 反量化,偏慢)。
    • 结论:27B 在 R9700 上物理上限约 16.6 tok/s(社区 70 补丁 + FP8 极限),达不到 50 tok/s。

    14、快速方案研究结论

    • 要 ≥50 tok/s 只能换 7–8B 小模型,实测 ~98 tok/s(llama.cpp/Ollama 原生 gfx1201)。
    • 本机 llama.cpp(HIP 后端)实测 27B 可达 ~38–57 tok/s,远快于 SGLang 的 4.3 tok/s。

    15、最终清理(按用户要求)

    已删除:

    • SGLang 运行服务(systemd 用户单元 sglang.service + 软链)
    • ~/sglang-test/ 整个目录(含 25GB venv、227MB 源码、全部脚本与日志,共约 45GB)
    • ~/.cache/sglang 编译缓存
    • loginctl enable-linger(已还原为 disable)
    • 桌面 5 个 SGLang 相关文档(.md / .pdf)

    已保留(模型文件):

    • ~/models/Qwen3.8-27B-AWQ(18GB,HF 格式 AWQ 模型)
    • ~/models/Qwen3.5-0.8B(1.7GB)
    • ~/models/qwen3.8/(38GB:Qwen3.8-27B-Uncensored-Q5_K_M.gguf、Qwen3.8-27B-Q5_K_M.gguf、mmproj-f16.gguf)

    16、llama.cpp 恢复与测试(当前状态)

    • 服务:systemd qwen38.service(active 运行中 + enabled 开机自启)
    • 启动命令:/home/magicz890/llama.cpp/build/bin/llama-server
      • 模型 -m Qwen3.8-27B-Uncensored-Q5_K_M.gguf + --mmproj mmproj-f16.gguf
      • 别名 --alias qwen3.8,上下文 -c 131072(128K),KV 量化 q8_0
      • 推测解码 --spec-type draft-mtp --spec-draft-n-max 2,flash attention -fa on
      • -ngl all(全 GPU)、--host 0.0.0.0 --port 8080
    • 健康检查:/health → {"status":"ok"};/v1/models 正常(含多模态能力)
    • 推理测试:中文输出正确、3 路并发全 200、无错误日志
    • 实测解码速度:长生成 ~50 tok/s,短回答 90–105 tok/s(MTP 命中时)

    17、最终状态一览

    项 状态
    SGLang 服务/软件/缓存/文档 已全部删除(零残留)
    模型文件 保留在 ~/models/(共 ~57GB)
    llama.cpp(qwen38.service) 运行中、自启、端口 8080、稳定
    桌面文件 AMD_AI_Pro_R9700_SGLang_部署研究报告、ceshi/、llama_cpp服务端待机诊断报告.pdf、本文件

    常用管理命令

    # llama.cpp 服务
    systemctl status qwen38.service          # 查看状态
    sudo systemctl restart qwen38.service    # 重启
    journalctl -u qwen38.service -f          # 看日志
    
    # 测试接口
    curl http://127.0.0.1:8080/health
    curl http://127.0.0.1:8080/v1/chat/completions \
      -H "Content-Type: application/json" \
      -d '{"model":"qwen3.8","messages":[{"role":"user","content":"你好"}]}'
    
    随便聊聊 sg-lang llama.cpp r9700

  • Ubuntu 24 系统与 llama.cpp 服务器 健康度 · 功耗 · 温度控制 综合检查报告 (小白慢慢补图,我先报告完供大神审阅指正,谢谢!)
    Magic629M Magic629

    @AGI 谢谢分享,学习了。

    随便聊聊 ubuntu llama.cpp 服务器

  • Ubuntu 24 系统与 llama.cpp 服务器 健康度 · 功耗 · 温度控制 综合检查报告 (小白慢慢补图,我先报告完供大神审阅指正,谢谢!)
    Magic629M Magic629

    @terry 好的特哥,下次继续改进

    随便聊聊 ubuntu llama.cpp 服务器

  • 本人小白,希望得到论坛大神指点,在win系统和Ubuntu系统里部署本地大模型运行验证资料。
    Magic629M Magic629

    @imbiplaza-ASUS 我也想试试sglang怎么样?今晚是不是要搞搞看啥是sglang,我也很好奇。

    随便聊聊 本地模型 ubuntu

  • 小白熬夜瞎折腾、瞎写,后期补齐验收报告,请各位大神指正。同时感谢特哥提供的交流平台🙏🏻🙏🏻🙏🏻
    Magic629M Magic629

    @johnnybegood 🤝 🤝 🤝

    随便聊聊

  • 小白熬夜瞎折腾、瞎写,后期补齐验收报告,请各位大神指正。同时感谢特哥提供的交流平台🙏🏻🙏🏻🙏🏻
    Magic629M Magic629

    @terry 好的特哥,我在研究研究,后期补图。

    随便聊聊

  • 本人小白,希望得到论坛大神指点,在win系统和Ubuntu系统里部署本地大模型运行验证资料。
    Magic629M Magic629

    @williamlouis 感谢指点,我已换到Ubuntu24.04中,确实提速很明显。我在Ubuntu中部署的时候,显卡驱动安装时有几次失败,在彻底断电以后等待10秒,然后重启驱动加载成功,这个是我遇到的一个坑,希望其他人别遇到。

    随便聊聊 本地模型 ubuntu

  • 本人小白,希望得到论坛大神指点,在win系统和Ubuntu系统里部署本地大模型运行验证资料。
    Magic629M Magic629

    @imbiplaza-ASUS 谢谢指点!感谢🙏🏻

    随便聊聊 本地模型 ubuntu

  • Qwen3.8-27B 本地服务器部署与验收报告(AMD Radeon AI PRO R9700 32GB | llama.cpp HIP | 128K 上下文 | 多模态 | MTP 投机解码)请参考指正,谢谢!
    Magic629M Magic629

    @Xiaote 感谢小特指正,我这是AI跑的,我还在持续学习中。

    随便聊聊 qwen-27b r9700 llama.cpp

  • 小白熬夜瞎折腾、瞎写,后期补齐验收报告,请各位大神指正。同时感谢特哥提供的交流平台🙏🏻🙏🏻🙏🏻
    Magic629M Magic629

    @terry 好的,我慢慢学习补充,感谢特哥指正。

    随便聊聊

  • Ubuntu 24 系统与 llama.cpp 服务器 健康度 · 功耗 · 温度控制 综合检查报告 (小白慢慢补图,我先报告完供大神审阅指正,谢谢!)
    Magic629M Magic629

    主机名:magicz890-Ai
    操作系统:Ubuntu 24.04.4 LTS (Noble Numbat)
    内核:7.0.0-30-generic
    处理器:Intel Core Ultra 7 265K(20 线程)
    计算 GPU:AMD Radeon AI PRO R9700(32 GB)
    显示 GPU:Intel 核显(Arrow Lake-U,4K 输出)
    推理服务:qwen38.service(Qwen3.8-27B-Q5_K_M)

    本报告汇总了三次只读检查的完整结果:① 系统整体健康度与功耗;② 待机功耗与温度控制机制;③ 针对"学习 +日常办公 + 7×24 推理"用法的 GPU 功耗模式建议。所有数据均为实测,未执行任何修改操作。

    一、系统健康度与功耗报告

    1、系统概况
    2ae89b5f-c023-4bfa-bdaa-37232f63cd71-image.jpeg

    2、温度(全部正常)
    973bbe81-d828-4468-ac3e-57da93fe1c90-image.jpeg

    3、功耗(RAPL + rocm-smi 实测)
    1f9321c9-e436-4d8b-801a-e2c1ac3a7c3d-image.jpeg

    整机估算:推理时约 80–100 W,空闲时更低。功耗水平健康。

    4、llama.cpp 服务器(qwen38.service)
    48bf33a5-0df6-46f7-8aba-ce3c364fed01-image.jpeg
    5fb63038-3f4e-473e-b8cb-3c710945eaac-image.jpeg

    近期推理性能(日志实测,30 分钟内多次任务)

    • 生成速度:37–44 tokens/s(tg_3s 峰值 47.4 t/s)
    • Prompt 处理:163–420 tokens/s
    • MTP 草稿接受率:0.78–0.88,平均长度 2.57–2.76(投机解码效果很好)
    • 单次任务上下文 1.9–2.1 万 token,无截断、无报错

    日志健康度

    近 30 分钟日志全部为正常推理记录,无 error/warning。系统日志中仅有两类无害告警:gnome-shell dock 布局的常规噪音,以及 Canonical Livepatch 检查网络失败(livepatch.canonical.com 连接 EOF,会自动重试,不影响系统)

    5 结论

    • 系统健康度:优 ✅ —— 负载低、内存充裕、磁盘充足、CPU 温度 44°C、无 OOM/硬件错误。
    • llama.cpp 服务器:健康且活跃 ✅ —— 服务稳定运行 19 小时,推理吞吐 ~40 t/s,投机解码接受率 ~0.8,正在持续处理请求。
    • 功耗:CPU ~32 W + GPU ~50 W,整机推理时约 80–100 W,水平正常。
    • 唯一可留意点:GPU 显存温度 82°C 略偏高(推理满载时),以及显存占用 86%——均为 131k 长上下文 + 27B 模型的预期行为,暂无风险。

    二、整机待机功耗与温度控制深度检查报告

    重要前提:这台机器没有真正的"待机"状态——qwen38.service(llama-server)在持续对外服务,检查期间它一直在处理推理任务。因此下面的"待机功耗"实际上是"轻载基线":CPU 只忙 6.8%(推理在 GPU 上),但 GPU 随时会被唤醒。

    2.1 待机(轻载)功耗实测

    CPU 包(turbostat 两轮 5 秒采样)

    指标 第 1 轮 第 2 轮
    PkgWatt(整包) 32.8 W 31.5 W
    CorWatt(核心) 23.6 W 22.3 W
    GFXWatt(核显) 0.45 W 0.44 W
    RAMWatt 未测量(无 PMT 计数器) —
    CPU 忙碌度 6.8% 6.6%
    平均频率 254 MHz 237 MHz
    包温度 39 °C 39 °C

    GPU(Radeon AI PRO R9700,rocm-smi 多次采样)

    采样点 功耗 使用率
    采样 1 56 W(滑动平均) 3%
    采样 2(6 秒后) 23 W 3%

    GPU 空闲时自动降频:sclk 1128 MHz(最高 2350)、mclk 96 MHz(最高 1258)——降频策略工作正常。

    其他部件

    部件 状态
    NVMe (nvme0n1) 温度 40 °C,IO 仅 ~184 KB/s,基本静默
    核显(显示输出) 0.45 W,RC6 空闲态 17.6%
    内存控制器 (SAM) 99.2% 时间处于 mc6 深度空闲

    整机待机功耗估算

    部件 功耗
    CPU 包 ~32 W
    GPU(空闲波动) ~23–56 W
    内存 + 主板 + NVMe + 外设(估算) ~15–25 W
    整机合计(轻载基线) 约 70–110 W

    对比:推理满载时 CPU ~32 W + GPU 明显升高,整机约 100–150 W。

    2.2 温度控制情况

    当前温度(全部健康)

    部件 温度 评价
    CPU 包 39–40 °C 很凉
    CPU 核心 38–40 °C 正常
    GPU edge 62 °C(推理时 68–72) 正常
    GPU junction 74 °C(推理时 79) 正常
    GPU 显存 71 °C(推理峰值 82–91) 可接受,见建议
    NVMe 40 °C 正常
    主板 (acpitz) 27.8 °C 正常

    热保护与调频机制(重点检查项)

    检查项 结果 评价
    热节流计数(package/core) 0 次 / 0 次 ✅ 从未触发过热保护
    CPU 调频驱动 intel_pstate + HWP 硬件调频 ✅ 最优方案
    调频策略 powersave,EPP:核心 0x40(balanced)、包 0x80(powersave) ✅ 偏节能配置
    系统电源策略 power-profiles-daemon = balanced ✅ 合理
    C 状态驻留 c1 40% / c6 30% / c7 22% ✅ 深度睡眠使用充分
    内存控制器空闲 mc6 99.2% ✅ 优秀
    GPU 空闲降频 sclk/mclk 均降至最低档 ✅ 正常
    GPU 功耗模式 BOOTUP_DEFAULT(默认档) 可用,见建议
    磁盘/定时任务 无异常 IO;定时任务正常 ✅

    部件健康度

    • NVMe:磨损 3%、备用块 100%、无 critical warning、通电 7269 小时——非常健康。
    • llama-server 服务:运行 19 小时无重启、无错误日志,推理 37–44 t/s,MTP 接受率 0.74–0.88。
    • 系统日志仅两类无害告警:gnome-shell dock 布局噪音、Canonical Livepatch 联网检查失败(自动重试中,不影响运行)。

    2.3 结论

    • 温度控制:优秀 ✅ —— 零热节流事件,CPU 39°C / GPU 62–74°C,HWP + powersave + 深度 C 状态全部生效,空闲降频正常。
    • 待机功耗:正常但偏高(约 70–110 W) —— 主要构成是 CPU 包 ~32 W(265K 是 125W TDP 的桌面级芯片,基线功耗天然不低)+ GPU 23–56 W + 平台开销。由于 LLM 服务器 7×24 运行,机器永远达不到纯待机。

    2.4 建议(仅供参考,未执行任何一项)

    1. 想测真实待机功耗:临时 systemctl stop qwen38 后再用 turbostat 采样,可看到纯平台基线(预计 CPU 包降到 ~20–25 W,整机 ~40–60 W)。测完 systemctl start qwen38 恢复。
    2. GPU 功耗模式:当前是 BOOTUP_DEFAULT。若主要跑推理,可考虑 COMPUTE 档,对计算负载的功耗/性能调度更优;混合用途则保持现状即可(详见报告三)。
    3. 显存温度:推理满载时 82–91°C 属规格内但偏高,建议留意机箱风道;R9700 是涡轮卡,确保进风口无遮挡。
    4. 加监控:llama-server 启动参数加 --metrics,之后 /metrics 端点可出 Prometheus 指标,配合现有 sysstat 定时任务做长期追踪。
    5. Livepatch 告警:livepatch.canonical.com 连接失败在反复重试,若不用 Livepatch 可忽略;在意日志干净可考虑停用该服务。
    6. 内存功耗不可测:turbostat 的 RAMWatt 为 0(该平台无 PMT 计数器),如需精确整机功耗,最可靠的方法是用外置功率计(插排计量插座)实测墙端功耗。

    三、GPU 功耗模式(COMPUTE 档)详细建议

    3.1 关键发现:AMD 卡是"纯计算卡"

    GPU 型号 显示输出 角色
    card0 Intel 核显 (Arrow Lake-U) HDMI-A-1 已连接,4K 3840×2160 负责所有显示/办公/学习画面
    card1 AMD Radeon AI PRO R9700 无任何显示器连接 纯计算,只跑 LLM 推理

    办公、学习、看网页、写文档时,AMD 卡完全空闲,画面全由 Intel 核显 + CPU 承担。AMD 卡唯一的活儿就是给 llama-server 做推理。对一块"只干计算、不碰显示"的卡,COMPUTE 档就是为它量身定做的。

    3.2 各档位差异(基于该卡实际 DPM 参数)

    档位 最低核心频率 功耗上限 加速 (Boost) 定位
    BOOTUP_DEFAULT(当前) ~500 MHz 800(较保守) 自动 通用均衡,偏省电
    COMPUTE 600 MHz(固定下限) 16384(高,放开) 解除限制 持续计算优化
    POWER_SAVING ~500 MHz 0 受限(3) 最省电,牺牲性能
    3D_FULL_SCREEN / WINDOW_3D ~500 MHz 0 满加速(1) 游戏,瞬时高帧
    VIDEO ~500 MHz 500 自动 视频播放省电
    VR 600 MHz 16384 解除 与 COMPUTE 几乎相同

    核心差异两点:

    1. COMPUTE 把核心频率下限抬到 600 MHz(默认约 500),空闲时略高一点点;
    2. COMPUTE 放开了功耗上限(16384 vs 800)并解除加速限制——长时间推理时 GPU 能维持更高、更稳定的频率,不容易被功耗墙压频。

    3.3 建议:切到 COMPUTE 档

    理由(针对"学习 + 办公 + 7×24 推理"场景):

    1. 负载性质完全匹配:AMD 卡 100% 的负载是推理(持续计算),COMPUTE 正是为这种"长时间、稳定、吃算力和显存带宽"的负载调的。
    2. 减少长推理压频:单次任务动辄 2–4 万 token、跑十几秒,属持续负载。默认档的保守功耗墙(800)更易触发降频;COMPUTE 放开功耗墙后,长任务的 tokens/s 更稳、峰值更高。
    3. 没有"显示"副作用:显示器接在 Intel 核显上,COMPUTE 抬高的频率下限不会让办公画面变卡或更耗电——那块卡办公时根本闲着。
    4. 代价极小:600 vs 500 MHz 的下限差,空闲功耗只多 ~1–2 W,可忽略;温度方面 GPU 现在才 62–74°C,余量充足。

    什么情况下不建议切(供权衡):

    • 若把"极致省电"排在"推理速度"前面,且能接受推理略慢/略不稳,保持 BOOTUP_DEFAULT 也完全没问题——它本就是安全的均衡档。
    • 但就"卡只干推理"的用法看,COMPUTE 的收益(更稳更快的推理)明显大于代价(多 1–2 W 空闲功耗)。

    一句话结论:建议切 COMPUTE。 它和这块纯计算卡的用法是最佳匹配,收益实在、代价可忽略。

    3.4 如何验证(A/B 测试,建议先测再定)

    1. 记录基线(当前 BOOTUP_DEFAULT):跑一个固定 prompt 的推理,记下 tokens/s、rocm-smi --showpower、GPU 温度。

    2. 临时切档(立即生效,重启即还原,不改任何文件):

      echo 5 | sudo tee /sys/class/drm/card1/device/pp_power_profile_mode
      

      (5 = COMPUTE;改完用 cat 同一文件确认,* 号会移到 COMPUTE 上)

    3. 重复同样的推理,对比 tokens/s、功耗、温度。

    4. 满意就保留,不满意 echo 0 | sudo tee ... 切回默认。

    注意:pp_power_profile_mode 是运行时设置,重启后会回到 BOOTUP_DEFAULT。

    3.5 若决定长期用 COMPUTE,如何持久化(三选一)

    1. systemd 覆盖 qwen38.service(最贴合,随推理服务一起生效):加一个 ExecStartPre 在启动 llama-server 前写入档位。
    2. udev 规则:在 amdgpu 设备就绪时自动写入,开机即生效,与具体服务解耦。
    3. 独立 oneshot systemd 服务:开机跑一次 echo 5 > .../pp_power_profile_mode。

    三者都能做到"开机自动 COMPUTE",选 1 最省事(和推理服务绑定)。

    3.6 补充提醒

    • 切档后留意一次满载温度:显存峰值到过 82–91°C,COMPUTE 放开功耗墙后满载会略热,确认机箱风道没问题即可(R9700 是涡轮卡,别堵进风口)。
    • 这个改动只影响 AMD 计算卡,对办公/学习的 Intel 核显显示路径零影响。
    • 按用户要求,本次未做任何修改,以上全部是查看 + 建议。

    本报告由只读检查生成,所有数据均为实测值。检查过程中未对系统、服务或配置做任何修改。生成工具:weasyprint(HTML → PDF),字体:Noto Sans CJK SC。

    刚学会用.md文件,后期是用.md文件复制过来的,请包含,版面有点乱。小白积极参与请大家多多包涵

    刚拍了张照片测试下
    微信图片_20260908235715_40_4.jpg

    微信图片_20260908235714_39_4.jpg

    随便聊聊 ubuntu llama.cpp 服务器

  • Qwen3.8-27B 本地服务器部署与验收报告(AMD Radeon AI PRO R9700 32GB | llama.cpp HIP | 128K 上下文 | 多模态 | MTP 投机解码)请参考指正,谢谢!
    Magic629M Magic629

    一、部署

    1、环境检测
    1)rocm-smi --showproductname 确认 gfx1201(R9700 原生识别);
    2)runpm=0 通过 modprobe.d 生效(不在内核 cmdline,但内核参数文件确认 = 0,状态正确);
    3)工具链:git/gcc/g++/hipcc 已有;cmake、aria2 缺失,通过 apt 补装;
    4)lama-server 运行库依赖:RUNPATH 指向 /opt/rocm-7.2.4/lib,ldd 无缺失项。

    2、编译 llama.cpp(HIP / gfx1201)
    git clone https://github.com/ggml-org/llama.cpp # 锁定 master 提交 03dbcc5(GitHub tag 拉取超时,改用提交号锁定,等效)
    cd llama.cpp
    cmake -B build -DGGML_HIP=ON -DAMDGPU_TARGETS=gfx1201 -DCMAKE_BUILD_TYPE=Release
    cmake --build build -j20

    build/bin/llama-server、llama-bench 等,编译一次通过

    启动时 llama-bench 输出确认: found 1 ROCm devices … AMD Radeon AI PRO R9700, gfx1201 (0x1201) ,HIP运行时原生工作,无需 HSA_OVERRIDE_GFX_VERSION 兜底。

    3、模型下载
    #自行下载好(两文件均做 SHA256 校验,与 Hugging Face 官方值完全一致)
    a5fb7aa7-a92b-4472-aeba-7cde91b05fbd-image.jpeg

    4、参数名核对
    36c5d244-4fe8-4258-9a1a-79d820bb536c-image.jpeg

    二、服务器配置

    1、完整启动命令(文件夹名称请自行修改)
    /home/magicz890/llama.cpp/build/bin/llama-server
    -m /home/magicz890/models/qwen3.8/Qwen3.8-27B-Q5_K_M.gguf
    --mmproj /home/magicz890/models/qwen3.8/Qwen3.8-27B-mmproj-f16.gguf
    --alias qwen3.8
    -c 131072 \ # 128K 上下文
    --override-kv qwen35.context_length=int:131072 \ # 让前端界面正确显示 128K(而非模型原生
    256K)
    -ctk q8_0 -ctv q8_0 \ # KV 缓存量化(省一半显存+提速,质量几乎无损)
    --spec-type draft-mtp \ # ★ MTP 投机解码(必开,实测 ≈1.6x 提速)
    --spec-draft-n-max 2 \ # ★ 草稿数=2(AMD 官方 R9700 建议值,实测优于 3)
    -fa on \ # FlashAttention(长上下文提速关键)
    --load-mode none \ # 权重钉死显存(对应 LM Studio「取消勾选 Try mmap」)
    --reasoning-effort medium \ # ★ 思考强度(默认 xhigh 会烧掉几十 K 上下文)
    -ngl all -np 1 \ # 全层进显存、单槽位(KV 池全归单用户)
    --temp 0.3 --top-p 0.9 \ # 低温采样:准确度↑ + MTP 接受率↑(94.2%)
    --host 127.0.0.1 --port 8080

    2、参数作用对照表
    8f63ec9a-6e5c-4ee0-b3e8-ab2e87bd01af-image.jpeg

    3、systemd 单元要点(/etc/systemd/system/qwen38.service)
    [Service]
    Type=simple
    User=magicz890
    ExecStart=…(上节完整命令)
    Restart=on-failure # 崩溃自愈(实测 kill -9 后 5 秒内自动拉起)
    RestartSec=5
    TimeoutStartSec=600
    LimitNOFILE=65536
    [Install]
    WantedBy=multi-user.target # 开机自启

    4、Open WebUI 前端(open-webui.service,端口 3000)(我是用deepseek harness)(自行修改文件名)
    本机无 docker,ghcr.io 拉取在国内网络风险高,改用官方同样支持的 pip + venv + systemd 方案:
    [Service]
    User=magicz890
    Environment=DATA_DIR=/home/magicz890/open-webui/data
    Environment=OPENAI_API_BASE_URL=http://127.0.0.1:8080/v1
    Environment=OPENAI_API_KEY=dummy
    Environment=PORT=3000
    Environment=HF_ENDPOINT=https://hf-mirror.com # ★ 关键:修复启动时卡死在 huggingface.co 的问
    题
    ExecStart=/home/magicz890/open-webui/venv/bin/open-webui serve --port 3000
    Restart=on-failure

    版本:Open WebUI v0.11.3。首次启动会从 hf-mirror 下载默认 RAG 嵌入模型(约 90MB),之后秒开。

    三、性能实测数据(实际使用中速度比测试速度快)

    1、解码速度(llama-server 官方计时,含 MTP)
    b5250c1a-7e70-4da8-9dc0-e5c4a41c92f6-image.jpeg

    注:128K 两次实测差异主要来自生成内容(简短回答 vs 长篇解释)导致的草稿接受率波动,均落在文档预告的 25~35 t/s 物理带宽临界区;日常 ≤64K 场景稳超 40 t/s。

    2、llama-bench 基准(无 MTP 裸速度,验证带宽账)
    40119ef8-c910-4d7d-ab82-ba3ad8806809-image.jpeg

    3、预填充(prompt processing)实测
    1)128K 冷预填充:全量 116,525 token 用时 333.4 秒(平均 349 t/s),约 5.6 分钟——符合文档「全量128K 一次性约 3~6 分钟」;
    2)分段速率:前 4K 段 1171 t/s,随 KV 增长缓降至 16K 处的 880 t/s;
    3)后续增量对话:前缀命中 KV 缓存,首 token 延迟 < 0.5 秒。

    4、显存实测(rocm-smi)
    bfef9310-8dae-4415-a6b4-4fcf504e7946-image.jpeg

    四、功能验证

    1、文本对话
    数学概念题(矩阵乘法三句话解释 + 2×2 示例):回答结构清晰、示例正确,46.6 t/s(墙钟)。

    2、长文精确检索(Needle-in-Haystack)
    7f4463a8-744a-4b4e-b8bb-019fc669b112-image.jpeg

    3、多模态(mmproj 视觉)
    测试图:程序生成的 2026 年月度 GPU 利用率柱状图(含 6 个月数值、峰值标注、费用注释)。
    6b0f16d9-5e7f-4a2a-99bd-d00f2592a617-image.jpeg

    4、API 兼容性
    GET /health → {"status":"ok"} ; GET /v1/models → 模型名 qwen3.8 ;OpenAI 格式 chat/
    completions(含 image_url 多模态输入)全部正常。

    五、稳定性验证清单(已修复网络暴露面)
    d367e563-46ca-4dab-94ca-7c52475bebfc-image.jpeg

    六、偏差记录(模型文件可事先下载好)
    1)下载通道:huggingface.co 被网关 fake-IP 劫持,改用 /etc/hosts 固定 hf-mirror.com 真实 IP(X.X.X.X)+ aria2 16 连接;mmproj 因 CDN 不支持 aria2 Range 改用 curl 分段并行。
    2)Open WebUI 安装方式:本机无 docker,改 pip + venv + systemd(官方支持),并设置 HF_ENDPOINT=https://hf-mirror.com 解决启动卡死
    3)llama.cpp 版本锁定:GitHub tag 拉取超时,改锁定 master 提交 03dbcc5(等效)。
    4)文档笔误修正: -lm none → --load-mode none ;llama-bench 无 -c 参数(用 -p/-n );MTP=2 → --spec-draft-n-max 2 。
    5)最终温度取 0.3:文档允许范围 0.3~0.5 内取低值,实测 MTP 接受率 94.2%(0.4 为 83.9%)、28.7K 解码 42.4 t/s(0.4 为 40.7),准确度与速度双赢。
    6)MTP 草稿数维持 2:对照实验证实 AMD 官方「R9700 设 MTP=2」建议;n-max=3 实测更慢。
    7)上下文元数据覆盖:GGUF 原生元数据 context_length=262144(256K),前端会把 256K 当服务上限显示;已用 --override-kv qwen35.context_length=int:131072 覆盖为 128K,与实际服务能力一致(256K 需 ~34GB 显存,本卡放不下)。
    8)补装 ffmpeg:llama.cpp 的 WebP 图片解码依赖 PATH 中的 ffmpeg/ffprobe 二进制(MTMD_VIDEO 路径);DeepSeek Harness 会把带透明通道的 PNG 归一化为 WebP 后发送,未装 ffmpeg 时服务端报400「Failed to load image or audio file」。已 apt 安装 ffmpeg,拖图恢复正常。

    七、使用手册
    1)日常入口(我后期加入deepseek harness)
    网页聊天(OpenWebUI):http://127.0.0.1:3000 #首次访问创建管理员账号;对话框可直接拖图上传(OCR/图表/截图问 bug)
    推理 API:I http://127.0.0.1:8080/v1 #OpenAI 兼容,模型名 qwen3.8,任意客户端可调用

    2) API 调用示例(多模态):
    curl http://127.0.0.1:8080/v1/chat/completions
    -H "Content-Type: application/json"
    -d '{
    "model": "qwen3.8",
    "messages": [{
    "role": "user",
    "content": [
    {"type": "text", "text": "这张电路图里有什么问题?"},
    {"type": "image_url", "image_url": {"url": "data:image/png;base64,<BASE64>"}}
    ]
    }]
    }

    3) 常用运维命令(记得修改到自己的文件夹)
    journalctl -u qwen38 -f # 看推理日志(含每请求 eval 速度、MTP 接受率)
    sudo systemctl restart qwen38 # 重启推理服务(约 5 秒恢复)
    sudo systemctl restart open-webui # 重启网页前端
    rocm-smi # 盯显存/频率/温度/功耗
    /home/magicz890/llm-deploy/chat-test.sh "问题" # 命令行测速
    /home/magicz890/llm-deploy/bench.sh # llama-bench 基准

    注意事项:
    图像 tokens 计入 128K 预算:多图长对话会加速填满上下文,控制单轮贴图数量;
    MTP 不开 = 自罚约 40% 速度,是 30 t/s 目标的第一依赖,勿删除;
    思考链是隐形的「上下文+速度」双重杀手,reasoning-effort 必须保持 medium;
    显存余量始终 ≥3GB,勿把 -c 拉到贴边;
    amdgpu.runpm=0 与 SMU 修复配置不要被任何「优化脚本」覆盖;
    DKMS 驱动随内核升级自动重编,升级完重启一次服务即可。

    八、128K 速度临界点与「压线四招」
    128K 全程填满时解码落在 23~26 t/s(R9700 640GB/s 带宽物理上限决定)。需要更高速度时按序启用:
    150cf2aa-d08c-4630-83b9-c8ff83b7d9cb-image.jpeg

    256K 说明(供参考):Q4_K_M + KV q8_0 可塞下 256K(约 34GB 会略超本卡),或 Q5 配 KV q4_0(有长文退化风险);建议主力固定 128K + Q5,偶尔超长任务再起 Q4_K_XL + 200K 的第二 profile 按需切换。

    九、关键实测原始数据

    llama-bench(无 MTP)

    pp8192: 958.88 ± 5.47 t/s tg128: 26.02 ± 0.02 t/s
    build: 03dbcc5 | backend: ROCm | ngl: 999 | fa: on

    llama-server(MTP=2 最终配置 temp 0.3)

    26-token 提示: eval 8353ms / 400 tok → 47.8 t/s | 接受率 81.5%
    28.7K 上下文: eval 1745ms / 75 tok → 42.4 t/s | 接受率 94.2%(mean len 2.88)
    116.5K 冷预填充: prompt eval 333.4s / 116525 tok → 349 t/s(前段 1171 t/s)
    116.5K 解码: eval 19533ms / 451 tok → 23.0 t/s(长文生成)
    多模态图表: 800 prompt tok(图≈774)→ 34.0 t/s,6 值全对
    显存 @128K 满载: 27.03GB used / 34.21GB total(79%)
    GPU @满载: 2555 MHz | 244W | 63°C
    自愈: kill -9 → systemd 5s 内重启 → health ok

    十、先到这吧……

    随便聊聊 qwen-27b r9700 llama.cpp

  • 小白熬夜瞎折腾、瞎写,后期补齐验收报告,请各位大神指正。同时感谢特哥提供的交流平台🙏🏻🙏🏻🙏🏻
    Magic629M Magic629

    第一张图贴错了,我现在用的系统是Ubuntu24.04,不好意思,现在不知道还能修改不?目前使用比Win11运行中Token输出快10%-15%。

    随便聊聊

  • 本人小白,希望得到论坛大神指点,在win系统和Ubuntu系统里部署本地大模型运行验证资料。
    Magic629M Magic629

    @williamlouis 我换成Ubuntu24.04以后,Token一般可以稳定在35-45之间。除非上下文用到100K后会下降到32左右。处理一般任务足够了,短上下文可以在43左右。

    随便聊聊 本地模型 ubuntu

  • 小白熬夜瞎折腾、瞎写,后期补齐验收报告,请各位大神指正。同时感谢特哥提供的交流平台🙏🏻🙏🏻🙏🏻
    Magic629M Magic629

    一、部署
    1、硬件与系统环境
    9b4d56d2-e412-4b8c-9490-6c36da8c9683-image.jpeg

    2、部署基础资料
    97149613-2e17-4542-aa70-6be8842dfbdd-image.jpeg

    3、显存依据
    ce8f5c7f-b882-4cf3-b273-8afed14bbc30-image.jpeg

    4、部署方案
    1.)Docker方式(首选,完全不懂系统ROCm7.2.4)
    4b7fb593-9b4f-4e31-98ab-2e3c06b959d2-image.jpeg

    pip方式(备选:需Python3.14虚拟环境)
    b1d0d2a6-8ac2-4e23-8bcd-ae67fc5ad30a-image.jpeg

    2.)Ollama / llama.cpp(单用户 / 桌面体验)
    fc268483-159b-4b1f-bf3d-b54d66be4289-image.jpeg

    3.)LM Studio(图形界面速开)
    c527e89e-06a9-4d59-806b-a581ea682574-image.jpeg

    5、 性能预期
    7b604f5b-9ef7-42ad-b8a5-b99a26aa1e95-image.jpeg

    6、本机的特定事项
    e34020d6-8d0a-4d6c-9a52-e42e51aedac2-image.jpeg

    二、本机四项硬指标定制的最终方案

    1、 单用户使用:单用户 decode 是纯显存带宽瓶颈,正是 llama.cpp 系最擅长的场景。

    2、 128K+ 上下文:32GB 正好是社区公认「长上下文 + MTP + 视觉」全都要的起点档。

    3、 ≥30 t/s:短/中上下文(≤64K)轻松 40~55 t/s;128K 全程填满时约 25~35 t/s,属R9700 的 640 GB/s 带宽物理上限决定的临界区,须靠 MTP 与量化压线。

    4、稳定 + 准确:关键在量化档位 + reasoning effort + 采样温度三个设置

    三、 关键数字分析
    310954d5-e44c-40bd-8e90-24a2c4c543bb-image.jpeg

    四、搭建步骤

    ① 环境保持

    保持 amdgpu.runpm=0(已修复的 SMU 挂起问题,是长期稳定运行的命根子)

    rocm-smi --showproductname # 确认显示 gfx1201

    ② 编译 llama.cpp(ROCm 7.2.4 直接可用)
    git clone https://github.com/ggml-org/llama.cpp && cd llama.cpp
    cmake -B build -DGGML_HIP=ON -DAMDGPU_TARGETS=gfx1201 -DCMAKE_BUILD_TYPE=Release
    cmake --build build -j20

    兜底:官方 AMD 实测 51.8 t/s 就是用 Vulkan 后端跑的;HIP 编译遇阻时,直接下官方预编译 Vulkan 版二进制同样达标。

    ③ 下载模型
    huggingface-cli download unsloth/Qwen3.8-27B-GGUF UD-Q5_K_XL.gguf
    --local-dir /home/magicz890/models/qwen3.8 (我的部署文件夹)

    备选:AtomicChat/Qwen3.8-27B-GGUF 的 AD-Q5_K_M(20.2GB,质量再高半档)

    需视觉:加下 DhruvalLabs 的 mmproj

    ④ 启动服务(核心参数全在这条命令里)

    ./build/bin/llama-server
    -m /home/magicz890/models/qwen3.8/Qwen3.8-27B-UD-Q5_K_XL.gguf
    -c 131072 \ # 128K 上下文
    -ctk q8_0 -ctv q8_0 \ # KV 缓存量化:省一半显存+提速,质量几乎无损
    --spec-type draft-mtp \ # ★ MTP 投机解码(对应 LM Studio 的 MTP=2),必开
    -fa on \ # FlashAttention:长上下文提速关键
    -lm none \ # 对应 LM Studio 的「取消勾选 Try mmap」,权重钉死显存
    --reasoning-effort medium \ # ★ 控制思考链长度,省上下文+提速+不掉质量
    -ngl all \ # 全部层进显存
    -np 1 \ # 单用户 1 个槽位,KV 池全归你
    --temp 0.4 --top-p 0.9 \ # 低温采样:准确度↑ + MTP 草稿接受率↑(双重提速)
    --host 127.0.0.1 --port 8080

    ⑤ 网页前端 + 开机自启
    docker run -d --name open-webui --restart unless-stopped -p 3000:8080
    -e OPENAI_API_BASE_URL=http://127.0.0.1:8080/v1
    -e OPENAI_API_KEY=dummy
    -v open-webui:/app/backend/data
    ghcr.io/open-webui/open-webui:main

    systemd 单元( /etc/systemd/system/qwen38.service )要点: User=magicz890 、 ExecStart=上述完整命令 、Restart=on-failure 、 RestartSec=5 。

    ⑥ 部署后验收
    ./build/bin/llama-bench -m 模型路径 -c 8192 -n 64 # 先看短上下文速度
    rocm-smi # 跑推理时盯着 GPU 频率,确认没卡在 idle 时钟

    五、速度预期
    9e68a1c6-1ec8-4d27-bdcb-e2aa5b1b9f2f-image.jpeg

    六、 准确度保障清单(按重要性排序)
    a6ddf4b3-4b74-42cb-a67e-9845e38c1b5c-image.jpeg

    七、7 稳定性保障清单(RDNA4 两个已知坑均已规避)
    a155efd9-9eb3-49e0-8845-c75ba2e4f278-image.jpeg

    八、关于 256K 上下文的说明
    917f61d3-a138-4db7-8cc9-5e1c6b4bbeb6-image.jpeg

    九、注意事项
    bb71f757-8da3-4fe6-9401-648ff43fd8e1-image.jpeg

    三、 多模态(视觉)方案
    1、知识点
    9ec83683-849a-43a9-800c-a3a7f8d36ebf-image.jpeg

    2、工作原理与显存账
    7d933919-34f5-4ef1-930f-17ca59fb404c-image.jpeg

    结论:视觉不用降量化档,Q5_K_M 主力地位不变;只有 Q6_K 因余量不足被排除。

    3、下载

    DhruvalLabs 的 VLM 版 GGUF 仓库(主权重 + mmproj 配套,官方架构同源)

    huggingface-cli download DhruvalLabs/Qwen3.8-27B-GGUF
    Qwen3.8-27B-Q5_K_M.gguf Qwen3.8-27B-mmproj-f16.gguf
    --local-dir /home/magicz890/models/qwen3.8
    mmproj 必须与主权重配套(同一仓库、同一架构),不同作者混用会导致图像输出乱码或崩溃。

    4、 最终启动命令
    ./build/bin/llama-server
    -m /home/magicz890/models/qwen3.8/Qwen3.8-27B-Q5_K_M.gguf
    --mmproj /home/magicz890/models/qwen3.8/Qwen3.8-27B-mmproj-f16.gguf \ # ★ 视觉投影
    -c 131072 \ # 128K 上下文
    -ctk q8_0 -ctv q8_0 \ # KV 缓存量化
    --spec-type draft-mtp \ # MTP 投机解码(必开)
    -fa on \ # FlashAttention
    -lm none \ # 权重钉死显存
    --reasoning-effort medium \ # ★ 思考强度(默认 xhigh,必须压)
    -ngl all -np 1 \ # 全层进显存、单槽位
    --temp 0.4 --top-p 0.9 \ # 低温采样(图像 OCR/图表理解也受益)
    --host 127.0.0.1 --port 8080
    懒人方式: --hf-repo DhruvalLabs/Qwen3.8-27B-GGUF:Q5_K_M 会自动下载主权重和 mmproj(llama-server 内置支持)。

    5、使用方式
    ① Open WebUI(推荐,零成本)
    OpenAI 兼容接口原生支持 image_url ,对话框直接拖图上传即可:OCR、图表分析、截图问 bug 都能用。

    ② 直接调 API
    curl http://127.0.0.1:8080/v1/chat/completions
    -H "Content-Type: application/json"
    -d '{
    "model": "qwen3.8",
    "messages": [{
    "role": "user",
    "content": [
    {"type": "text", "text": "这张电路图里有什么问题?"},
    {"type": "image_url", "image_url": {"url": "data:image/png;base64,<BASE64>"}}
    ]
    }]
    }'

    ③ 视频
    模型本身支持小时级长视频,但 llama.cpp 对该模型的视频采样支持属于前沿(官方长视频建议走 vLLM/
    SGLang 调 video_preprocessor_config )。建议:图片路线先用 llama.cpp 主力,有长视频刚需再单独起官方vLLM 容器。

    6、 多模态场景注意事项
    1)图像 tokens 计入 128K 预算:连续贴图的长对话比纯文本更快填满上下文,控制单轮贴图数量;
    reasoning-effort medium 在此更重要(省下的思考长度就是图像空间)。
    2)默认思考强度是 xhigh:不设 --reasoning-effort 会「雷霆大思考」烧掉几十 K 上下文;medium 是底
    线,图多时用 low;也可透传 chat_template_kwargs: {"enable_thinking": true, "reasoning_effort":"medium"} 。
    3)低温采样对视觉任务同样重要:OCR/图表/数学题在 temp 0.3~0.5 下准确率明显更高,还顺带提高 MTP 草稿接受率。
    4)别上 Q6_K 开视觉:余量只有 ~2GB,多图并发容易 OOM;Q5_K_M 是视觉场景的天花板档。
    5)KV 缓存保持 q8_0:图像 tokens 会进 KV,q4_0 对长文档/图表问答有可测退化。
    6)MTP 与视觉无冲突:32GB 档验证过「视觉+MTP+128K」同开;个别版本 mmproj 报错时优先升级最新llama.cpp(RDNA4 修复一直在进)。

    7、最终档位表
    051a2133-c927-42bd-9fd1-4ff94b2d3ed7-image.jpeg

    8、本机硬件参考
    93675211-6a6c-43ba-a78d-789c188a50b3-image.jpeg

    四、验收

    1、总结:直接走「llama.cpp HIP 自编译 + DhruvalLabs Q5_K_M + mmproj + MTP(=2) + KVq8_0 + FlashAttention + 128K + reasoning-effort medium + 低温采样(temp
    0.3)」, 前端 Open WebUI,systemd 常驻——这是针对「单用户、128K+、≥30 t/
    s、稳定准确、多模态」全部需求、 在 R9700 32GB 上经过社区实测验证并已在本机实
    测复核的最优组合; 128K 填满时的速度临界点按「压线四招」处理。

    2、需求对标
    02110a97-69e6-41c4-8e7f-50ad4d4055a6-image.jpeg

    3、快照
    a366aefd-998e-4956-bcc0-1ee86aafbf65-image.jpeg

    随便聊聊

  • 本人小白,希望得到论坛大神指点,在win系统和Ubuntu系统里部署本地大模型运行验证资料。
    Magic629M Magic629

    @terry 谢谢特哥

    随便聊聊 本地模型 ubuntu

  • 本人小白,希望得到论坛大神指点,在win系统和Ubuntu系统里部署本地大模型运行验证资料。
    Magic629M Magic629

    @kop-wang 感谢🙏

    随便聊聊 本地模型 ubuntu

  • 本人小白,希望得到论坛大神指点,在win系统和Ubuntu系统里部署本地大模型运行验证资料。
    Magic629M Magic629

    这几天一直在看特哥的视频,真的收获很大,先特此表达一下感谢🙏🏻。

    同时也想借此机会请教一个问题。最近我入手了一张 AMD AI Pro R9700 显卡,并在 AI 助手的帮助下,在本地部署了 Qwen3.8-27B 模型,主要用于日常实验和办公学习。我本人算是纯小白,不太懂底层技术,基本是靠 AI 一步步指导完成的。

    使用几天后,我注意到一个现象:在上下文长度设为 256K 的情况下,token 生成速度从原来的 30+ 降到了 20+ Tokens/s,性能有一定回落。

    由于在特哥的视频里经常听到,在 Ubuntu 系统下部署模型,性能和稳定性会更有优势,所以我特意让帮我部署的 AI 查了相关资料,并尝试验证这个说法是否成立。不过得到的反馈是“提升空间不大,没必要再折腾”。

    考虑到自己经验有限,还是想把这几天的部署和测试资料整理出来,发到论坛里供大家参考,也真心希望能听听各位有经验的大佬的看法和建议。

    提前谢谢各位了~!🙏

    llama-cpp-局域网AI服务器-完整部署手册.pdf llama-cpp-模型服务启动与使用指南.pdf llama-cpp-Qwen3.8-部署与测试报告.pdf llama-server修改规划与验证结果-2026-09-02.pdf
    截屏2026-09-01 04.54.38.png
    截屏2026-09-02 02.28.49.jpg

    随便聊聊 本地模型 ubuntu
  • 登录

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