双卡配置说明(3080 Ti 20G + 1070 8G)
重要结论
- vLLM 不支持 GTX 1070:需要 Compute Capability 7.0+,1070 为 6.1,无法用 vLLM 跑推理或放 KV cache。
- 推荐用法:仅用 3080 Ti 跑 vLLM,通过
CUDA_VISIBLE_DEVICES=0指定(假设 3080 Ti 为 0 号卡)。 - 1070:可留给 Ollama / 其他支持老显卡的推理、或桌面/显示用;当前方案下不参与 vLLM。
指定使用 3080 Ti
先确认哪张是 3080 Ti(通常 20G 的那张):
nvidia-smi --query-gpu=index,name,memory.total --format=csv假设 3080 Ti 是 0,则所有 vLLM 命令前加:
export CUDA_VISIBLE_DEVICES=0
# 然后正常启动
vllm serve ...或在 Python 里(在 import vllm 之前):
import os
os.environ["CUDA_VISIBLE_DEVICES"] = "0"16G 内存注意
- vLLM 主要吃 显存,16G 系统内存一般够用。
- 避免同时开太多占内存的应用(浏览器、多个大模型服务等),否则易 OOM 或卡顿。
推荐本地 Agent 模型(20G 显存)
| 模型 | 显存约 | 说明 |
|---|---|---|
| Qwen2.5-7B-Instruct | ~16GB FP16 | 通用、工具调用/agent 支持好 |
| Qwen2.5-14B-Instruct | ~28GB FP16 → ~18GB 量化 | 能力更强,需 AWQ/GPTQ 等 4bit |
| DeepSeek-R1-7B | ~16GB | 推理/思考链、agent 向 |
| Qwen2.5-1.5B/3B-Instruct | 很低 | 轻量 agent/路由 |
建议:主 agent 用 Qwen2.5-7B-Instruct 或 DeepSeek-R1-7B,20G 可轻松跑;若上 14B,需量化(如 TheBloke/Qwen2.5-14B-Instruct-AWQ)。
再「挂一个 DeepSeek」
若指再跑一个 DeepSeek(如 R1/CoT 等):
- 同卡 3080 Ti:两个模型不能同时加载进 20G,可起两个 vLLM 服务不同端口、按需启停,或一个 vLLM + 一个用 API 调远程。
- 1070:不能用 vLLM;可用 Ollama 在 1070 上跑小模型(如
qwen2.5:3b),与 3080 Ti 上的 vLLM 分工。
一键只让 vLLM 用 3080 Ti 的示例
# 仅用 0 号卡(请按 nvidia-smi 确认 3080 Ti 的 index)
export CUDA_VISIBLE_DEVICES=0
source /home/fsy/Desktop/VLLM/.venv/bin/activate
vllm serve Qwen/Qwen2.5-7B-Instruct --trust-remote-code --port 8000#!/usr/bin/env python3
"""vLLM 本地离线推理示例。首次运行会从 HuggingFace 拉取模型。"""
# 仅用 3080 Ti 时,在 import vllm 前设置(或在终端 export CUDA_VISIBLE_DEVICES=0)
# import os; os.environ["CUDA_VISIBLE_DEVICES"] = "0"
from vllm import LLM
from vllm.sampling_params import SamplingParams
# Agent 推荐(20G):Qwen/Qwen2.5-7B-Instruct、deepseek-ai/DeepSeek-R1-7B
# 14B 需量化:如 TheBloke/Qwen2.5-14B-Instruct-AWQ
MODEL = "Qwen/Qwen2.5-7B-Instruct"
def main():
# 初始化引擎(首次会加载模型到 GPU)
llm = LLM(model=MODEL, trust_remote_code=True)
sampling_params = SamplingParams(temperature=0.7, max_tokens=256)
prompts = ["你好,请用一句话介绍你自己。", "1+1=?"]
outputs = llm.generate(prompts, sampling_params)
for out in outputs:
print("输入:", out.prompt)
print("输出:", out.outputs[0].text)
print("-" * 40)
if __name__ == "__main__":
main()#!/bin/bash
# 仅用 3080 Ti(0 号卡)启动 vLLM,供 agent 使用
# 先运行: nvidia-smi 确认 3080 Ti 是 0 还是 1,再改下面 CUDA_VISIBLE_DEVICES
export CUDA_VISIBLE_DEVICES=0
cd /home/fsy/Desktop/VLLM
source .venv/bin/activate
# 主 agent 模型:Qwen2.5-7B(可换成 DeepSeek-R1-7B 等)
MODEL="${VLLM_MODEL:-Qwen/Qwen2.5-7B-Instruct}"
PORT="${VLLM_PORT:-8000}"
echo "Using GPU 0 only (3080 Ti). Model: $MODEL, port: $PORT"
exec vllm serve "$MODEL" --trust-remote-code --port "$PORT" "$@"# 建议环境变量(GLM-4.7-Flash MoE 相关)
export VLLM_USE_DEEP_GEMM=0
export VLLM_USE_FLASHINFER_MOE_FP16=1
export VLLM_USE_FLASHINFER_SAMPLER=0
export OMP_NUM_THREADS=4‵‵‵bash
从 ModelScope 或 Hugging Face 下载到本地后,指向该路径
vllm serve /path/to/cyankiwi/GLM-4.7-Flash-AWQ-4bit \
--max-model-len 65536 \
--gpu-memory-utilization 0.9 \
--tool-call-parser glm47 \
--reasoning-parser glm45 \
--trust-remote-code \
--host 0.0.0.0 \
--port 8000


评论 (0)