1import torch
2import transformers
3from finetune_peft import get_peft_config, PEFTArguments
4from peft import get_peft_model
5
6model_path = 'EleutherAI/pythia-6.9b-deduped'
7# peft_path = 'models/codegen25_7b/checkpoint'
8peft_path = '0xk1h0/pythia-6.9b-deduped-py150k-r20-LoRA'
9# peft_path = 'models/alpaca-llama-7b-peft/params.p'
10
11torch.set_default_tensor_type(torch.cuda.HalfTensor)
12model = transformers.AutoModelForCausalLM.from_pretrained(model_path, trust_remote_code=True, cache_dir='models')
13peft_config = get_peft_config(peft_args=PEFTArguments(peft_mode="lora"))
14model = get_peft_model(model, peft_config)
15# model.load_state_dict(torch.load(peft_path), strict=False)
16torch.set_default_tensor_type(torch.cuda.FloatTensor)
17
18tokenizer = transformers.AutoTokenizer.from_pretrained(model_path, trust_remote_code=True)
19batch = tokenizer("""
20### Generate AES MODE encrypt function.
21""", return_tensors="pt")
22
23with torch.no_grad():
24 out = model.generate(
25 input_ids=batch["input_ids"],
26 attention_mask=torch.ones_like(batch["input_ids"]),
27 max_length=256,
28 do_sample=True,
29 temperature = 0.4,
30 top_p=0.95
31
32 )
33print(tokenizer.decode(out[0]))