大模型私有化部署完整记录:vLLM + 量化 + Nginx负载均衡
2026-05-03 · AI云服务实战笔记
因为数据合规要求,客户不允许数据离开内网。于是做了一次完整的Qwen2.5-72B私有化部署。记录全过程,包括量化、vLLM部署、负载均衡和压测数据。
硬件配置
| 组件 | 规格 | 用途 |
|---|---|---|
| GPU服务器 x2 | H20 96GB x1 + 32核CPU + 128GB内存 | 跑vLLM推理服务 |
| API网关 x1 | CVM 4核8G | Nginx负载均衡 + 认证鉴权 |
| 存储 | 高性能云盘 500GB | 存模型权重和日志 |
第一步:AWQ量化模型
72B原始FP16约144GB,H20单卡96GB装不下。用AWQ量化到4bit,显存降到约38GB。
pip install autoawq transformers
from awq import AutoAWQForCausalLM
from transformers import AutoTokenizer
model_path = "Qwen/Qwen2.5-72B-Instruct"
quant_path = "./Qwen2.5-72B-Instruct-AWQ"
# 加载并量化
model = AutoAWQForCausalLM.from_pretrained(model_path)
tokenizer = AutoTokenizer.from_pretrained(model_path)
model.quantize(tokenizer, quant_config={"zero_point": True,
"q_group_size": 128, "w_bit": 4, "version": "GEMM"})
model.save_quantized(quant_path)
tokenizer.save_pretrained(quant_path)
量化耗时约40分钟(主要是加载原始模型),最终模型文件约40GB。
第二步:vLLM部署
vLLM原生支持AWQ量化模型,启动命令:
python -m vllm.entrypoints.openai.api_server \
--model ./Qwen2.5-72B-Instruct-AWQ \
--quantization awq \
--host 0.0.0.0 \
--port 8000 \
--max-model-len 32768 \
--gpu-memory-utilization 0.90 \
--max-num-seqs 32 \
--enable-prefix-caching
两台GPU服务器各部署一个实例,监听8000端口。
第三步:Nginx负载均衡
在API网关上配置Nginx upstream:
upstream vllm_backend {
least_conn; # 最少连接数策略
server 10.0.1.10:8000 weight=1 max_fails=3 fail_timeout=30s;
server 10.0.1.11:8000 weight=1 max_fails=3 fail_timeout=30s;
keepalive 32;
}
server {
listen 443 ssl;
server_name api.example.com;
location /v1/ {
proxy_pass http://vllm_backend;
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_read_timeout 300s;
proxy_buffering off;
}
}
压测结果
用locust模拟100并发用户,发送不同长度的prompt请求:
| 指标 | 单实例 | 双实例+LB |
|---|---|---|
| 吞吐量 (tok/s) | ~320 | ~610 |
| 首字延迟 P50 | 420ms | 380ms |
| 首字延迟 P99 | 1200ms | 850ms |
| 并发能力 | ~25 QPS | ~48 QPS |
| GPU利用率 | 85% | 82% each |
双实例部署后吞吐量接近线性增长(1.9x),P99延迟大幅改善。
成本核算:自建 vs API
| 自建(双H20包月) | 混元API | |
|---|---|---|
| 月固定成本 | ~20,000元 | 0元 |
| 每千token成本 | ~0.025元 | 0.008元 |
| 月调用5000万token | 20,000元 | 400元 |
| 月调用5亿token | 20,000元 | 4,000元 |
| 月调用50亿token | ~35,000元 | 40,000元 |
结论:月调用量低于5亿token时,API更省钱。我们自建的原因是数据合规(不允许出内网),不是成本。
如果不需要私有化部署:直接用混元大模型API更划算,0.008元/千token,省去所有部署运维工作。