Views
No views yet
facebook/opt-350m, designed to provide chatbot-like responses using instruction fine-tuning techniques.
The goal of this tuning was to to convert a Base Model to Chat Model using Instruction Finetuning.facebook/opt-350m1from transformers import AutoModelForCausalLM, AutoTokenizer
2import torch
3
4model_name = "sartajbhuvaji/facebook-opt-350m-chat"
5model = AutoModelForCausalLM.from_pretrained(model_name)
6tokenizer = AutoTokenizer.from_pretrained(model_name)
7
8device = "cuda" if torch.cuda.is_available() else "cpu"
9model.to(device)
10
11def generate_response(question):
12 input_prompt = f"### Question: {question}\n ### Answer:"
13 inputs = tokenizer(input_prompt, return_tensors="pt").to(device)
14
15 # Generate output using the model
16 outputs = model.generate(
17 inputs["input_ids"],
18 max_length=500,
19 num_beams=5,
20 temperature=0.7,
21 eos_token_id=tokenizer.eos_token_id,
22 early_stopping=True,
23 )
24
25 generated_text = tokenizer.decode(outputs[0], skip_special_tokens=True)
26 return generated_text
27
28question = "Write a Python program to add two numbers."
29response = generate_response(question)
30print(response)
31
32'''
33### Question: Write a Python program to add two numbers.
34 ### Answer: def add_two_numbers(a, b):
35 return a + b
36'''
371def formatting_prompts_func(example):
2 output_texts = []
3 for i in range(len(example['instruction'])):
4 text = f"### Question: {example['instruction'][i]}\n ### Answer: {example['output'][i]} {tokenizer.eos_token}"
5 output_texts.append(text)
6 return output_texts