-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathexample.py
39 lines (32 loc) · 1.02 KB
/
example.py
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
from transformers import AutoTokenizer, AutoModelForCausalLM, TextStreamer
from src.hf_cache import QFiltersCache, KNormCache
from datasets import load_dataset
model_name = "deepseek-ai/DeepSeek-R1-Distill-Llama-8B"
model = AutoModelForCausalLM.from_pretrained(
model_name,
device_map="auto",
low_cpu_mem_usage=True,
torch_dtype="bfloat16"
)
tokenizer = AutoTokenizer.from_pretrained(model_name)
streamer = TextStreamer(tokenizer)
question = """What is the probability of two integers selected at random having a greatest common divisor of 1."""
input_text = f"<|User|>{question}<|Assistant|><think>\n"
inputs = tokenizer(input_text, return_tensors="pt").to(model.device)
# past_key_values = QFiltersCache(
# window_length=64,
# max_length=128,
# model_name=model_name
# )
past_key_values = KNormCache(
window_length=64,
max_length=128,
)
out = model.generate(
**inputs,
do_sample=True,
temperature=0.5,
max_new_tokens=4096,
past_key_values=past_key_values,
streamer=streamer
)