住宅主机闲置显卡多模型并行中转部署教程
如果你家里有台闲置的主机,显卡性能不错但平时只用来上网看电影,完全可以把它改造成一台多模型并行推理服务器。
通过轻量级工具,同时加载LLM、图像生成等多个模型,再用内网穿透工具暴露到公网,让你的应用随时随地调用。
本文用最直接的方法带你完成全流程。
动手前要确认的条件
- 硬件:NVIDIA显卡,显存至少8GB(同时运行两个7B模型建议12GB以上)。内存建议32GB,系统盘剩余空间50GB以上。
- 软件:Windows或Linux系统均可,确保已安装NVIDIA驱动(
nvidia-smi能正常输出)。如果未安装,去官网下载对应版本。 - 网络:外网中转需要一台有公网IP的云服务器(最低配即可),或直接用Cloudflare Tunnel(无需公网IP)。本文以Cloudflare Tunnel为例,更省钱。
- 工具准备:Ollama(管理模型最省心)、Cloudflared(Tunnel客户端)。这两个工具都支持一键安装。
四步搭建多模型并行中转服务
1. 安装Ollama并拉取模型
Ollama统一管理模型启动和端口复用,默认监听127.0.0.1:11434,支持并发请求。
打开终端执行:
# Linux/macOS一键安装
curl -fsSL https://ollama.com/install.sh | sh
# Windows去官网下载安装包
安装后拉取两个常用模型(以7B参数为例):
ollama pull llama3.2:3b # 轻量对话模型
ollama pull qwen2.5:7b # 中文能力较强
若显存充足,可继续拉取Stable Diffusion等模型,Ollama也支持。
2. 配置并行推理参数
Ollama默认顺序处理请求,为了真正并行,需要修改环境变量OLLAMA_NUM_PARALLEL。
Windows在系统环境变量中添加;
Linux修改service文件或直接启动:
# 临时设置(重启后失效)
export OLLAMA_NUM_PARALLEL=4
export OLLAMA_MAX_LOADED_MODELS=2
ollama serve
永久设置:编辑/etc/systemd/system/ollama.service,在[Service]下添加:
Environment="OLLAMA_NUM_PARALLEL=4"
Environment="OLLAMA_MAX_LOADED_MODELS=2"
然后重载并重启服务:sudo systemctl daemon-reload && sudo systemctl restart ollama。
这样多个模型可以同时接受推理请求。
3. 安装Cloudflare Tunnel并暴露服务
注册Cloudflare账号,在Zero Trust面板创建一个Tunnel,然后在家用主机上安装Cloudflared并登录:
# 以Linux为例
curl -L https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64 -o cloudflared
chmod +x cloudflared
./cloudflared tunnel login
按照提示在浏览器授权。
接着创建隧道配置文件~/.cloudflared/config.yml:
tunnel: your-tunnel-uuid
credentials-file: /home/youruser/.cloudflared/your-tunnel-uuid.json
resolvers: ["1.1.1.1:53", "8.8.8.8:53"]
originRequest:
noTLSVerify: true
connectTimeout: 30s
url: http://localhost:11434
然后运行cloudflared tunnel run。
在Cloudflare面板将域名CNAME指向隧道,即可通过https://你的域名:443访问Ollama API。
4. 验证多模型并行请求
用curl测试两个模型同时推理(打开两个终端窗口):
# 终端1:调用llama3.2:3b
curl http://localhost:11434/api/generate -d '{
"model": "llama3.2:3b",
"prompt": "Hello",
"stream": false
}'
# 终端2:同时调用qwen2.5:7b
curl http://localhost:11434/api/generate -d '{
"model": "qwen2.5:7b",
"prompt": "你好",
"stream": false
}'
如果都能正常返回结果且无明显排队等待,说明并行生效。
外网测试将localhost换成你的隧道域名即可。
常见问题与避坑说明
- 显存不足导致OOM:同时加载模型的总显存占用不要超过显卡可用显存的85%。建议使用量化版本(如Q4_K_M)、设置
OLLAMA_MAX_LOADED_MODELS限制并发模型数,或用CUDA_VISIBLE_DEVICES指定单张卡。 - 内网穿透延迟高:Cloudflare免费隧道延迟约100-300ms,对聊天模型影响不大;如果要求低延迟,建议改用frp连接自建云服务器。
- Ollama服务意外停止:使用systemd托管并设置自动重启:在service文件中添加
Restart=always。 - 中转后端口安全问题:务必在Cloudflare面板开启“仅允许身份认证”或使用API Key验证,避免他人滥用。
- 多模型并行推理速度变慢:如果两个模型共享显存带宽,推理速度会下降,这是正常现象。可通过限制
OLLAMA_NUM_PARALLEL为2平衡吞吐。
写在最后
本文的方法让你用最低成本把闲置显卡变成多模型AI服务节点。
记住三个关键:显存是硬约束、Ollama管理模型、Cloudflare Tunnel解决外网。
如果在操作中遇到模型加载失败或隧道不通,先检查ollama serve日志和cloudflared运行状态。
动手试一试,你也能拥有自己的私有AI API服务。