openlifescienceai/medmcqa
Viewer • Updated • 193k • 189k • 235
How to use Pk3112/medmcqa-lora-qwen2.5-7b-instruct with PEFT:
from peft import PeftModel
from transformers import AutoModelForCausalLM
base_model = AutoModelForCausalLM.from_pretrained("unsloth/qwen2.5-7b-instruct-unsloth-bnb-4bit")
model = PeftModel.from_pretrained(base_model, "Pk3112/medmcqa-lora-qwen2.5-7b-instruct")Adapter weights only for Qwen/Qwen2.5-7B-Instruct, fine-tuned to answer medical multiple-choice questions (A/B/C/D).
Subjects used for fine-tuning and evaluation: Biochemistry and Physiology.
Educational use only. Not medical advice.
adapter_model.safetensors (LoRA weights)adapter_config.jsonfrom transformers import AutoTokenizer, AutoModelForCausalLM
from peft import PeftModel
import re
BASE = "Qwen/Qwen2.5-7B-Instruct"
ADAPTER = "Pk3112/medmcqa-lora-qwen2.5-7b-instruct"
tok = AutoTokenizer.from_pretrained(BASE, use_fast=True)
base = AutoModelForCausalLM.from_pretrained(BASE, device_map="auto")
model = PeftModel.from_pretrained(base, ADAPTER).eval()
prompt = (
"Question: Which nerve supplies the diaphragm?\n"
"A. Vagus\nB. Phrenic\nC. Intercostal\nD. Accessory\n\n"
"Answer:"
)
inputs = tok(prompt, return_tensors="pt").to(model.device)
out = model.generate(**inputs, max_new_tokens=8, do_sample=False)
text = tok.decode(out[0], skip_special_tokens=True)
m = re.search(r"Answer:\s*([A-D])\b", text)
print(f"Answer: {m.group(1)}" if m else text.strip())
Optional 4-bit: create a BitsAndBytesConfig and pass as quantization_config to from_pretrained (Linux/WSL recommended if using bitsandbytes).
| Model | Internal val acc (%) | Original val acc (%) | TTFT (ms) | Gen time (ms) | In/Out tokens |
|---|---|---|---|---|---|
| Qwen2.5-7B (LoRA) | 76.50 | 67.84 | 546 | 1623 | 81 / 15 |
Why Qwen as default: higher external-set accuracy and much lower latency vs Llama in our setup.
r=32, alpha=64, dropout=0.0; targets q_proj,k_proj,v_proj,o_proj,gate_proj,up_proj,down_proj768Answer: <A/B/C/D>)subject_name (Biochemistry, Physiology)Qwen/Qwen2.5-7B-Instruct (Apache-2.0) — obtain from its HF pageopenlifescienceai/medmcqa — follow dataset license