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