ThakrePranjal/pharma-instruction-dataset-unsloth
Viewer β’ Updated β’ 48 β’ 7
How to use ThakrePranjal/pharma-tinyllama-unsloth-stage2-lora with PEFT:
from peft import PeftModel
from transformers import AutoModelForCausalLM
base_model = AutoModelForCausalLM.from_pretrained("/content/unsloth_pharma_merge_reload_outputs/stage1_non_instruction_merged_model")
model = PeftModel.from_pretrained(base_model, "ThakrePranjal/pharma-tinyllama-unsloth-stage2-lora")Stage 2 LoRA adapter from the Unsloth 3-stage pharma fine-tuning pipeline.
Trained on pharma instruction data (Alpaca format) on top of the
Stage 1 merged domain model using SFTTrainer.
| Param | Value |
|---|---|
| Base model | ThakrePranjal/pharma-tinyllama-unsloth-stage1-merged (Stage 1 merged) |
| Trainer | trl.SFTTrainer (Unsloth patched) |
| Data | 48 instruction records, packing=False |
| Max steps | 30 |
| Learning rate | 1e-4 |
| LoRA r | 16 |
| LoRA alpha | 32 |
| Peak VRAM | 1.014 GB |
| Train time | 86s |
from unsloth import FastLanguageModel
from peft import PeftModel
# Load Stage 1 merged as base
model, tokenizer = FastLanguageModel.from_pretrained(
model_name="ThakrePranjal/pharma-tinyllama-unsloth-stage1-merged",
max_seq_length=512,
load_in_4bit=True,
)
model = PeftModel.from_pretrained(model, "ThakrePranjal/pharma-tinyllama-unsloth-stage2-lora")
FastLanguageModel.for_inference(model)
# Inference
prompt = "### Instruction:\nExplain metformin in simple language.\n\n### Response:\n"
inputs = tokenizer(prompt, return_tensors="pt").to("cuda")
output = model.generate(**inputs, max_new_tokens=150)
print(tokenizer.decode(output[0], skip_special_tokens=True))
ThakrePranjal/pharma-instruction-dataset-unsloth
unsloth/tinyllama-bnb-4bit
βββ Stage 1 SFT β merged β [ThakrePranjal/pharma-tinyllama-unsloth-stage1-merged]
βββ Stage 2 SFT (THIS ADAPTER) β merged β [ThakrePranjal/pharma-tinyllama-unsloth-stage2-merged]
βββ Stage 3 DPO β merged β [ThakrePranjal/pharma-tinyllama-unsloth-final]
Base model
unsloth/tinyllama-bnb-4bit