Views
No views yet
1
2import torch
3from transformers import AutoTokenizer, AutoModelForCausalLM
4from peft import PeftModel
5
6# Base model
7basemodelname = "meta-llama/Llama-3.1-8B-Instruct"
8base_model = AutoModelForCausalLM.from_pretrained(
9 basemodelname,
10 torch_dtype=torch.bfloat16,
11 device_map="auto"
12)
13
14# Load adapter on top
15peft_model_path = "abbatea/Tutorbot-variation-DPO-Llama"
16model = PeftModel.from_pretrained(base_model, peft_model_path)
17
18# Load tokenizer
19tokenizer = AutoTokenizer.from_pretrained(basemodelname)
20if tokenizer.pad_token is None:
21 tokenizer.pad_token = tokenizer.eos_token
22 tokenizer.pad_token_id = tokenizer.eos_token_id
23
24
25
26messages = [
27 {"role": "user", "content": "Can you help me solve 3x + 5 = 20?"}
28]
29prompt = tokenizer.apply_chat_template(messages, tokenize=False)
30inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
31
32outputs = model.generate(**inputs, max_new_tokens=512)
33print(tokenizer.decode(outputs[0], skip_special_tokens=True))
34
351@inproceedings{rafailov2023direct,
2 title = {{Direct Preference Optimization: Your Language Model is Secretly a Reward Model}},
3 editor = {Alice Oh and Tristan Naumann and Amir Globerson and Kate Saenko and Moritz Hardt and Sergey Levine},
4}