🚀 DeepSeek-R1-quantized.w4a16
本项目是经过量化处理的 DeepSeek-R1
模型,通过将权重量化为 INT4 数据类型,有效减少了 GPU 内存和磁盘空间的需求。同时,该模型可以借助 vLLM 后端进行高效部署。
🚀 快速开始
模型部署示例
可以使用 vLLM 后端高效部署此模型,示例代码如下:
from vllm import LLM, SamplingParams
from transformers import AutoTokenizer
model_id = "RedHatAI/DeepSeek-R1-quantized.w4a16"
number_gpus = 8
sampling_params = SamplingParams(temperature=0.7, top_p=0.8, max_tokens=256)
tokenizer = AutoTokenizer.from_pretrained(model_id)
prompt = "Give me a short introduction to large language model."
llm = LLM(model=model_id, tensor_parallel_size=number_gpus)
outputs = llm.generate(prompt, sampling_params)
generated_text = outputs[0].outputs[0].text
print(generated_text)
vLLM 还支持与 OpenAI 兼容的服务,更多详细信息请参阅 文档。
✨ 主要特性
模型概述
- 模型架构:DeepseekV3ForCausalLM
- 模型优化:
- 发布日期:2025 年 4 月 15 日
- 版本:1.0
- 模型开发者:Red Hat (Neural Magic)
模型优化说明
此模型是通过将 DeepSeek-R1 的权重量化为 INT4 数据类型得到的。这种优化将表示权重的位数从 8 位减少到 4 位,从而将 GPU 内存需求降低了约 50%,同时磁盘空间需求也减少了约 50%。
💻 使用示例
基础用法
from vllm import LLM, SamplingParams
from transformers import AutoTokenizer
model_id = "RedHatAI/DeepSeek-R1-quantized.w4a16"
number_gpus = 8
sampling_params = SamplingParams(temperature=0.7, top_p=0.8, max_tokens=256)
tokenizer = AutoTokenizer.from_pretrained(model_id)
prompt = "Give me a short introduction to large language model."
llm = LLM(model=model_id, tensor_parallel_size=number_gpus)
outputs = llm.generate(prompt, sampling_params)
generated_text = outputs[0].outputs[0].text
print(generated_text)
📚 详细文档
评估信息
该模型在 OpenLLM 排行榜任务(v1)上通过 lm-evaluation-harness 进行评估,在流行的推理任务(AIME 2024、MATH-500、GPQA-Diamond)上通过 LightEval 进行评估。对于推理评估,我们基于 10 次不同种子的运行来估计 pass@1。
评估详情
OpenLLM v1
lm_eval \
--model vllm \
--model_args pretrained="RedHatAI/DeepSeek-R1-quantized.w4a16",dtype=auto,add_bos_token=True,max_model_len=4096,tensor_parallel_size=8,gpu_memory_utilization=0.8,enable_chunked_prefill=True,trust_remote_code=True \
--tasks openllm \
--batch_size auto
推理基准测试
export MODEL_ARGS="pretrained=RedHatAI/DeepSeek-R1-quantized.w4a16,dtype=bfloat16,max_model_length=38768,gpu_memory_utilization=0.8,tensor_parallel_size=8,add_special_tokens=false,generation_parameters={\"max_new_tokens\":32768,\"temperature\":0.6,\"top_p\":0.95,\"seed\":42}"
export VLLM_WORKER_MULTIPROC_METHOD=spawn
lighteval vllm $MODEL_ARGS "custom|aime24|0|0,custom|math_500|0|0,custom|gpqa:diamond|0|0" \
--custom-tasks src/open_r1/evaluate.py \
--use-chat-template \
--output-dir $OUTPUT_DIR
准确率
|
恢复率 (%) |
deepseek/DeepSeek-R1 |
RedHatAI/DeepSeek-R1-quantized.w4a16 (本模型) |
ARC-Challenge 25-shot |
100.00 |
72.53 |
72.53 |
GSM8k 5-shot |
99.76 |
95.91 |
95.68 |
HellaSwag 10-shot |
100.07 |
89.30 |
89.36 |
MMLU 5-shot |
99.74 |
87.22 |
86.99 |
TruthfulQA 0-shot |
100.83 |
59.28 |
59.77 |
WinoGrande 5-shot |
101.65 |
82.00 |
83.35 |
OpenLLM v1 平均得分 |
100.30 |
81.04 |
81.28 |
AIME 2024 pass@1 |
98.30 |
78.33 |
77.00 |
MATH-500 pass@1 |
99.84 |
97.24 |
97.08 |
GPQA Diamond pass@1 |
98.01 |
73.38 |
71.92 |
推理 平均得分 |
98.81 |
82.99 |
82.00 |
📄 许可证
本项目采用 MIT 许可证。