1import wandb
2import os
3import torch
4
5from transformers import AutoTokenizer, AutoModelForCausalLM, BitsAndBytesConfig, TrainingArguments
6from peft import LoraConfig, prepare_model_for_kbit_training, get_peft_model, AutoPeftModelForCausalLM
7from datasets import load_dataset
8from random import randrange
9from trl import SFTTrainer
10from huggingface_hub import login
11
12
13tokenizer = AutoTokenizer.from_pretrained("EleutherAI/pythia-6.9b-deduped", trust_remote_code=True)
14tokenizer.pad_token = tokenizer.eos_token
15
16device_map = {"":0}
17model = AutoPeftModelForCausalLM.from_pretrained("0xk1h0/pythia-6.9b-deduped-py150k-r20-QLoRA", device_map=device_map, torch_dtype=torch.bfloat16)
18text ="""
19# Generate AES MODE encrypt python function.
20"""
21inputs = tokenizer(text, return_tensors="pt").to("cuda")
22outputs = model.generate(
23 input_ids=inputs["input_ids"].to("cuda"),
24 attention_mask=inputs["attention_mask"],
25 # max_new_tokens=50,
26 max_length=256,
27 do_sample=True,
28 temperature = 0.4,
29 top_p=0.95,
30 pad_token_id=tokenizer.eos_token_id
31 )
32
33print(tokenizer.decode(outputs[0], skip_special_tokens=True))