Views
No views yet
suspicious or not_suspicious, with a one-line reason —
inspired by real-world fraud detection and identity verification use cases.q_proj, v_proj), r=16, alpha=32| Stage | Accuracy |
|---|---|
| Zero-shot baseline (no fine-tuning) | ~60-70% (biased toward false positives) |
| After LoRA fine-tuning | 100% (53/53 on held-out test set) |
1from transformers import AutoModelForCausalLM, AutoTokenizer
2from peft import PeftModel
3
4base_model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen2.5-1.5B-Instruct")
5model = PeftModel.from_pretrained(base_model, "ishank9/lora-fraud-classifier")
6tokenizer = AutoTokenizer.from_pretrained("ishank9/lora-fraud-classifier")
7
8prompt = "Classify the following note as 'suspicious' or 'not_suspicious' and give a one-line reason.\n\nNote: A dormant account suddenly received ₹900,000 and transferred it out the same day.\n\nAnswer:"
9inputs = tokenizer(prompt, return_tensors="pt")
10output = model.generate(**inputs, max_new_tokens=50)
11print(tokenizer.decode(output[0], skip_special_tokens=True))