ThakrePranjal/pharma-preference-dataset-unsloth
Viewer β’ Updated β’ 48 β’ 29
How to use ThakrePranjal/pharma-tinyllama-unsloth-stage3-dpo-lora with PEFT:
from peft import PeftModel
from transformers import AutoModelForCausalLM
base_model = AutoModelForCausalLM.from_pretrained("/content/unsloth_pharma_merge_reload_outputs/stage2_instruction_merged_model")
model = PeftModel.from_pretrained(base_model, "ThakrePranjal/pharma-tinyllama-unsloth-stage3-dpo-lora")How to use ThakrePranjal/pharma-tinyllama-unsloth-stage3-dpo-lora with Unsloth Studio:
curl -fsSL https://unsloth.ai/install.sh | sh # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for ThakrePranjal/pharma-tinyllama-unsloth-stage3-dpo-lora to start chatting
irm https://unsloth.ai/install.ps1 | iex # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for ThakrePranjal/pharma-tinyllama-unsloth-stage3-dpo-lora to start chatting
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for ThakrePranjal/pharma-tinyllama-unsloth-stage3-dpo-lora to start chatting
pip install unsloth
from unsloth import FastModel
model, tokenizer = FastModel.from_pretrained(
model_name="ThakrePranjal/pharma-tinyllama-unsloth-stage3-dpo-lora",
max_seq_length=2048,
)Stage 3 DPO preference-tuning LoRA adapter from the Unsloth 3-stage
pharma fine-tuning pipeline. Trained using trl.DPOTrainer (Unsloth patched)
on top of the Stage 2 merged instruction model.
| Param | Value |
|---|---|
| Base model | ThakrePranjal/pharma-tinyllama-unsloth-stage2-merged (Stage 2 merged) |
| Trainer | trl.DPOTrainer (Unsloth patched) |
| Data | 48 preference records (prompt/chosen/rejected) |
| Max steps | 30 |
| Learning rate | 5e-5 |
| DPO Beta | 0.1 |
| LoRA r | 16 |
| LoRA alpha | 32 |
| Peak VRAM | 1.952 GB |
| Train time | 106s |
from unsloth import FastLanguageModel
from peft import PeftModel
# Load Stage 2 merged as base
model, tokenizer = FastLanguageModel.from_pretrained(
model_name="ThakrePranjal/pharma-tinyllama-unsloth-stage2-merged",
max_seq_length=512,
load_in_4bit=True,
)
model = PeftModel.from_pretrained(model, "ThakrePranjal/pharma-tinyllama-unsloth-stage3-dpo-lora")
FastLanguageModel.for_inference(model)
prompt = "### Instruction:\nExplain the mechanism of metformin.\n\n### Response:\n"
inputs = tokenizer(prompt, return_tensors="pt").to("cuda")
output = model.generate(**inputs, max_new_tokens=150,
temperature=0.7, top_p=0.9, do_sample=True)
print(tokenizer.decode(output[0], skip_special_tokens=True))
ThakrePranjal/pharma-preference-dataset-unsloth
unsloth/tinyllama-bnb-4bit
βββ Stage 1 SFT β merged β [ThakrePranjal/pharma-tinyllama-unsloth-stage1-merged]
βββ Stage 2 SFT β merged β [ThakrePranjal/pharma-tinyllama-unsloth-stage2-merged]
βββ Stage 3 DPO (THIS ADAPTER) β merged β [ThakrePranjal/pharma-tinyllama-unsloth-final]
Base model
unsloth/tinyllama-bnb-4bit
from peft import PeftModel from transformers import AutoModelForCausalLM base_model = AutoModelForCausalLM.from_pretrained("/content/unsloth_pharma_merge_reload_outputs/stage2_instruction_merged_model") model = PeftModel.from_pretrained(base_model, "ThakrePranjal/pharma-tinyllama-unsloth-stage3-dpo-lora")