Views
No views yet
1from transformers import AutoTokenizer, AutoModelForCausalLM
2from peft import PeftModel
3import torch
4
5# Load base model and tokenizer
6tokenizer = AutoTokenizer.from_pretrained("allenai/OLMoE-1B-7B-0125-Instruct")
7base_model = AutoModelForCausalLM.from_pretrained(
8 "allenai/OLMoE-1B-7B-0125-Instruct",
9 device_map="auto",
10 torch_dtype=torch.float16,
11 trust_remote_code=True
12)
13
14# Load LoRA adapter
15model = PeftModel.from_pretrained(base_model, "yassine-boua/olmo-gsm8k-finetuned")
16
17# Example usage
18def generate_answer(question: str):
19 messages = [
20 {"role": "system", "content": "You are a helpful math assistant. Think step by step and provide your final answer in <answer></answer> tags."},
21 {"role": "user", "content": question}
22 ]
23
24 prompt = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
25 inputs = tokenizer(prompt, return_tensors="pt", truncation=True, max_length=512)
26 inputs = {k: v.to(model.device) for k, v in inputs.items()}
27
28 with torch.no_grad():
29 outputs = model.generate(
30 **inputs,
31 max_new_tokens=200,
32 temperature=0.7,
33 top_p=0.9,
34 do_sample=True,
35 pad_token_id=tokenizer.pad_token_id
36 )
37
38 response = tokenizer.decode(outputs[0][inputs['input_ids'].shape[1]:], skip_special_tokens=True)
39 return response.strip()
40
41# Test the model
42question = "What is 15% of 240?"
43answer = generate_answer(question)
44print(answer)1@article{olmo2024,
2 title={OLMo: Accelerating the Science of Language Models},
3 author={Dolan, Sam and et al.},
4 journal={arXiv preprint arXiv:2402.08019},
5 year={2024}
6}