|
--- |
|
library_name: peft |
|
base_model: bigscience/bloom-3b |
|
--- |
|
|
|
Low Rank Adapter for Bloom decoder for question answering |
|
|
|
# Example usage: |
|
import torch |
|
from peft import PeftModel, PeftConfig |
|
from transformers import AutoModelForCausalLM, AutoTokenizer |
|
from IPython.display import display, Markdown |
|
|
|
peft_model_id = "Jayveersinh-Raj/bloom-que-ans" |
|
config = PeftConfig.from_pretrained(peft_model_id) |
|
model = AutoModelForCausalLM.from_pretrained(config.base_model_name_or_path, return_dict=True, load_in_8bit=False, device_map='auto') |
|
tokenizer = AutoTokenizer.from_pretrained(config.base_model_name_or_path) |
|
|
|
# Load the Lora model |
|
qa_model = PeftModel.from_pretrained(model, peft_model_id) |
|
|
|
def make_inference(context, question): |
|
batch = tokenizer(f"### CONTEXT\n{context}\n\n### QUESTION\n{question}\n\n### ANSWER\n", return_tensors='pt').to("cuda") |
|
|
|
with torch.cuda.amp.autocast(): |
|
output_tokens = qa_model.generate(**batch, max_new_tokens=200) |
|
|
|
display(Markdown((tokenizer.decode(output_tokens[0], skip_special_tokens=True)))) |
|
|
|
context = "" |
|
question = "What is the best food?" |
|
|
|
make_inference(context, question) |