Deepseek R1 Distill Qwen 14B Quantized.w8a8
模型简介
该模型是基于DeepSeek-R1-Distill-Qwen-14B的量化版本,通过INT8量化技术优化了权重和激活,显著降低了GPU内存需求并提高了计算吞吐量。适用于文本生成任务。
模型特点
INT8量化
通过INT8量化技术优化权重和激活,显著降低GPU内存需求和磁盘空间占用。
高效推理
使用vLLM后端部署,支持高效的文本生成任务。
高性能恢复率
在多个评估任务中保持了原始模型99%以上的性能恢复率。
模型能力
文本生成
对话系统
代码生成
使用案例
对话系统
智能客服
用于构建高效的智能客服系统,提供自然流畅的对话体验。
在对话任务中保持了原始模型99%以上的性能。
代码生成
代码补全
用于代码补全和生成任务,提高开发效率。
在HumanEval评估中保持了99.4%的性能恢复率。
🚀 DeepSeek-R1-Distill-Qwen-14B-quantized.w8a8
这是 DeepSeek-R1-Distill-Qwen-14B 的量化版本,通过将权重和激活量化为INT8数据类型,减少了GPU内存需求和磁盘空间需求,同时提高了计算吞吐量。
🚀 快速开始
使用 vLLM 部署
本模型可以使用 vLLM 后端进行高效部署,示例代码如下:
from transformers import AutoTokenizer
from vllm import LLM, SamplingParams
number_gpus = 1
model_name = "neuralmagic/DeepSeek-R1-Distill-Qwen-14B-quantized.w8a8"
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 兼容的服务,更多详情请参阅 文档。
✨ 主要特性
- 模型架构:Qwen2ForCausalLM,输入和输出均为文本。
- 模型优化:将权重和激活量化为INT8数据类型,减少GPU内存需求(约50%),提高矩阵乘法计算吞吐量(约2倍),同时减少磁盘大小需求(约50%)。
- 高效推理:在单流和多流异步部署中均可实现高达1.6倍的加速。
📦 安装指南
创建模型
使用 llm-compressor 创建本模型的代码如下:
from transformers import AutoModelForCausalLM, AutoTokenizer
from llmcompressor.modifiers.quantization import QuantizationModifier
from llmcompressor.modifiers.smoothquant import SmoothQuantModifier
from llmcompressor.transformers import oneshot
# Load model
model_stub = "deepseek-ai/DeepSeek-R1-Distill-Qwen-14B"
model_name = model_stub.split("/")[-1]
num_samples = 1024
max_seq_len = 8192
tokenizer = AutoTokenizer.from_pretrained(model_stub)
model = AutoModelForCausalLM.from_pretrained(
model_stub,
device_map="auto",
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)
# Configure the quantization algorithm and scheme
recipe = [
SmoothQuantModifier(smoothing_strength=0.8),
QuantizationModifier(
targets="Linear",
scheme="W8A8",
ignore=["lm_head"],
dampening_frac=0.1,
),
]
# Apply quantization
oneshot(
model=model,
dataset=ds,
recipe=recipe,
max_seq_length=max_seq_len,
num_calibration_samples=num_samples,
)
# Save to disk in compressed-tensors format
save_path = model_name + "-quantized.w8a8"
model.save_pretrained(save_path)
tokenizer.save_pretrained(save_path)
print(f"Model and tokenizer saved to: {save_path}")
💻 使用示例
基础用法
from transformers import AutoTokenizer
from vllm import LLM, SamplingParams
number_gpus = 1
model_name = "neuralmagic/DeepSeek-R1-Distill-Qwen-14B-quantized.w8a8"
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)
📚 详细文档
评估
本模型在 OpenLLM Leaderboard V1 和 V2 上进行了评估,使用的命令如下:
OpenLLM Leaderboard V1
lm_eval \
--model vllm \
--model_args pretrained="neuralmagic/DeepSeek-R1-Distill-Qwen-14B-quantized.w8a8",dtype=auto,max_model_len=4096,tensor_parallel_size=1,enable_chunked_prefill=True \
--tasks openllm \
--write_out \
--batch_size auto \
--output_path output_dir \
--show_config
OpenLLM Leaderboard V2
lm_eval \
--model vllm \
--model_args pretrained="neuralmagic/DeepSeek-R1-Distill-Qwen-14B-quantized.w8a8",dtype=auto,max_model_len=4096,tensor_parallel_size=1,enable_chunked_prefill=True \
--apply_chat_template \
--fewshot_as_multiturn \
--tasks leaderboard \
--write_out \
--batch_size auto \
--output_path output_dir \
--show_config
准确率
类别 | 指标 | deepseek-ai/DeepSeek-R1-Distill-Qwen-14B | neuralmagic/DeepSeek-R1-Distill-Qwen-14B-quantized.w8a8 | 恢复率 |
---|---|---|---|---|
推理 | AIME 2024 (pass@1) | 66.67 | 66.31 | 99.46% |
推理 | MATH-500 (pass@1) | 94.66 | 94.68 | 100.02% |
推理 | GPQA Diamond (pass@1) | 59.35 | 58.32 | 98.26% |
推理 | 平均得分 | 73.56 | 73.1 | 99.37% |
OpenLLM V1 | ARC-Challenge (Acc-Norm, 25-shot) | 58.79 | 57.85 | 98.4% |
OpenLLM V1 | GSM8K (Strict-Match, 5-shot) | 87.04 | 87.79 | 100.9% |
OpenLLM V1 | HellaSwag (Acc-Norm, 10-shot) | 81.51 | 81.04 | 99.4% |
OpenLLM V1 | MMLU (Acc, 5-shot) | 74.46 | 74.26 | 99.7% |
OpenLLM V1 | TruthfulQA (MC2, 0-shot) | 54.77 | 54.94 | 100.3% |
OpenLLM V1 | Winogrande (Acc, 5-shot) | 69.38 | 70.48 | 101.6% |
OpenLLM V1 | 平均得分 | 70.99 | 71.06 | 100.1% |
OpenLLM V2 | IFEval (Inst Level Strict Acc, 0-shot) | 42.11 | 41.62 | 98.6% |
OpenLLM V2 | BBH (Acc-Norm, 3-shot) | 13.73 | 14.29 | --- |
OpenLLM V2 | Math-Hard (Exact-Match, 4-shot) | 0.00 | 0.00 | --- |
OpenLLM V2 | GPQA (Acc-Norm, 0-shot) | 35.07 | 37.22 | 106.2% |
OpenLLM V2 | MUSR (Acc-Norm, 0-shot) | 45.14 | 43.56 | 96.5% |
OpenLLM V2 | MMLU-Pro (Acc, 5-shot) | 34.86 | 33.63 | 96.5% |
OpenLLM V2 | 平均得分 | 34.21 | 34.12 | 99.7% |
编码 | HumanEval (pass@1) | 78.90 | 78.40 | 99.4% |
编码 | HumanEval (pass@10) | 89.80 | 90.10 | 100.3% |
编码 | HumanEval+ (pass@10) | 72.60 | 72.40 | 99.7% |
编码 | HumanEval+ (pass@10) | 84.90 | 84.90 | 100.0% |
推理性能
本模型在单流和多流异步部署中均可实现高达1.6倍的加速,具体取决于硬件和使用场景。以下是使用 vLLM 版本 0.7.2 和 GuideLLM 进行的性能基准测试:
基准测试命令
guidellm --model neuralmagic/DeepSeek-R1-Distill-Qwen-14B-quantized.w8a8 --target "http://localhost:8000/v1" --data-type emulated --data "prompt_tokens=<prompt_tokens>,generated_tokens=<generated_tokens>" --max seconds 360 --backend aiohttp_server
单流性能(使用 vLLM 版本 0.7.2 测量)
硬件 | 模型 | 平均成本降低 | 延迟 (s) | QPD |
---|---|---|---|---|
A6000x1 | deepseek-ai/DeepSeek-R1-Distill-Qwen-14B | --- | 5.4 | 837 |
A6000x1 | neuralmagic/DeepSeek-R1-Distill-Qwen-14B-quantized.w8a8 | 1.59 | 3.3 | 1345 |
A6000x1 | neuralmagic/DeepSeek-R1-Distill-Qwen-14B-quantized.w4a16 | 2.51 | 2.0 | 2275 |
A100x1 | deepseek-ai/DeepSeek-R1-Distill-Qwen-14B | --- | 2.6 | 765 |
A100x1 | neuralmagic/DeepSeek-R1-Distill-Qwen-14B-quantized.w8a8 | 1.34 | 1.9 | 1072 |
A100x1 | neuralmagic/DeepSeek-R1-Distill-Qwen-14B-quantized.w4a16 | 1.93 | 1.2 | 1627 |
H100x1 | deepseek-ai/DeepSeek-R1-Distill-Qwen-14B | --- | 1.6 | 672 |
H100x1 | neuralmagic/DeepSeek-R1-Distill-Qwen-14B-FP8-dynamic | 1.33 | 1.2 | 925 |
H100x1 | neuralmagic/DeepSeek-R1-Distill-Qwen-14B-quantized.w4a16 | 1.37 | 1.2 | 944 |
**用例配置文件:提示令牌 / 生成令牌
**QPD:每美元查询次数,基于 Lambda Labs 的按需成本(2025年2月18日观察)。
多流异步性能(使用 vLLM 版本 0.7.2 测量)
硬件 | 模型 | 平均成本降低 | 最大吞吐量 (QPS) | QPD |
---|---|---|---|---|
A6000x1 | deepseek-ai/DeepSeek-R1-Distill-Qwen-14B | --- | 13.7 | 30785 |
A6000x1 | neuralmagic/DeepSeek-R1-Distill-Qwen-14B-quantized.w8a8 | 1.44 | 21.4 | 48181 |
A6000x1 | neuralmagic/DeepSeek-R1-Distill-Qwen-14B-quantized.w4a16 | 0.98 | 12.7 | 28540 |
A100x1 | deepseek-ai/DeepSeek-R1-Distill-Qwen-14B | --- | 15.6 | 31306 |
A100x1 | neuralmagic/DeepSeek-R1-Distill-Qwen-14B-quantized.w8a8 | 1.31 | 20.8 | 41907 |
A100x1 | neuralmagic/DeepSeek-R1-Distill-Qwen-14B-quantized.w4a16 | 0.94 | 14.0 | 28146 |
H100x1 | deepseek-ai/DeepSeek-R1-Distill-Qwen-14B | --- | 31.4 | 34404 |
H100x1 | neuralmagic/DeepSeek-R1-Distill-Qwen-14B-FP8-dynamic | 1.31 | 40.9 | 44729 |
H100x1 | neuralmagic/DeepSeek-R1-Distill-Qwen-14B-quantized.w4a16 | 1.12 | 33.3 | 36387 |
**用例配置文件:提示令牌 / 生成令牌
**QPS:每秒查询次数。
**QPD:每美元查询次数,基于 Lambda Labs 的按需成本(2025年2月18日观察)。
🔧 技术细节
模型优化
本模型通过将 DeepSeek-R1-Distill-Qwen-14B 的权重和激活量化为INT8数据类型,减少了GPU内存需求和磁盘空间需求,同时提高了计算吞吐量。具体来说,权重量化将表示权重和激活的位数从16位减少到8位,从而减少了约50%的GPU内存需求和磁盘大小需求,并提高了约2倍的矩阵乘法计算吞吐量。
仅对Transformer块内的线性算子的权重和激活进行了量化。权重使用对称的每通道方案进行量化,而激活使用对称的每个令牌方案进行量化。量化使用了 GPTQ 算法,该算法在 llm-compressor 库中实现。
📄 许可证
本项目采用 MIT 许可证。
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
智启未来,您的人工智能解决方案智库
简体中文