想要在本地设备上流畅运行 Hermes Agent,又不想为高性能显卡多花几千元,模型量化这一关就必须认真对待。量化并非简单调整一个参数,而是在推理速度、显存占用与生成质量三者之间手工寻找最佳平衡点。下面将详细拆解整个操作流程。
首先需要确认 GPU 显存余量是否与模型尺寸匹配。执行 nvidia-smi -q -d MEMORY | grep "Used" 查看已用显存,用总显存减去它即可得到可用空间。如果剩余不足 8.2GB,那么 Qwen3-Max FP16 或 Llama-3-70B 的全精度加载就无法实现;若剩余空间 ≥12GB,则可以预留 fallback 切换空间——主模型采用 AWQ 量化,备用模型再使用 GPTQ。
这一步绝不可跳过。显存不足却强行启动 vLLM 服务,CUDA OOM 会立即报错,随后服务会自动降级为 CPU 推理,响应延迟瞬间飙升至 8 秒以上,严重影响使用体验。

选择量化方式并写入 config.yaml
先说方法一:AWQ,这是入门首选方案。它具备内存压缩率高、精度损失小、兼容性出色等优点。在 config.yaml 中配置如下:
model:
provider: vllm
name: TheBloke/Llama-3-8B-AWQ
quantization: awq
方法二:GPTQ,适用于对生成质量要求极高的场景。需要额外安装 auto-gptq 库,且仅支持部分模型。配置时必须指定 gptq_bits: 4 和 gptq_group_size: 128,缺少任意一项都导致加载失败。
方法三:FP8,专为 NVIDIA H100、A100、L40S 这类高端显卡设计。RTX 4090 及以下消费级显卡切勿尝试,强行启用会让 vLLM 直接报错 “FP8 not supported on current device”,且不会自动回退至默认模式。
启动服务前校验量化配置有效性
第一步:运行 hermes config check,确认无字段冲突或依赖缺失。
第二步:执行 vllm serve TheBloke/Llama-3-8B-AWQ --quantization awq --host 0.0.0.0 --port 8000,观察终端输出是否出现 "Using AWQ kernel" 字样。
第三步:发起一次健康检查:curl http://localhost:8000/health,若返回 {"healthy": true} 则表示量化加载成功。
第四步:发送测试请求:curl -X POST http://localhost:8000/v1/completions -H "Content-Type: application/json" -d '{"model":"TheBloke/Llama-3-8B-AWQ","prompt":"Hello","max_tokens":32}',验证首 token 延迟是否 ≤380ms。
若第四步返回空响应或超时,说明量化模型未正确绑定到 vLLM 引擎。此时不要急于调整 temperature 或 max_tokens,请先返回第二步,检查 --quantization 参数拼写——必须使用小写 awq,大小写错误会导致系统静默忽略量化指令。
