File size: 4,930 Bytes
f6fb79a |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 |
---
license: mit
train: false
inference: true
pipeline_tag: text-generation
base_model:
- deepseek-ai/DeepSeek-R1-Distill-Qwen-7B
---
This is a version of the <a href="https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-7B">DeepSeek-R1-Distill-Qwen-7B</a> model re-distilled for better performance.
## Performance
| Models | <a href="https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-7B">DeepSeek-R1-Distill-Qwen-7B</a> | <a href="https://huggingface.co/mobiuslabsgmbh/DeepSeek-R1-ReDistill-Qwen-7B-v1.1">DeepSeek-R1-ReDistill-Qwen-7B-v1.1</a> |
|:-------------------:|:--------:|:----------------:|
| ARC (25-shot) | <b>55.03</b> | 52.3 |
| HellaSwag (10-shot)| 61.9 | <b>62.36</b> |
| MMLU (5-shot) | 56.75 | <b>59.53</b> |
| TruthfulQA-MC2 | 45.76 | <b>47.7</b> |
| Winogrande (5-shot)| 60.38 | <b>61.8</b> |
| GSM8K (5-shot) | 78.85 | <b>83.4</b> |
| Average | 59.78 | <b>61.18</b> |
| Models | <a href="https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-7B">DeepSeek-R1-Distill-Qwen-7B</a> | <a href="https://huggingface.co/mobiuslabsgmbh/DeepSeek-R1-ReDistill-Qwen-7B-v1.1">DeepSeek-R1-ReDistill-Qwen-7B-v1.1</a> |
|:-------------------:|:--------:|:----------------:|
| GPQA (0-shot) | 30.9 | <b>34.99</b> |
| MMLU PRO (5-shot) | 28.83 | <b>31.02</b> |
| MUSR (0-shot) | 38.85 | <b>44.42</b> |
| BBH (3-shot) | 43.54 | <b>51.53</b> |
| IfEval (0-shot) - strict | <b>42.33</b> | 35.49 |
| IfEval (0-shot) - loose | 30.31 | <b>38.49</b> |
## Usage
```Python
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
compute_dtype = torch.bfloat16
device = 'cuda'
model_id = "mobiuslabsgmbh/DeepSeek-R1-ReDistill-Qwen-7B-v1.1"
model = AutoModelForCausalLM.from_pretrained(model_id, torch_dtype=compute_dtype, attn_implementation="sdpa", device_map=device)
tokenizer = AutoTokenizer.from_pretrained(model_id)
prompt = "What is 1.5+102.2?"
chat = tokenizer.apply_chat_template([{"role":"user", "content":prompt}], tokenize=True, add_generation_prompt=True, return_tensors="pt")
outputs = model.generate(chat.to(device), max_new_tokens=1024, do_sample=True)
print(tokenizer.decode(outputs[0]))
```
Output:
```
<|begin▁of▁sentence|><|User|>What is 1.5+102.2?<|Assistant|><think>
First, I need to add the whole number parts of the two numbers. The whole numbers are 1 and 102, which add up to 103.
Next, I add the decimal parts of the two numbers. The decimal parts are 0.5 and 0.2, which add up to 0.7.
Finally, I combine the whole number and decimal parts to get the total sum. Adding 103 and 0.7 gives me 103.7.
</think>
To add the numbers \(1.5\) and \(102.2\), follow these steps:
1. **Add the whole number parts:**
\[
1 + 102 = 103
\]
2. **Add the decimal parts:**
\[
0.5 + 0.2 = 0.7
\]
3. **Combine the results:**
\[
103 + 0.7 = 103.7
\]
**Final Answer:**
\[
\boxed{103.7}
\]<|end▁of▁sentence|>
```
## HQQ
Run ~3.5x faster with <a href="https://github.com/mobiusml/hqq/">HQQ</a>. First, install the dependencies:
```
pip install hqq
```
```Python
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
from hqq.models.hf.base import AutoHQQHFModel
from hqq.core.quantize import *
#Params
device = 'cuda:0'
backend = "torchao_int4"
compute_dtype = torch.bfloat16 if backend=="torchao_int4" else torch.float16
model_id = "mobiuslabsgmbh/DeepSeek-R1-ReDistill-Qwen-7B-v1.1"
#Load
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id, torch_dtype=compute_dtype, attn_implementation="sdpa")
#Quantize
quant_config = BaseQuantizeConfig(nbits=4, group_size=64, axis=1)
AutoHQQHFModel.quantize_model(model, quant_config=quant_config, compute_dtype=compute_dtype, device=device)
#Optimize
from hqq.utils.patching import prepare_for_inference
prepare_for_inference(model, backend=backend, verbose=False)
############################################################
#Generate (streaming)
from hqq.utils.generation_hf import HFGenerator
gen = HFGenerator(model, tokenizer, max_new_tokens=4096, do_sample=True, compile='partial').warmup()
prompt = "If A equals B, and C equals B - A, what would be the value of C?"
out = gen.generate(prompt, print_tokens=True)
############################################################
# #Generate (simple)
# from hqq.utils.generation_hf import patch_model_for_compiled_runtime
# patch_model_for_compiled_runtime(model, tokenizer, warmup=True)
# prompt = "If A equals B, and C equals B - A, what would be the value of C?"
# chat = tokenizer.apply_chat_template([{"role":"user", "content":prompt}], tokenize=True, add_generation_prompt=True, return_tensors="pt")
# outputs = model.generate(chat.to(device), max_new_tokens=8192, do_sample=True)
# print(tokenizer.decode(outputs[0]))
``` |