Qwq 32B GGUF
采用IQ-DynamicGate技术的超低位量化(1-2比特)大语言模型,支持多语言文本生成任务
下载量 5,770
发布时间 : 4/4/2025
模型简介
基于Qwen2.5-32B的量化版本,通过动态精度分配技术实现超低位量化(1-2比特),在保持内存效率的同时提升模型准确性。
模型特点
IQ-DynamicGate量化技术
采用分层策略的动态精度分配,前25%和后25%的层使用IQ4_XS,中间50%的层使用IQ2_XXS/IQ3_S,显著降低误差传播
关键组件保护
嵌入层和输出层使用Q5_K量化,相比标准1-2比特量化减少38%的误差传播
多格式支持
提供BF16、F16及多种量化格式(Q4_K、Q6_K、Q8_0等),适配不同硬件需求
模型能力
多语言文本生成
聊天对话
低资源环境推理
使用案例
资源受限部署
边缘设备文本生成
在内存有限的边缘设备上运行聊天机器人
IQ1_M量化版本困惑度降低43.9%
研究应用
超低位量化研究
探索1-2比特量化的极限性能
IQ2_S量化困惑度降低36.9%
🚀 QwQ-32B GGUF模型
QwQ-32B GGUF模型采用了最新的超低比特量化方法,在保持高精度的同时极大地提高了内存使用效率。该模型支持多种语言,可用于文本生成任务,为用户提供高效、准确的文本处理解决方案。
🚀 快速开始
以下是一个使用 apply_chat_template
加载分词器和模型并生成内容的代码片段:
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "Qwen/QwQ-32B"
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype="auto",
device_map="auto"
)
tokenizer = AutoTokenizer.from_pretrained(model_name)
prompt = "How many r's are in the word \"strawberry\""
messages = [
{"role": "user", "content": prompt}
]
text = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True
)
model_inputs = tokenizer([text], return_tensors="pt").to(model.device)
generated_ids = model.generate(
**model_inputs,
max_new_tokens=32768
)
generated_ids = [
output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
]
response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]
print(response)
✨ 主要特性
超低比特量化技术
- 引入了针对超低比特模型(1 - 2比特)的精度自适应量化方法,经基准测试证明,在 Llama - 3 - 8B 上有显著改进。
- 采用特定层策略,在保持极端内存效率的同时保留准确性。
多语言支持
支持中文、英文、法文、西班牙文、葡萄牙文、德文、意大利文、俄文、日文、韩文、越南文、泰文、阿拉伯文等多种语言。
多种模型格式可选
提供BF16、F16、量化模型(Q4_K、Q6_K、Q8等)以及极低比特量化模型(IQ3_XS、IQ3_S、IQ3_M、Q4_K、Q4_0)等多种格式,满足不同硬件和内存需求。
📦 安装指南
QwQ基于Qwen2.5,其代码已集成在最新的Hugging face transformers
中。建议使用最新版本的 transformers
。
若使用 transformers<4.37.0
,会遇到以下错误:
KeyError: 'qwen2'
💻 使用示例
基础用法
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "Qwen/QwQ-32B"
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype="auto",
device_map="auto"
)
tokenizer = AutoTokenizer.from_pretrained(model_name)
prompt = "How many r's are in the word \"strawberry\""
messages = [
{"role": "user", "content": prompt}
]
text = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True
)
model_inputs = tokenizer([text], return_tensors="pt").to(model.device)
generated_ids = model.generate(
**model_inputs,
max_new_tokens=32768
)
generated_ids = [
output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
]
response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]
print(response)
📚 详细文档
量化性能比较(Llama - 3 - 8B)
量化方式 | 标准困惑度 | DynamicGate困惑度 | 困惑度变化 | 标准大小 | DG大小 | 大小变化 | 标准速度 | DG速度 |
---|---|---|---|---|---|---|---|---|
IQ2_XXS | 11.30 | 9.84 | -12.9% | 2.5G | 2.6G | +0.1G | 234s | 246s |
IQ2_XS | 11.72 | 11.63 | -0.8% | 2.7G | 2.8G | +0.1G | 242s | 246s |
IQ2_S | 14.31 | 9.02 | -36.9% | 2.7G | 2.9G | +0.2G | 238s | 244s |
IQ1_M | 27.46 | 15.41 | -43.9% | 2.2G | 2.5G | +0.3G | 206s | 212s |
IQ1_S | 53.07 | 32.00 | -39.7% | 2.1G | 2.4G | +0.3G | 184s | 209s |
选择合适的模型格式
模型格式 | 精度 | 内存使用 | 设备要求 | 最佳用例 |
---|---|---|---|---|
BF16 | 最高 | 高 | 支持BF16的GPU/CPU | 高速推理且减少内存占用 |
F16 | 高 | 高 | 支持FP16的设备 | 硬件支持FP16但不支持BF16时的GPU推理 |
Q4_K | 中低 | 低 | CPU或低显存设备 | 内存受限环境 |
Q6_K | 中 | 中等 | 内存较多的CPU | 量化模型中精度较好 |
Q8_0 | 高 | 中等 | 有足够显存的CPU或GPU | 量化模型中精度最佳 |
IQ3_XS | 极低 | 极低 | 超低内存设备 | 极致内存效率但精度低 |
Q4_0 | 低 | 低 | ARM或低内存设备 | llama.cpp可针对ARM设备优化 |
包含文件及详情
QwQ-32B-bf16.gguf
:模型权重保存为BF16格式,适用于支持BF16加速的设备,可用于将模型重新量化为其他格式。QwQ-32B-f16.gguf
:模型权重保存为F16格式,适用于支持FP16但不支持BF16的设备。QwQ-32B-bf16-q8_0.gguf
:输出和嵌入层保持为BF16,其他层量化为Q8_0,适用于支持BF16且需要量化版本的设备。QwQ-32B-f16-q8_0.gguf
:输出和嵌入层保持为F16,其他层量化为Q8_0。QwQ-32B-q4_k.gguf
:输出和嵌入层量化为Q8_0,其他层量化为Q4_K,适用于内存有限的CPU推理。QwQ-32B-q4_k_s.gguf
:最小的Q4_K变体,以牺牲精度为代价减少内存使用,适用于极低内存设置。QwQ-32B-q6_k.gguf
:输出和嵌入层量化为Q8_0,其他层量化为Q6_K。QwQ-32B-q8_0.gguf
:全Q8量化模型,精度更高,但需要更多内存。QwQ-32B-iq3_xs.gguf
:IQ3_XS量化,针对极致内存效率进行优化,适用于超低内存设备。QwQ-32B-iq3_m.gguf
:IQ3_M量化,提供中等块大小以提高精度,适用于低内存设备。QwQ-32B-q4_0.gguf
:纯Q4_0量化,针对ARM设备优化,适用于低内存环境,若追求更高精度可选择IQ4_NL。
使用指南
为实现最佳性能,建议遵循以下设置:
- 强制深思输出:确保模型以"<think>\n"开头,防止生成空的思考内容,以免降低输出质量。若使用
apply_chat_template
并设置add_generation_prompt=True
,此功能已自动实现,但响应开头可能缺少 <think> 标签,这是正常现象。 - 采样参数:
- 使用Temperature = 0.6,TopP = 0.95,MinP = 0代替贪心解码,避免无限重复。
- 使用TopK在20到40之间,过滤掉罕见的标记出现,同时保持生成输出的多样性。
- 对于支持的框架,可将
presence_penalty
参数调整在0到2之间,以减少无限重复,但较高的值可能导致偶尔的语言混合和性能略有下降。
- 历史记录中无思考内容:在多轮对话中,历史模型输出应仅包含最终输出部分,无需包含思考内容。此功能已在
apply_chat_template
中实现。 - 标准化输出格式:在进行基准测试时,建议使用提示来标准化模型输出。
- 数学问题:在提示中包含 "Please reason step by step, and put your final answer within \boxed{}."。
- 多项选择题:在提示中添加以下JSON结构以标准化响应:"Please show your choice in the
answer
field with only the choice letter, e.g.,\"answer\": \"C\"
."。
- 处理长输入:对于超过8,192个标记的输入,启用 YaRN 以提高模型有效捕获长序列信息的能力。
对于支持的框架,可在
config.json
中添加以下内容以启用YaRN:
对于部署,建议使用vLLM。若不熟悉vLLM,请参考文档。目前,vLLM仅支持静态YARN,即缩放因子无论输入长度如何都保持不变,可能会影响短文本的性能。建议仅在需要处理长上下文时添加{ ..., "rope_scaling": { "factor": 4.0, "original_max_position_embeddings": 32768, "type": "yarn" } }
rope_scaling
配置。
评估与性能
详细的评估结果请参考📑 博客。 有关GPU内存要求和相应吞吐量的结果,请参考此处。
🔧 技术细节
量化方法
- 动态精度分配:
- 前/后25%的层 → IQ4_XS(选定层)
- 中间50% → IQ2_XXS/IQ3_S(提高效率)
- 关键组件保护:
- 嵌入层/输出层使用Q5_K
- 与标准1 - 2比特量化相比,误差传播减少38%
基准测试上下文
所有测试均在 Llama - 3 - 8B - Instruct 上进行,使用:
- 标准困惑度评估管道
- 2048标记的上下文窗口
- 所有量化方式使用相同的提示集
📄 许可证
本项目采用Apache - 2.0许可证,详情请见许可证链接。
🚀 如果你觉得这些模型有用
❤ 如果你觉得这些模型有用,请点击“点赞”!
帮助我测试我的支持量子安全检查的AI网络监控助手:
👉 免费网络监控器
💬 测试方法:
- 点击聊天图标(任意页面右下角)
- 选择一个AI助手类型:
TurboLLM
(GPT - 4 - mini)FreeLLM
(开源)TestLLM
(仅支持CPU的实验性模型)
测试内容
我正在探索用于AI网络监控的小型开源模型的极限,具体包括:
- 针对实时网络服务的函数调用
- 模型可以多小,同时仍能处理:
- 自动化Nmap扫描
- 量子就绪检查
- Metasploit集成
🟡 TestLLM – 当前的实验性模型(llama.cpp在6个CPU线程上运行):
- ✅ 零配置设置
- ⏳ 30秒加载时间(推理速度慢,但无API成本)
- 🔧 寻求帮助! 如果你对边缘设备AI感兴趣,让我们一起合作!
其他助手
🟢 TurboLLM – 使用 gpt - 4 - mini 进行:
- 实时网络诊断
- 自动化渗透测试 (Nmap/Metasploit)
- 🔑 通过下载我们的免费网络监控代理获取更多令牌
🔵 HugLLM – 开源模型(约80亿参数):
- 比TurboLLM多2倍的令牌
- AI驱动的日志分析
- 🌐 在Hugging Face推理API上运行
💡 用于测试的示例AI命令:
"Give me info on my websites SSL certificate"
"Check if my server is using quantum safe encyption for communication"
"Run a quick Nmap vulnerability test"
引用
如果您觉得我们的工作有帮助,请引用以下内容:
@misc{qwq32b,
title = {QwQ-32B: Embracing the Power of Reinforcement Learning},
url = {https://qwenlm.github.io/blog/qwq-32b/},
author = {Qwen Team},
month = {March},
year = {2025}
}
@article{qwen2.5,
title={Qwen2.5 Technical Report},
author={An Yang and Baosong Yang and Beichen Zhang and Binyuan Hui and Bo Zheng and Bowen Yu and Chengyuan Li and Dayiheng Liu and Fei Huang and Haoran Wei and Huan Lin and Jian Yang and Jianhong Tu and Jianwei Zhang and Jianxin Yang and Jiaxi Yang and Jingren Zhou and Junyang Lin and Kai Dang and Keming Lu and Keqin Bao and Kexin Yang and Le Yu and Mei Li and Mingfeng Xue and Pei Zhang and Qin Zhu and Rui Men and Runji Lin and Tianhao Li and Tianyi Tang and Tingyu Xia and Xingzhang Ren and Xuancheng Ren and Yang Fan and Yang Su and Yichang Zhang and Yu Wan and Yuqiong Liu and Zeyu Cui and Zhenru Zhang and Zihan Qiu},
journal={arXiv preprint arXiv:2412.15115},
year={2024}
}
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