Views
No views yet
⚠️ Medical disclaimer: This model is for educational/research use only and does not provide medical advice. Outputs may be incomplete or incorrect. For medical concerns, consult a licensed professional.
BioMistral/BioMistral-7BBioMistral/BioMistral-7Bkeivalya/MedQuad-MedicalQnADataset1pip install -U transformers peft bitsandbytes accelerate
2import torch
3from transformers import AutoTokenizer, AutoModelForCausalLM, BitsAndBytesConfig
4from peft import PeftModel
5
6base_model_id = "BioMistral/BioMistral-7B"
7adapter_id = "aravindgopisetty123/biomistral-medqa-qlora-adapter"
8
9bnb_config = BitsAndBytesConfig(
10 load_in_4bit=True,
11 bnb_4bit_use_double_quant=True,
12 bnb_4bit_quant_type="nf4",
13 bnb_4bit_compute_dtype=torch.float16,
14)
15
16tokenizer = AutoTokenizer.from_pretrained(base_model_id, use_fast=True)
17tokenizer.pad_token = tokenizer.eos_token
18
19base_model = AutoModelForCausalLM.from_pretrained(
20 base_model_id,
21 quantization_config=bnb_config,
22 device_map="auto",
23 use_safetensors=False,
24)
25
26model = PeftModel.from_pretrained(base_model, adapter_id)
27model.eval()
28
29prompt = """From the MedQuad MedicalQA Dataset: Given the following medical question and question type, provide an accurate answer:
30
31### Question type:
32symptoms
33
34### Question:
35What are the symptoms of Norrie disease ?
36
37### Answer:
38"""
39
40inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
41
42with torch.inference_mode():
43 out = model.generate(
44 **inputs,
45 max_new_tokens=200,
46 do_sample=False,
47 temperature=0.0,
48 pad_token_id=tokenizer.eos_token_id,
49 eos_token_id=tokenizer.eos_token_id,
50 repetition_penalty=1.1,
51 )
52
53print(tokenizer.decode(out[0], skip_special_tokens=True))
54
55
56Training Details
57Training Data
58
59Dataset: keivalya/MedQuad-MedicalQnADataset
60
61Dataset fields used: qtype, Question, Answer
62
63Prompt format:
64
65Question type + question → model generates answer
66
67Training Procedure
68
69Approach: QLoRA-style adapter fine-tuning
70
71Base model loaded in 4-bit NF4 via bitsandbytes
72
73LoRA adapter trained using PEFT
74
75Optimizer: paged AdamW 8-bit (bitsandbytes), gradient checkpointing enabled (for memory efficiency)
76
77Compute / Environment (edit if you want)
78
79Platform: Kaggle (free GPU)
80
81GPU: <T4 or P100>
82
83Precision: fp16/bf16 depending on runtime availability
84
85Evaluation
86Metric
87
88ROUGE-L (text overlap) computed on a held-out test split.
89
90Results
91
92Evaluated on 165 held-out samples:
93
94ROUGE-L mean: 0.2809
95
96ROUGE-L median: 0.2387
97
98Note: ROUGE can underestimate performance in free-form QA since correct answers may be phrased differently than references.
99
100Citation
101
102If you use this adapter, please cite the base model and dataset:
103
104BioMistral/BioMistral-7B
105
106keivalya/MedQuad-MedicalQnADataset