跳至正文

被玩明白了!2000块拼一台能跑320亿参数的AI推理服务器,双显卡张量并行比llama.cpp快6倍,零基础完整教程

  • 由

← 返回博客

兄弟们,想跑大模型但被显卡价格劝退的看过来!一张4090要一万多,一张A100二手都要好几万,普通人根本玩不起。但今天我要告诉你一个骚操作:花2000多块,就能拼一台能跑320亿参数大模型的AI推理服务器,8个人同时提问都不卡,速度比llama.cpp快6倍!

这套方案的核心就俩字:捡漏。用两张二手AMD Radeon VII显卡(每张16GB显存,两张凑32GB),配上淘汰的洋垃圾服务器主板和CPU,总价2500块搞定。没错,就是当年AMD拿来打RTX 2080 Ti的旗舰卡,现在二手只要800块一张,显存比2080 Ti还大!

这篇文章从硬件清单、组装、装系统到部署vLLM服务,一步步教你全流程,看完就能照着拼一台。适合想本地跑大模型、又不想花大价钱的兄弟,也适合拿来当开源项目练手。

一、先搞懂原理:为什么两张旧卡能跑320亿参数?

你可能想问:320亿参数=32B模型,光权重文件就20多个G,两张16G的卡加起来32G,怎么塞得下?两个关键点:

第一,量化。模型用4-bit AWQ量化后,体积缩到原来的1/4左右,32B模型压到20G上下,32G显存刚好装下。

第二,张量并行。这是重点!vLLM的张量并行会把模型矩阵从中间切开,两张显卡同时处理同一个层的不同部分,1+1=2。

对比一下传统方案llama.cpp:它用的是流水线并行,模型一层层顺序跑,同一时间只有一张卡在干活,另一张在等着。所以vLLM张量并行比llama.cpp快约6倍——实测8个用户并发提问,总吞吐量超过100 tokens/s,所有窗口流畅运行不排队。

⚠️ 注意:这套方案对MoE(混合专家)模型支持有限,AWQ量化的稠密模型是它的最佳应用场景。别拿它跑DeepSeek-V3那种MoE模型,跑不动的。

二、准备工作:硬件清单(全套2500元)

先看清单,全是二手件,去哪买我都给你标好了:

配件 型号 二手价 去哪买
显卡×2 AMD Radeon VII(16GB HBM2) 800元/张 闲鱼
CPU Intel E5-2680v4(14核28线程) 56元 闲鱼/淘宝洋垃圾店
主板 华南X99M Plus 300元左右 淘宝
内存 DDR4服务器内存8GB×4(共32G) 几十元 闲鱼
硬盘 512GB NVMe SSD 100元 闲鱼
电源 800W电源 155元 闲鱼/淘宝

备选显卡:如果Radeon VII涨价了,可以看AMD M50计算卡——同款GFX906核心,性能接近还更便宜,但需要自己动手改散热,动手能力强的可以上。

⚠️ 注意:两张Radeon VII满载功耗接近600W,电源必须上800W以上,别省这个钱。Radeon VII发热大,机箱通风要做好,建议开放式机架或者加装风扇。

三、组装服务器(半小时搞定)

这套X99平台组装比普通电脑还简单,都是服务器拆机件,接口标准统一:

第1步:装CPU和内存。E5-2680v4对准主板CPU插槽的三角标记放进去,压好扣具。4条内存插满四通道,注意插槽顺序,按主板说明书来。

第2步:装硬盘和电源。NVMe SSD插到主板M.2接口。电源线接好:主板24pin、CPU 8pin、显卡供电——Radeon VII是双8pin供电,两张卡要4个8pin接口,买电源时确认接口够用。

第3步:插显卡。两张Radeon VII插进主板的PCIe x16插槽。X99平台一般有多个PCIe插槽,两张卡最好分开插,中间留散热空间。

第4步:开机验证。接上显示器和键鼠,开机进BIOS,能看到CPU型号和内存容量就说明硬件没问题。

👁️ 验证:BIOS里看到”Intel Xeon E5-2680 v4″和32GB内存,硬件组装完成。

四、装Ubuntu系统

vLLM只支持Linux,装Ubuntu 22.04 LTS最省心。需要一个8GB以上的U盘做启动盘:

第1步:下载系统镜像。去 Ubuntu官网(https://ubuntu.com/download/server)下载22.04 LTS Server版ISO文件。

第2步:做启动盘。用 Rufus(https://rufus.ie)把ISO写入U盘,U盘模式选”DD镜像”写入。

第3步:安装系统。U盘插到服务器上开机,进启动菜单选U盘启动,一路按提示装系统。分区直接用默认整盘安装,用户名密码自己设一个记好。

👁️ 验证:装完重启进系统,命令行输入下面命令,能看到显卡信息就对了:

# 查看显卡是否被系统识别
lspci | grep -i amd

看到两行 “AMD … Vega 20” 开头的设备,就是两张Radeon VII都认出来了。

五、装Docker(跑vLLM的容器环境)

vLLM用Docker部署最省事,不用手动装一堆Python依赖。装Docker官方脚本一条命令:

# 官方一键安装Docker
curl -fsSL https://get.docker.com | sh

# 把当前用户加入docker组(省得每次sudo)
sudo usermod -aG docker $USER

# 重新登录终端让配置生效
exit

👁️ 验证:重新登录后输入 docker --version,能显示版本号说明装好了。

六、拉取vLLM镜像(AMD显卡专用版)

这里是最关键的一步!官方vLLM不支持AMD GFX906架构(Radeon VII的核心),必须用大神MLZY维护的vLLM修改版Docker镜像,它专门解决了这个问题。

镜像是v0.5.2.4.5的LZY3版本,作者把部署教程和命令都整理在了自己的GitHub仓库(视频简介里有链接,或者GitHub搜索 “MLZY vLLM” 就能找到)。拉取命令格式如下:

# 从Docker Hub拉取MLZY的vLLM修改版镜像(以作者GitHub教程里的完整镜像名为准)
docker pull mlzy/vllm:lzy3

# 拉完确认镜像在本地
docker images

⚠️ 注意:镜像完整名称以作者GitHub仓库说明为准,如果上面这个拉取失败,去作者GitHub看README里写的最新镜像标签。

七、下载模型(320亿参数4-bit量化版)

推荐跑QwQ-32B的AWQ量化版——320亿参数推理模型,写代码、数学、逻辑推理都很强,4-bit量化后体积约20G,两张16G显存刚好放下。

模型下载地址 👉 HuggingFace: Qwen/QwQ-32B-AWQ

国内下载地址 👉 ModelScope: Qwen/QwQ-32B-AWQ(国内直连,速度快,推荐)

下载到服务器上的 /models 目录:

# 创建模型目录
mkdir -p /models

# 用ModelScope下载(国内快),装一下下载工具
pip install modelscope

# 下载模型到 /models(会自动建QwQ-32B-AWQ文件夹)
modelscope download --model Qwen/QwQ-32B-AWQ --local_dir /models/QwQ-32B-AWQ

👁️ 验证:下载完成后检查模型文件:

# 确认模型文件都在
ls -lh /models/QwQ-32B-AWQ | head

# 看到 .safetensors 权重文件,总大小20G左右就对了

⚠️ 链接失效了怎么办?别急,直接在百度搜索”QwQ-32B-AWQ 下载”,或者去HuggingFace/ModelScope官网搜模型名,都能找到最新地址。

八、启动vLLM服务(关键:开张量并行)

启动命令里最核心的参数是 --tensor-parallel-size 2,意思就是让两张显卡同时干活。这个必须写对,写1的话只有一张卡在工作,速度减半:

# 启动vLLM服务器,挂载模型目录,开启张量并行2
docker run -d --name vllm-server \
  --gpus all \
  -v /models:/models \
  -p 8000:8000 \
  mlzy/vllm:lzy3 \
  vllm serve /models/QwQ-32B-AWQ \
  --tensor-parallel-size 2 \
  --quantization awq \
  --max-model-len 8192

# 看启动日志
docker logs -f vllm-server

👁️ 验证:日志里看到 “CUDA graphs” 或者 “Starting vLLM server” 字样,说明模型加载完成、服务已启动。第一次启动要加载20G模型,等几分钟正常。

⚠️ 注意:如果日志报显存不足(OOM),把 --max-model-len 调小到4096再试。

九、测试:8人同时用都不卡

vLLM服务启动后是OpenAI兼容API,任何支持OpenAI接口的程序都能直接连。先本地测一下能不能正常对话:

# 发一个聊天请求测试
curl http://localhost:8000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{"model": "/models/QwQ-32B-AWQ", "messages": [{"role": "user", "content": "用Python写一个快速排序"}], "max_tokens": 100}'

👁️ 验证:返回一段JSON,里面”content”字段有模型生成的代码,就说明模型正常工作了。

然后测试并发能力——8个用户同时提问:

# 并发测试脚本(8个并发请求同时打过去)
for i in $(seq 1 8); do
  curl -s http://localhost:8000/v1/chat/completions \
    -H "Content-Type: application/json" \
    -d '{"model": "/models/QwQ-32B-AWQ", "messages": [{"role": "user", "content": "解释一下什么是TCP三次握手"}], "max_tokens": 200}' &
done
wait

👁️ 验证:8个请求全部在几秒内返回,总吞吐量超过100 tokens/s,每个窗口都在流畅输出——这就是vLLM张量并行+连续批处理的威力,比llama.cpp快了约6倍。

连上之后你就能用任何支持OpenAI API的客户端(比如ChatBox、NextChat、各类AI工具箱)填上 http://服务器IP:8000 这个地址,白嫖自己的私有大模型了。

十、常见问题

Q1:我的主板只有一个PCIe x16插槽,能插两张卡吗?

不行,张量并行必须两张卡都在x16(或至少x8)带宽的插槽上。选主板时确认有两个全速PCIe插槽,华南X99M Plus这类双插槽的板子才行。

Q2:显存不够报OOM怎么办?

两个办法:一是把–max-model-len从8192调小到4096,省显存;二是确认模型是AWQ 4-bit量化版,别下成8-bit的。两张卡32G显存跑32B AWQ是刚刚好的配置。

Q3:为什么我跑MoE模型很慢/跑不起来?

这套方案对MoE(混合专家)模型支持有限,量化MoE模型更是不支持。它就是给AWQ量化稠密模型准备的,别拿它硬跑MoE。

Q4:一定要用MLZY的镜像吗?官方vLLM不行?

不行。Radeon VII用的GFX906架构,官方vLLM不认这个架构,跑不起来。MLZY的修改版专门支持GFX906,必须用它。

Q5:家里电费扛得住吗?

满载功耗约600W,跑起来确实费电。但日常问答是间歇性的,不用的时候服务闲着一小时大概几十瓦。想想省下的几万块显卡钱,电费都是毛毛雨。

总结

花2000多块拼一台能跑320亿参数大模型的服务器,核心就三件事:两张二手Radeon VII捡漏 + MLZY修改版vLLM镜像 + 张量并行参数开2。这套方案比买新显卡省了十倍的钱,比llama.cpp快6倍,8人同时用都不卡,拿来本地跑模型、搭私有API、做开源项目都是神器。

给新手的一句话建议:照着清单买配件时,显卡和电源这两样别贪便宜,其它都能将就。装好系统后先跑通测试再研究进阶玩法。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注