
把大模型部署到云端,最容易花冤枉钱的环节不是安装 vLLM,而是在购买实例之前没有算清显存、吞吐和使用时长。显存不足会直接加载失败,GPU过大又会让闲置成本持续累积。
本文以阿里云 GPU 云服务器和 vLLM 为例,给出一条可复用的上线路径:先估算模型需要的显存,再选择实例和计费方式,最后部署 OpenAI 兼容 API,并通过压测决定是否扩容。
先看结论
- 7B模型使用BF16时,权重约占14GB,考虑KV Cache和运行开销后,24GB显存更稳妥。
- 不要把多张GPU的显存简单视为一块共享显存;模型必须通过张量并行等方式正确切分。
- 短期测试优先按量或抢占式实例,稳定服务再比较包年包月、节省计划和按量成本。
- 先用单卡跑通,再根据并发、首Token延迟和每Token延迟决定是否多卡或PD分离。
一、部署前先算模型需要多少显存
模型权重的粗略计算公式是:
1
2
3
4
5 权重显存 ≈ 参数量 × 每个参数占用字节
BF16 / FP16:约 2 字节
INT8:约 1 字节
INT4:约 0.5 字节
例如,7B模型以BF16加载时,权重约为14GB。但这不是最终显存需求。推理还会占用KV Cache、CUDA上下文、临时计算缓冲区和vLLM调度空间。实际选型时通常还要保留20%—40%的余量,长上下文和高并发场景需要更多。
| 模型规模与精度 | 权重粗略占用 | 建议起步显存 | 适用场景 |
|---|---|---|---|
| 7B,BF16 | 约14GB | 24GB | 开发、低到中并发API |
| 14B,INT4 | 约7GB | 16GB—24GB | 成本敏感型推理 |
| 32B,INT4 | 约16GB | 24GB—48GB | 更高质量的业务问答 |
| 70B,INT4 | 约35GB | 48GB起,80GB更稳妥 | 高质量推理或多卡服务 |
如果需要更精确的计算,可以继续阅读站内的大模型推理显存占用与HBM带宽计算指南,以及GPU TFLOPS计算与不同精度换算。

二、阿里云GPU实例怎么选
阿里云GPU实例并不是一个固定配置。不同规格族在GPU型号、单卡显存、vCPU、系统内存、网络和云盘能力上都有差异。官方规格文档显示,常见实例包括16GB显存的T4规格、24GB显存的A10规格,以及32GB、80GB等更大显存配置。具体可售规格还会随地域和库存变化。
| 需求 | 优先考虑 | 选型重点 |
|---|---|---|
| 学习和功能验证 | 16GB级GPU | 量化小模型、按量开关机 |
| 7B BF16或14B量化 | 24GB级GPU | 显存余量、CPU内存和磁盘吞吐 |
| 32B量化或长上下文 | 48GB级GPU | KV Cache、并发数和显存带宽 |
| 70B或更大模型 | 80GB单卡或多卡 | 卡间互联、网络、张量并行效率 |
不要只看TFLOPS。生成式推理经常受到显存带宽和KV Cache读取速度限制;多卡部署还要考虑GPU间通信。对聊天API而言,TTFT(首Token延迟)、TPOT(后续Token延迟)和并发吞吐通常比理论峰值更有参考价值。
三、创建实例时需要注意什么
- 地域:先确认目标地域有需要的GPU库存,同时考虑用户所在地、模型下载速度和备案要求。
- 镜像:优先选择带NVIDIA驱动和CUDA环境的官方或可信镜像,能减少驱动版本冲突。
- 系统盘:模型文件往往几十GB,建议预留系统、Docker镜像、模型缓存和日志空间。
- 安全组:SSH端口只对可信IP开放;vLLM端口不要直接暴露给全网。
- 计费方式:测试阶段使用按量付费并设置释放提醒,避免实例闲置数天。
创建后先验证GPU和驱动:
1
2
3
4 nvidia-smi
python3 --version
df -h
free -h
如果
1 | nvidia-smi |
无法识别GPU,不要急着安装vLLM。应先检查实例是否正确挂载GPU、驱动是否匹配当前内核,以及CUDA运行时是否可用。
四、安装vLLM并启动OpenAI兼容API
建议使用独立Python环境,避免污染系统包。下面给出最小可运行流程,模型名称可以替换成你实际使用的Hugging Face模型。
1
2
3
4
5
6
7
8
9
10
11 python3 -m venv /opt/vllm-env
source /opt/vllm-env/bin/activate
python -m pip install --upgrade pip
pip install vllm
vllm serve Qwen/Qwen2.5-7B-Instruct
--host 127.0.0.1
--port 8000
--dtype auto
--gpu-memory-utilization 0.90
--api-key '请替换成足够长的随机密钥'
把服务绑定到
1 | 127.0.0.1 |
,再通过Nginx或API网关提供HTTPS入口,比直接把8000端口暴露到公网更安全。生产环境还应配置请求大小限制、速率限制、访问日志和超时。
测试接口:
1
2
3
4
5
6
7
8 curl https://你的域名/v1/chat/completions
-H 'Authorization: Bearer 你的API密钥'
-H 'Content-Type: application/json'
-d '{
"model": "Qwen/Qwen2.5-7B-Instruct",
"messages": [{"role": "user", "content": "用三句话解释KV Cache"}],
"max_tokens": 128
}'
五、显存不足和性能不达标怎么处理
1. CUDA out of memory
- 缩短
1max-model-len
,减少单请求KV Cache上限。
- 降低
1gpu-memory-utilization
,给CUDA和其他进程留出空间。
- 采用经过验证的INT8或INT4量化模型。
- 确认GPU上没有残留的Python或训练进程。
2. 单卡放不下模型
多卡实例可以使用张量并行,例如两卡部署时加入:
1 --tensor-parallel-size 2
但两张24GB显卡并不意味着所有模型都能像使用一张48GB显卡那样运行。切分粒度、卡间通信和部分未切分内存都会影响结果。
3. GPU利用率不高但延迟很大
这通常不是简单的“算力不够”,还可能由模型下载盘、CPU分词、请求过小、显存带宽或网络造成。应同时观察GPU利用率、显存占用、功耗、磁盘吞吐和vLLM队列长度。
已经进入高并发阶段时,可以阅读SGLang与vLLM选型对比和Prefill/Decode分离部署指南。小流量服务不应过早引入复杂集群。
六、怎样降低GPU云服务器成本
- 先压测再长期购买:用按量实例测试真实模型、上下文长度和并发,不用理论参数猜容量。
- 空闲时关机或释放:关机是否停止全部计费取决于实例与计费规则;短期测试结束后确认资源释放状态。
- 按任务选择精度:量化能降低显存需求,但必须验证业务数据上的回答质量。
- 启用连续批处理:在延迟预算允许时合并请求,提高单位GPU吞吐。
- 设置监控和预算告警:同时监控费用、GPU利用率和API请求量,发现长期低利用率实例。
- 比较计费模式:阿里云GPU实例支持包年包月、按量付费,也可结合节省计划或抢占式实例;价格与可用方式因地域、规格而异。
七、上线检查清单
- 模型许可证允许当前用途。
- API已启用密钥认证和HTTPS。
- 安全组没有向全网开放SSH和vLLM原始端口。
- 完成了固定输入长度、输出长度和并发数下的压测。
- 记录TTFT、TPOT、吞吐、显存峰值和错误率。
- 配置日志轮转、进程自启动、健康检查和费用告警。
- 敏感输入不会被写入公开日志。
常见问题
16GB显存能部署大模型吗?
可以部署量化后的小模型,例如部分7B或14B模型,但可用上下文长度和并发会受限制。购买前应以实际模型文件和压测结果为准。
部署7B模型一定要24GB显存吗?
不一定。INT4或INT8模型可能在更小显存上运行;如果使用BF16、长上下文或较高并发,24GB通常更从容。
vLLM和SGLang应该选哪个?
通用OpenAI兼容服务和成熟生态可以先评估vLLM;共享前缀、Agent工作流或结构化生成需求较多时,可同时测试SGLang。最终应使用相同模型和硬件进行对比。
按量、包年包月和抢占式实例怎么选?
功能验证和间歇任务优先按量;负载长期稳定后再评估包年包月或节省计划;可以容忍中断的离线任务可考虑抢占式实例。实际价格以购买页为准。
参考资料
最后更新:2026年10月。GPU库存、实例规格、模型版本和活动规则可能变化,部署和购买前请核对官方页面。
汤不热吧