🚀 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 許可證。