LoRA: Low-Rank Adaptation of Large Language Models
Paper
β’
2106.09685
β’
Published
β’
56
This repository contains a parameter-efficient LoRA fine-tuning of microsoft/phi-2 on the GSM8K dataset, designed for solving grade-school arithmetic and reasoning problems in natural language.
β Adapter-only: This is a LoRA adapter, not a full model. You must load it on top of
microsoft/phi-2.
microsoft/phi-2 (1.7B parameters)from transformers import AutoTokenizer, AutoModelForCausalLM
from peft import PeftModel
# Load base model and tokenizer
base_model = AutoModelForCausalLM.from_pretrained("microsoft/phi-2")
tokenizer = AutoTokenizer.from_pretrained("darshjoshi16/phi2-lora-math")
# Load LoRA adapter
model = PeftModel.from_pretrained(base_model, "darshjoshi16/phi2-lora-math")
# Inference
prompt = "Q: Julie read 12 pages yesterday and twice as many today. If she wants to read half of the remaining 84 pages tomorrow, how many pages should she read?\nA:"
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
outputs = model.generate(**inputs, max_new_tokens=100)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
| Task | Metric | Score | Samples |
|---|---|---|---|
| GSM8K | Exact Match (strict) | 54.6% | 500 |
| ARC-Easy | Accuracy | 79.0% | 500 |
| HellaSwag | Accuracy (Normalized) | 61.0% | 500 |
Benchmarks were run using EleutherAIβs lm-eval-harness
microsoft/phi-2) must be loaded alongsideThis model was fine-tuned and open-sourced by Darsh Joshi.
Feel free to reach out or contribute.
Base model
microsoft/phi-2