要计算24GB显存的3090显卡部署7B参数模型的每秒最大请求数(QPS),需要考虑多个因素,包括模型的大小、显存占用、输入数据的大小、推理的复杂度以及具体的优化手段。
假设每个请求的推理时间大约是50毫秒,24GB显存的RTX 3090显卡上部署7B模型的最大QPS大约为 20 个请求每秒。这个数字会受到优化和具体实现的影响,实际情况可能有所不同。如果能利用批量推理或其他硬件加速技术,QPS可以进一步提高。
使用 3 张 RTX 3090 (24GB) 部署 7B LLM(如 LLaMA 2-7B, ChatGLM2-6B, Mistral 7B 等),需要考虑 高并发请求处理 方案,以提高 QPS(每秒请求数)和吞吐量,同时保证合理的延迟。
为了 最大化 QPS(每秒请求数),可以采用 多进程 + TGI/VLLM + 批量推理 的组合方案:
适用于:需要 流式输出、批量推理、高并发 API 访问 的应用场景
🔹 方案思路
🔹 部署步骤
pip install text-generation-inference
text-generation-launcher --model TheBloke/Llama-2-7B-GGUF --num-shard 3
这里 --num-shard 3 表示将 7B 模型 分片 到 3 张 3090 显卡,实现 数据并行。
--num-shard 3
🔹 优势✅ 支持批处理,更高 QPS ✅ 多 GPU 计算,提升吞吐量 ✅ 流式推理,减少响应时间
🔹 QPS 估算
20 × 3 = 60
适用于:低延迟、高吞吐、高并发 API 访问
pip install vllm
python -m vllm.entrypoints.openai.api_server \ --model TheBloke/Llama-2-7B-GGUF \ --tensor-parallel-size 3
--tensor-parallel-size 3
🔹 优势✅ 高效的 GPU 显存管理,支持 更大批次 的并发请求 ✅ 持续批处理(Continuous Batching),提升 QPS ✅ 支持 OpenAI API 格式,兼容性更好
适用于:自定义 API,需要 动态负载均衡
pip install deepspeed
from transformers import AutoModel, AutoTokenizer import torch from fastapi import FastAPI app = FastAPI() tokenizer = AutoTokenizer.from_pretrained("Llama-2-7B") model = AutoModel.from_pretrained("Llama-2-7B").half().cuda() model = deepspeed.init_inference(model, dtype=torch.float16) @app.post("/generate") async def generate(text: str): inputs = tokenizer(text, return_tensors="pt").to("cuda") output = model.generate(**inputs, max_length=100) return tokenizer.decode(output[0], skip_special_tokens=True)
uvicorn api:app --host 0.0.0.0 --port 8000 --workers 3
--workers 3
🔹 优势✅ 更灵活的 API 设计 ✅ 支持 ZeRO-3 省显存,适合 大批量并发 ✅ 适用于 Web 服务部署
👉 结论:
你想在哪种场景下优化并发?🚀