🚀 QwQ-32B-FP8-dynamic
QwQ-32B-FP8-dynamic 是 Qwen/QwQ-32B 的量化版本,通过将权重和激活量化为 FP8 数据类型,减少了磁盘大小和 GPU 内存需求,同时保持了较高的推理性能。
🚀 快速开始
模型概述
- 模型架构:Qwen2ForCausalLM
- 模型优化:
- 发布日期:2025 年 3 月 6 日
- 版本:1.0
- 模型开发者:Neural Magic
模型优化
本模型通过将 Qwen/QwQ-32B 的权重和激活量化为 FP8 数据类型而获得。这种优化将每个参数的位数从 16 位减少到 8 位,使磁盘大小和 GPU 内存需求大约减少了 50%。
仅对 Transformer 块内线性算子的权重和激活进行量化。权重使用对称的逐通道方案进行量化,而激活使用对称的逐令牌方案进行量化。使用 LLM Compressor 进行量化。
📦 安装指南
此部分文档未提供安装步骤,若有相关需求可参考对应库的官方文档。
💻 使用示例
基础用法
本模型可以使用 vLLM 后端进行高效部署,示例代码如下:
from transformers import AutoTokenizer
from vllm import LLM, SamplingParams
number_gpus = 1
model_name = "neuralmagic/QwQ-32B-FP8-dynamic"
tokenizer = AutoTokenizer.from_pretrained(model_name)
sampling_params = SamplingParams(temperature=0.6, max_tokens=256, stop_token_ids=[tokenizer.eos_token_id])
llm = LLM(model=model_name, tensor_parallel_size=number_gpus, trust_remote_code=True)
messages_list = [
[{"role": "user", "content": "Who are you? Please respond in pirate speak!"}],
]
prompt_token_ids = [tokenizer.apply_chat_template(messages, add_generation_prompt=True) for messages in messages_list]
outputs = llm.generate(prompt_token_ids=prompt_token_ids, sampling_params=sampling_params)
generated_text = [output.outputs[0].text for output in outputs]
print(generated_text)
vLLM 还支持与 OpenAI 兼容的服务。更多详细信息请参阅 文档。
高级用法
本模型使用 llm-compressor 创建,示例代码如下:
from transformers import AutoModelForCausalLM, AutoTokenizer
from llmcompressor.modifiers.quantization import QuantizationModifier
from llmcompressor.transformers import oneshot
import os
model_stub = "Qwen/QwQ-32B"
model_name = model_stub.split("/")[-1]
model = AutoModelForCausalLM.from_pretrained(
model_stub,
torch_dtype="auto",
)
tokenizer = AutoTokenizer.from_pretrained(model_stub)
recipe = QuantizationModifier(
targets="Linear",
scheme="FP8_DYNAMIC",
ignore=["lm_head"],
)
oneshot(
model=model,
recipe=recipe,
)
save_path = model_name + "-FP8-dynamic"
model.save_pretrained(save_path)
tokenizer.save_pretrained(save_path)
print(f"Model and tokenizer saved to: {save_path}")
🔧 技术细节
准确性
类别 |
指标 |
Qwen/QwQ-32B |
neuralmagic/QwQ-32B-FP8-dynamic |
恢复率 |
推理 |
AIME 2024 (pass@1) |
78.66 |
79.40 |
100.94% |
推理 |
MATH-500 (pass@1) |
97.39 |
97.44 |
100.05% |
推理 |
GPQA Diamond (pass@1) |
64.72 |
63.21 |
97.66% |
推理 |
平均得分 |
80.25 |
80.05 |
99.75% |
📄 许可证
本项目采用 MIT 许可证。