伊春市网站建设_网站建设公司_移动端适配_seo优化
2026/1/19 17:00:44 网站建设 项目流程

目录
  • 使用官方AWQ量化后的模型部署
    • 1️⃣ 问题背景
    • 2️⃣ --model Qwen/Qwen-14B-AWQ
    • 3️⃣ --quantization awq
    • 4️⃣ 总结逻辑
  • BitsAndBytes 量化后部署脚本
    • 1️⃣ 你需要做的修改
      • ✅ 修改点:
    • 2️⃣ 补充说明
    • 3️⃣ 总结

使用官方AWQ量化后的模型部署

export HUGGINGFACE_HUB_TOKEN="你的token"
export CUDA_VISIBLE_DEVICES=0python -m vllm.entrypoints.openai.api_server \--model Qwen/Qwen-14B-AWQ \--dtype float16 \--max-model-len 8192 \--gpu-memory-utilization 0.9 \--quantization awq

明白,你想弄清楚这两个参数 到底是解决什么问题,我来系统讲清楚,并把 vLLM 场景下的逻辑梳理出来。


1️⃣ 问题背景

Qwen-14B 这样的大模型:

  • FP16 权重 → 单卡 24GB 显存可能够,但:

    • KV Cache 在推理时也占用大量显存
    • 多并发 / 长上下文 时显存不足
  • FP32 权重 → 显存几乎肯定不够单卡加载

  • 如果不量化:

    • 推理显存大
    • 并发吞吐低
    • GPU 利用率可能不高

所以要解决的核心问题是:

“如何在单卡或有限显存下高吞吐、长上下文推理大模型”


2️⃣ --model Qwen/Qwen-14B-AWQ

  • 作用:告诉 vLLM 使用 官方 AWQ 量化权重

  • 解决的问题

    1. 显存占用大 → AWQ 权重是 8bit,显存比 FP16 少一半
    2. 推理速度慢 → AWQ 权重经过激活感知优化,GPU kernel 可以高速运算
    3. 精度损失大 → AWQ 专门优化量化误差,精度接近 FP16
  • 简单说:让 vLLM 能在有限显存上高吞吐推理大模型


3️⃣ --quantization awq

  • 作用:告诉 vLLM 加载权重时采用 AWQ 量化解码方式

  • 解决的问题

    1. vLLM 默认加载 FP16/FP32 权重 → 显存占用高

    2. 即使权重是 AWQ 模型,没有这个参数 vLLM 可能不会按 8bit kernel 优化执行

    3. 这个参数保证:

      • KV Cache 量化
      • 前向计算使用低精度 kernel
      • 批量请求连续 batching 高效

核心:解决的是显存占用和推理吞吐效率问题,而不是微调或训练问题。


4️⃣ 总结逻辑

参数 作用 解决问题
--model Qwen/Qwen-14B-AWQ 使用官方 AWQ 量化权重 减少模型显存占用、保证精度、支持大模型加载
--quantization awq 用 AWQ kernel 方式加载权重 KV cache 也量化、推理更快、更省显存、支持高吞吐 batching

一句话理解
这两个参数组合起来,就是为了解决“单卡显存有限,但要高吞吐推理大模型”的问题。

BitsAndBytes 量化后部署脚本

--model Qwen/Qwen-14B-AWQ + --quantization awq 是专门针对官方 AWQ 权重的
如果你自己用 BitsAndBytes 做的 8bit 权重,这个参数就不适用


1️⃣ 你需要做的修改

假设你用 BitsAndBytes 做了 LoRA 微调或单独量化,保存路径在 ./lora_8bit_qwen14b,那么 vLLM 启动命令改成:

export HUGGINGFACE_HUB_TOKEN="你的token"
export CUDA_VISIBLE_DEVICES=0python -m vllm.entrypoints.openai.api_server \--model ./lora_8bit_qwen14b \--dtype float16 \--max-model-len 8192 \--gpu-memory-utilization 0.9

✅ 修改点:

  1. --model改成你本地量化后的模型路径

    • 不再指向官方 AWQ 权重
  2. 移除 --quantization awq

    • 这是 vLLM 只识别官方 AWQ 权重的参数
    • 你自己量化的权重 BitsAndBytes 不需要,也不能用这个参数
  3. dtype=float16 可以保留

    • 因为 BitsAndBytes 8bit 权重也兼容 FP16 计算

2️⃣ 补充说明

  • 连续 batching / KV Cache

    • 官方 AWQ 权重 + --quantization awq 会对 KV Cache 做 8bit 优化
    • 你自己 BitsAndBytes 量化的权重,KV Cache 默认还是 FP16
    • 所以吞吐可能比官方 AWQ 稍低,但仍比原 FP16 显存节省明显
  • Hugging Face Token

    • 如果你的量化模型保存在本地路径(./lora_8bit_qwen14b),并且不是私有 repo,可以不用 HUGGINGFACE_HUB_TOKEN
    • 只有下载官方模型或私有 repo 时才需要
  • LoRA 微调

    • 如果你微调后的模型保存了 LoRA adapter,也可以直接加载,vLLM 会自动处理

3️⃣ 总结

使用 BitsAndBytes 自己量化的模型,启动 vLLM 的核心变化:

  1. --model 指向本地量化路径
  2. 去掉 --quantization awq
  3. 保留其他参数(dtype, max-model-len, gpu-memory-utilization

如果你愿意,我可以帮你写一个 完整 vLLM shell 脚本模板,支持:

  • 本地 BitsAndBytes 8bit 权重
  • LoRA 微调权重加载
  • 后台启动 + 日志
  • GPU 显存占用控制

这样你直接运行就能压测吞吐。

你希望我直接写吗?

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询