Views
No views yet
use_adjust flag as False generates from the base diffusion LM with naive parallel sampling.1from transformers import AutoModel, AutoTokenizer, AutoModelForCausalLM, set_seed
2
3model_path = "pbansal/Dream-Coder-v0-Instruct-7B-Adjust"
4model = AutoModel.from_pretrained(model_path, torch_dtype=torch.bfloat16, trust_remote_code=True)
5tokenizer = AutoTokenizer.from_pretrained(model_path, trust_remote_code=True)
6model = model.to("cuda").eval()
7use_adjust = True # Set to false to sample from just the base model
8messages = [
9 {"role": "user", "content": "Write a quick sort algorithm."}
10]
11inputs = tokenizer.apply_chat_template(
12 messages, return_tensors="pt", return_dict=True, add_generation_prompt=True
13)
14input_ids = inputs.input_ids.to(device="cuda")
15attention_mask = inputs.attention_mask.to(device="cuda")
16
17output = model.diffusion_generate(
18 input_ids,
19 attention_mask=attention_mask,
20 max_new_tokens=768,
21 output_history=True,
22 return_dict_in_generate=True,
23 steps=768,
24 temperature=0.1,
25 top_p=0.95,
26 alg="entropy",
27 alg_temp=0.,
28 use_adjust=use_adjust,
29)
30
31generations = [
32 tokenizer.decode(g.tolist())
33 for p, g in zip(input_ids, output.sequences)
34]
35
36print(generations[0].split(tokenizer.eos_token)[0])