AI

vLLM双卡配置说明

TomHanck4
2026-02-24 / 0 评论 / 1 阅读 / 正在检测是否收录...

双卡配置说明(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-InstructDeepSeek-R1-7B,20G 可轻松跑;若上 14B,需量化(如 TheBloke/Qwen2.5-14B-Instruct-AWQ)。

再「挂一个 DeepSeek」

若指再跑一个 DeepSeek(如 R1/CoT 等):

  1. 同卡 3080 Ti:两个模型不能同时加载进 20G,可起两个 vLLM 服务不同端口、按需启停,或一个 vLLM + 一个用 API 调远程。
  2. 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

评论 (0)

取消