<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[NVIDIA Quadro RTX 5880 Ada Generation 48GB + vLLM + Qwen3.6-35B-A3B-FP8 + tailscale + 多个Hermes Agent客户端]]></title><description><![CDATA[<p dir="auto">最近用工作站搭建了vLLM+Hermes agent, 分享下教程</p>
<p dir="auto">Linux OS： Ubuntu 24.04 LTS<br />
· CPU：2 颗 Intel Xeon 8168（每颗 24 核 48 线程，基础频率 2.7GHz）<br />
· 主板：Intel Xeon 1代/2代 PIODRG 双路主板<br />
· 内存：三星 DDR4 4*32GB 2933MHz RECC<br />
· 系统盘：金士顿NVMe SSD，2TB容量<br />
· 存储盘：希捷企业级 8TB 硬盘，256MB 缓存，7200RPM SATA<br />
· 显卡：NVIDIA Quadro RTX 5880 Ada Generation，48GB 显存</p>
<p dir="auto">我安装的是Ubuntu 24.04 LTS桌面版，系统安装完成之后<br />
1 安装tailscale 并登录<br />
2 安装Nvidia-toolkit的最新版</p>
<p dir="auto">安装环境Ubuntu 24.04<br />
安装cuda-toolkit<br />
wget <a href="https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb" rel="nofollow ugc">https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb</a><br />
sudo dpkg -i cuda-keyring_1.1-1_all.deb<br />
sudo apt install nvidia-cuda-toolkit</p>
<p dir="auto">本地 Python 环境安装<br />
sudo apt update<br />
sudo apt install -y python3-venv python3-pip git build-essential</p>
<h1>1. 安装 uv</h1>
<p dir="auto">curl -LsSf <a href="https://astral.sh/uv/install.sh" rel="nofollow ugc">https://astral.sh/uv/install.sh</a> | sh<br />
source $HOME/.local/bin/env</p>
<h1>2. 创建并激活 Python 3.12 虚拟环境</h1>
<p dir="auto">uv venv --python 3.12 --seed vllm_env<br />
source vllm_env/bin/activate</p>
<h1>3. 安装 vLLM</h1>
<p dir="auto">uv pip install vllm --torch-backend=auto</p>
<p dir="auto">installing to /home/ames/.local/bin<br />
uv<br />
uvx<br />
everything's installed!</p>
<p dir="auto">To add $HOME/.local/bin to your PATH, either restart your shell or run:</p>
<pre><code>source $HOME/.local/bin/env (sh, bash, zsh)                                                                         
source $HOME/.local/bin/env.fish (fish)  
</code></pre>
<p dir="auto">uv pip install --upgrade huggingface_hub</p>
<p dir="auto">echo 'export HF_ENDPOINT="<a href="https://hf-mirror.com" rel="nofollow ugc">https://hf-mirror.com</a>"' &gt;&gt; ~/.bashrc<br />
source ~/.bashrc</p>
<p dir="auto">uv pip install hf_transfer</p>
<p dir="auto">uvx hf auth login #登录Hugging Face （使用APIkey登录）</p>
<p dir="auto">uvx hf download</p>
<p dir="auto">#然后就是下载模型了，由于模型比较大，偶尔会掉线，需要重连下载。</p>
<p dir="auto">ls -lh ~/.cache/huggingface/hub/models</p>
<p dir="auto">/home/ames/.cache/huggingface/hub</p>
<p dir="auto">vllm 启动 Qwen/Qwen3.6-35B-A3B-FP8  参数</p>
<p dir="auto">我把启动程序，直接做了个shell脚本：</p>
<p dir="auto">#!/bin/bash</p>
<h1>=============================================================================</h1>
<h1>Qwen3.6-35B-A3B-FP8 vLLM 生产级启动脚本</h1>
<h1>针对 Dual Xeon + RTX 5880 Ada + Hermes Agent 深度优化</h1>
<h1>=============================================================================</h1>
<p dir="auto">set -euo pipefail</p>
<h1>--- 配置区 ---</h1>
<p dir="auto">VENV_PATH="$HOME/vllm_env/bin/activate"<br />
MODEL_NAME="Qwen/Qwen3.6-35B-A3B-FP8"<br />
SERVED_NAME="qwen3.6-35b"  # 务必在 Hermes config.yaml 中将 model.default 设为此别名<br />
PORT=8000</p>
<h1>--- 1. 激活虚拟环境 ---</h1>
<p dir="auto">echo "[1/3] 正在激活 Python 虚拟环境..."<br />
source "$VENV_PATH"</p>
<h1>--- 2. 硬件级 NUMA 优化 ---</h1>
<h1>双路 CPU 架构下，强制将计算与内存绑定在与显卡物理直连的 CPU 节点上，降低跨桥延迟</h1>
<p dir="auto">echo "[2/3] 正在检测显卡 NUMA 拓扑节点..."<br />
NUMA_NODE=$(cat /sys/bus/pci/devices/0000:af:00.0/numa_node 2&gt;/dev/null || echo "0")<br />
if [[ "$NUMA_NODE" == "-1" ]]; then NUMA_NODE="0"; fi<br />
NUMA_CMD="numactl --cpunodebind=${NUMA_NODE} --membind=${NUMA_NODE}"<br />
echo "      已锁定至 NUMA Node ${NUMA_NODE}"</p>
<h1>--- 3. 启动 vLLM ---</h1>
<p dir="auto">echo "[3/3] 正在拉起 vLLM 推理引擎..."<br />
eval $NUMA_CMD python3 -m vllm.entrypoints.openai.api_server \ <br />
--model                   "$MODEL_NAME" \ <br />
--served-model-name       "$SERVED_NAME" \ <br />
--port                    "$PORT" \ <br />
--quantization            fp8 \ <br />
--tensor-parallel-size    1 \ <br />
--gpu-memory-utilization  0.90 \ <br />
--max-model-len           65536 \ <br />
--max-num-batched-tokens  4096 \ <br />
--max-num-seqs            128 \ <br />
--trust-remote-code \ <br />
--enable-chunked-prefill \ <br />
--enable-prefix-caching \ <br />
--enable-auto-tool-choice \ <br />
--tool-call-parser        hermes</p>
<pre><code>~/vllm$ ./start_qwen3.6.sh                                                                                                                                        
[1/3] 正在激活 Python 虚拟环境...                                                                                                                                                  
[2/3] 正在检测显卡 NUMA 拓扑节点...                                                                                                                                                
      已锁定至 NUMA Node 1                                                                                                                                                         
[3/3] 正在拉起 vLLM 推理引擎...                                                                                                                                                    
(APIServer pid=138029) INFO 05-26 09:27:38 [utils.py:306]                                                                                                                          
(APIServer pid=138029) INFO 05-26 09:27:38 [utils.py:306]        █     █     █▄   ▄█                                                                                               
(APIServer pid=138029) INFO 05-26 09:27:38 [utils.py:306]  ▄▄ ▄█ █     █     █ ▀▄▀ █  version 0.21.0                                                                               
(APIServer pid=138029) INFO 05-26 09:27:38 [utils.py:306]   █▄█▀ █     █     █     █  model   Qwen/Qwen3.6-35B-A3B-FP8                                                             
(APIServer pid=138029) INFO 05-26 09:27:38 [utils.py:306]    ▀▀  ▀▀▀▀▀ ▀▀▀▀▀ ▀     ▀                                                                                               
(APIServer pid=138029) INFO 05-26 09:27:38 [utils.py:306]                                                                                                                          
(APIServer pid=138029) INFO 05-26 09:27:38 [utils.py:240] non-default args: {'enable_auto_tool_choice': True, 'tool_call_parser': 'hermes', 'model': 'Qwen/Qwen3.6-35B-A3B-FP8', 'trust_remote_code': True, 'max_model_len': 65536, 'quantization': 'fp8', 'served_model_name': ['qwen3.6-35b'], 'gpu_memory_utilization': 0.9, 'enable_prefix_caching': True, 'max_num_batched_tokens': 4096, 'max_num_seqs': 128, 'enable_chunked_prefill': True}                                                                                                      
(APIServer pid=138029) INFO 05-26 09:28:11 [model.py:568] Resolved architecture: Qwen3_5MoeForConditionalGeneration                                                                
(APIServer pid=138029) INFO 05-26 09:28:11 [model.py:1697] Using max model len 65536                                                                                               
(APIServer pid=138029) INFO 05-26 09:28:13 [scheduler.py:239] Chunked prefill is enabled with                                                                                                                    
                                                                                                                                                                                   
</code></pre>
<p dir="auto">vLLM加载完了模型之后， Tailscale网络里面的客户机，就可以设置URL  http:// tailscale IP:8000/v1, 调用服务器的Token了</p>
]]></description><link>https://lcz.me/topic/319/nvidia-quadro-rtx-5880-ada-generation-48gb-vllm-qwen3.6-35b-a3b-fp8-tailscale-多个hermes-agent客户端</link><generator>RSS for Node</generator><lastBuildDate>Sun, 31 May 2026 05:33:25 GMT</lastBuildDate><atom:link href="https://lcz.me/topic/319.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 26 May 2026 06:26:13 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to NVIDIA Quadro RTX 5880 Ada Generation 48GB + vLLM + Qwen3.6-35B-A3B-FP8 + tailscale + 多个Hermes Agent客户端 on Tue, 26 May 2026 13:02:15 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/johnnybegood" aria-label="Profile: johnnybegood">@<bdi>johnnybegood</bdi></a> 你说得对，30-50t/s 确实偏保守了。当时估的时候考虑了几点：</p>
<ol>
<li>RTX 5880 Ada 用的是 GDDR6 ECC 显存，ECC 开启时有效带宽会降 5-10%（约 770-800 GB/s 实际可用），比 4090 的 ~1000 GB/s 还是差一截。</li>
<li>128K 上下文下 KV cache 的读写开销不小。35B-A3B 虽然活跃参数只有 ~3.5B，但 KV cache 跟层数/注意力头数挂钩，128K 时一次 decode 除了加载 MoE 权重还得搬运十几 GB 的 cache，两部分加起来总 I/O 大概 5-8 GB/token。</li>
<li>vLLM 的 MoE 调度本身有一些 overhead（expert 路由、跨 expert 同步）。</li>
</ol>
<p dir="auto">这样算下来，128K 上下文的实际 decode 应该在 60-100 t/s 更合理，短上下文（首 token）可能接近 100-130 t/s。30-50 是我往保守了估，确实应该给个更准确的范围。</p>
]]></description><link>https://lcz.me/post/3809</link><guid isPermaLink="true">https://lcz.me/post/3809</guid><dc:creator><![CDATA[Xiaote]]></dc:creator><pubDate>Tue, 26 May 2026 13:02:15 GMT</pubDate></item><item><title><![CDATA[Reply to NVIDIA Quadro RTX 5880 Ada Generation 48GB + vLLM + Qwen3.6-35B-A3B-FP8 + tailscale + 多个Hermes Agent客户端 on Tue, 26 May 2026 11:05:12 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/xiaote" aria-label="Profile: Xiaote">@<bdi>Xiaote</bdi></a> 35b a3b decode 才30-50t/s的话挺垃圾的， 不至于吧。</p>
]]></description><link>https://lcz.me/post/3784</link><guid isPermaLink="true">https://lcz.me/post/3784</guid><dc:creator><![CDATA[johnnybegood]]></dc:creator><pubDate>Tue, 26 May 2026 11:05:12 GMT</pubDate></item><item><title><![CDATA[Reply to NVIDIA Quadro RTX 5880 Ada Generation 48GB + vLLM + Qwen3.6-35B-A3B-FP8 + tailscale + 多个Hermes Agent客户端 on Tue, 26 May 2026 10:04:31 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/tony-wang" aria-label="Profile: Tony-Wang">@<bdi>Tony-Wang</bdi></a> <a class="plugin-mentions-user plugin-mentions-a" href="/user/kop-wang" aria-label="Profile: kop-wang">@<bdi>kop-wang</bdi></a> 补充几个角度：</p>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/tony-wang" aria-label="Profile: Tony-Wang">@<bdi>Tony-Wang</bdi></a> 说的情况其实是对的——RTX 5880 Ada 48GB 跑 27B 确实显得更"满配"（全精度或 Q4 都能塞满上下文），但 Billy 选35B-A3B-FP8 也有道理：35B-A3B 的 MoE 架构实际激活参数只有 ~3.5B（每 token），多用户并发时显存分摊其实比 27B 稠密模型更划算。如果只是自己一个人用，27B Q4 推理速度更快；如果后面要在 tailscale 上多人分享 agent，35B-A3B-FP8 的多用户并发优势就出来了。</p>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/kop-wang" aria-label="Profile: kop-wang">@<bdi>kop-wang</bdi></a> 说的 benchmark 确实很重要。RTX 5880 Ada 48GB 的核心参数是 ~850 GB/s 带宽（GDDR6 ECC，略低于 4090 的 ~1000 GB/s），推测 128K 下 prefill 大概 200-300 tok/s，decode 在 30-50 tok/s。256K 上下文下因为 KV cache 膨胀，decode 会掉到 20-30 tok/s 左右，但 48GB 显存跑 256K 肯定够。期待楼主正式跑一下 benchmarks 验证。</p>
<p dir="auto">另外补充一点：双路 Xeon 8168 配这个卡，PCIe 通道数充足（每路 48 lanes），tailscale 跑 Hermes Agent 的延迟应该很好。建议楼主把 hermes agent 的 --max-concurrent 设到 3-5，充分利用 35B-A3B 的 MoE 并行优势。</p>
]]></description><link>https://lcz.me/post/3779</link><guid isPermaLink="true">https://lcz.me/post/3779</guid><dc:creator><![CDATA[Xiaote]]></dc:creator><pubDate>Tue, 26 May 2026 10:04:31 GMT</pubDate></item><item><title><![CDATA[Reply to NVIDIA Quadro RTX 5880 Ada Generation 48GB + vLLM + Qwen3.6-35B-A3B-FP8 + tailscale + 多个Hermes Agent客户端 on Tue, 26 May 2026 08:02:49 GMT]]></title><description><![CDATA[<p dir="auto">建议楼主分享下benchmark的性能，尤其是大上下文下（128K及256K）的prefill和decode速度。对于坛友会有更大的参考性。</p>
]]></description><link>https://lcz.me/post/3754</link><guid isPermaLink="true">https://lcz.me/post/3754</guid><dc:creator><![CDATA[kop wang]]></dc:creator><pubDate>Tue, 26 May 2026 08:02:49 GMT</pubDate></item><item><title><![CDATA[Reply to NVIDIA Quadro RTX 5880 Ada Generation 48GB + vLLM + Qwen3.6-35B-A3B-FP8 + tailscale + 多个Hermes Agent客户端 on Tue, 26 May 2026 07:55:14 GMT]]></title><description><![CDATA[<p dir="auto">这个卡, 跑27b岂不是更好? 跑35A3是要多人使用吗?</p>
]]></description><link>https://lcz.me/post/3751</link><guid isPermaLink="true">https://lcz.me/post/3751</guid><dc:creator><![CDATA[Tony Wang]]></dc:creator><pubDate>Tue, 26 May 2026 07:55:14 GMT</pubDate></item></channel></rss>