Qwq 32B INT8 W8A8
QWQ-32B的INT8量化版本,通过减少权重和激活的表示位数来优化性能
下载量 590
发布时间 : 3/13/2025
模型简介
QWQ-32B的INT8量化版本,优化了GPU内存需求和计算吞吐量,适用于文本生成任务
模型特点
INT8量化
权重和激活均采用INT8量化,减少GPU内存需求和磁盘空间
高效计算
通过量化提升矩阵乘法计算吞吐量约2倍
与vLLM兼容
支持通过vLLM Docker镜像部署,提供OpenAI兼容的API
模型能力
文本生成
使用案例
自然语言处理
文本生成
用于生成连贯的文本内容
🚀 QWQ-32B-INT8-W8A8
QWQ-32B-INT8-W8A8 是 QWQ-32B 的 INT8 量化版本,通过对权重和激活值进行量化,减少了 GPU 内存需求和磁盘空间占用,同时提高了矩阵乘法的计算吞吐量。
🚀 快速开始
使用 vLLM 部署
可以使用与 OpenAI 兼容的 vLLM Docker 镜像进行部署,示例如下:
#!/bin/bash
# 默认值
NAME_SUFFIX=""
PORT=8010
GPUS="0,1" # 默认 GPU
# 解析命令行参数
while getopts "s:p:g:" opt; do
case $opt in
s) NAME_SUFFIX="$OPTARG";; # 容器名称后缀
p) PORT="$OPTARG";; # 端口号
g) GPUS="$OPTARG";; # GPU 设备 (例如 "2,3")
?) echo "Usage: $0 [-s suffix] [-p port] [-g gpus]"
exit 1;;
esac
done
model=ospatch/QwQ-32B-INT8-W8A8
volume=~/.cache/huggingface/hub
revision=main
version=latest
context=16384
base_name="vllm-qwq-int8"
container_name="${base_name}${NAME_SUFFIX}"
sudo docker run --restart=unless-stopped --name $container_name --runtime nvidia --gpus '"device='"$GPUS"'"' \
--shm-size 1g -p $PORT:8000 -e NCCL_P2P_DISABLE=1 -e HUGGING_FACE_HUB_TOKEN=<user_token> \
-v $volume:/root/.cache/huggingface/hub vllm/vllm-openai:$version --model $model \
--revision $revision --tensor-parallel-size 2 \
--gpu-memory-utilization 0.97 --max-model-len $context --enable-chunked-prefill
默认配置无需命令行参数。
✨ 主要特性
模型概述
- 模型架构:采用带有 RoPE、SwiGLU、RMSNorm 和注意力 QKV 偏置的 Transformer 架构。
- 输入:文本
- 输出:文本
- 模型优化:
- 权重量化:INT8
- 激活量化:INT8
- 发布日期:2025 年 3 月 13 日
模型优化
该模型通过将 QWQ-32B 的权重和激活值量化为 INT8 数据类型获得。这种优化将表示权重和激活值的位数从 16 位减少到 8 位,从而减少了 GPU 内存需求(约 50%),并提高了矩阵乘法的计算吞吐量(约 2 倍)。权重量化还将磁盘大小需求减少了约 50%。
仅对 Transformer 块内线性算子的权重和激活值进行量化。权重使用对称的逐通道方案进行量化,而激活值使用对称的逐令牌方案进行量化。量化采用了 GPTQ 算法,该算法在 llm-compressor 库中实现。
💻 使用示例
基础用法
使用 vLLM 部署模型的基础用法,见上述快速开始部分的代码示例。
高级用法
创建该模型的代码示例如下:
## 脚本复制自 Neural Magic
from transformers import AutoModelForCausalLM, AutoTokenizer
from datasets import load_dataset
from llmcompressor.modifiers.quantization import QuantizationModifier
from llmcompressor.modifiers.smoothquant import SmoothQuantModifier
from llmcompressor.transformers import oneshot
from llmcompressor.transformers.compression.helpers import calculate_offload_device_map
# 加载模型
model_stub = "Qwen/QwQ-32B"
model_name = model_stub.split("/")[-1]
num_samples = 1024
max_seq_len = 8192
tokenizer = AutoTokenizer.from_pretrained(model_stub)
device_map = calculate_offload_device_map(
model_stub,
reserve_for_hessians=True,
num_gpus=4,
torch_dtype="auto",
)
model = AutoModelForCausalLM.from_pretrained(
model_stub,
device_map=device_map,
torch_dtype="auto",
)
def preprocess_fn(example):
return {"text": tokenizer.apply_chat_template(example["messages"], add_generation_prompt=False, tokenize=False)}
ds = load_dataset("neuralmagic/LLM_compression_calibration", split="train")
ds = ds.map(preprocess_fn)
# 配置量化算法和方案
recipe = [
SmoothQuantModifier(smoothing_strength=0.7),
QuantizationModifier(
targets="Linear",
scheme="W8A8",
ignore=["lm_head"],
dampening_frac=0.1,
),
]
# 应用量化
oneshot(
model=model,
dataset=ds,
recipe=recipe,
max_seq_length=max_seq_len,
num_calibration_samples=num_samples,
)
# 以压缩张量格式保存到磁盘
save_path = model_name + "-INT8-W8A8"
model.save_pretrained(save_path)
tokenizer.save_pretrained(save_path)
print(f"模型和分词器已保存到: {save_path}")
📚 详细文档
使用指南
请参考 QWQ-32B 的模型卡片。
评估与准确性
该模型通过了初步检查,但未对量化模型的精度损失进行评估。
📄 许可证
本模型采用 Apache-2.0 许可证。
📦 模型信息
属性 | 详情 |
---|---|
模型类型 | INT8 量化的 Transformer 模型 |
基础模型 | Qwen/QwQ-32B |
发布日期 | 2025 年 3 月 13 日 |
量化算法 | GPTQ |
量化方案 | 权重 INT8,激活 INT8 |
优化效果 | 减少约 50% 的 GPU 内存和磁盘空间,提高约 2 倍的计算吞吐量 |
Phi 2 GGUF
其他
Phi-2是微软开发的一个小型但强大的语言模型,具有27亿参数,专注于高效推理和高质量文本生成。
大型语言模型 支持多种语言
P
TheBloke
41.5M
205
Roberta Large
MIT
基于掩码语言建模目标预训练的大型英语语言模型,采用改进的BERT训练方法
大型语言模型 英语
R
FacebookAI
19.4M
212
Distilbert Base Uncased
Apache-2.0
DistilBERT是BERT基础模型的蒸馏版本,在保持相近性能的同时更轻量高效,适用于序列分类、标记分类等自然语言处理任务。
大型语言模型 英语
D
distilbert
11.1M
669
Llama 3.1 8B Instruct GGUF
Meta Llama 3.1 8B Instruct 是一个多语言大语言模型,针对多语言对话用例进行了优化,在常见的行业基准测试中表现优异。
大型语言模型 英语
L
modularai
9.7M
4
Xlm Roberta Base
MIT
XLM-RoBERTa是基于100种语言的2.5TB过滤CommonCrawl数据预训练的多语言模型,采用掩码语言建模目标进行训练。
大型语言模型 支持多种语言
X
FacebookAI
9.6M
664
Roberta Base
MIT
基于Transformer架构的英语预训练模型,通过掩码语言建模目标在海量文本上训练,支持文本特征提取和下游任务微调
大型语言模型 英语
R
FacebookAI
9.3M
488
Opt 125m
其他
OPT是由Meta AI发布的开放预训练Transformer语言模型套件,参数量从1.25亿到1750亿,旨在对标GPT-3系列性能,同时促进大规模语言模型的开放研究。
大型语言模型 英语
O
facebook
6.3M
198
1
基于transformers库的预训练模型,适用于多种NLP任务
大型语言模型
Transformers

1
unslothai
6.2M
1
Llama 3.1 8B Instruct
Llama 3.1是Meta推出的多语言大语言模型系列,包含8B、70B和405B参数规模,支持8种语言和代码生成,优化了多语言对话场景。
大型语言模型
Transformers 支持多种语言

L
meta-llama
5.7M
3,898
T5 Base
Apache-2.0
T5基础版是由Google开发的文本到文本转换Transformer模型,参数规模2.2亿,支持多语言NLP任务。
大型语言模型 支持多种语言
T
google-t5
5.4M
702
精选推荐AI模型
Llama 3 Typhoon V1.5x 8b Instruct
专为泰语设计的80亿参数指令模型,性能媲美GPT-3.5-turbo,优化了应用场景、检索增强生成、受限生成和推理任务
大型语言模型
Transformers 支持多种语言

L
scb10x
3,269
16
Cadet Tiny
Openrail
Cadet-Tiny是一个基于SODA数据集训练的超小型对话模型,专为边缘设备推理设计,体积仅为Cosmo-3B模型的2%左右。
对话系统
Transformers 英语

C
ToddGoldfarb
2,691
6
Roberta Base Chinese Extractive Qa
基于RoBERTa架构的中文抽取式问答模型,适用于从给定文本中提取答案的任务。
问答系统 中文
R
uer
2,694
98