Scam_Qwen25_1_5B_Epoch4
A LoRA adapter for Qwen/Qwen2.5-1.5B-Instruct, fine-tuned as a text-only baseline for detecting
financial scams in short-form social video (YouTube + TikTok), with a Philippine / Filipino focus. Given a
video's transcript + title + description (no frames), it predicts scam vs. legitimate with a short
rationale grounded in the OptiScam C1-C7 policy criteria.
This is the text-only baseline of the
Filipino Scam Detection model family. The
multimodal
Scam-Qwen3-VL-RsLoRA is the stronger model (F1 0.804).
Model Details
- Developed by: Jules Gregory R. Agustin (TamAko783)
- Model type: Text classifier / reasoner - LoRA adapter (PEFT)
- Task: Scam vs. not-scam detection from a video's text channels, with rationale generation
- Language(s): English, Filipino / Tagalog (code-switched)
- Finetuned from:
Qwen/Qwen2.5-1.5B-Instruct
- Base model license: Apache-2.0 (Qwen2.5). Adapter license: see repository.
Training Data
Trained on the
OptiScam: Multimodal Filipino Scam Video Dataset (
https://www.kaggle.com/datasets/julesgregoryagustin/training-filipino-scam-dataset), ~2,000 YouTube/TikTok videos balanced 1,000 scam / 1,000 legitimate. Videos were scraped with Playwright and Selenium; speech was transcribed with Whisper; labels and rationales were produced by teacher LLM labelers (Google Gemma and Google Gemini) against the C1-C7 criteria. For this text-only model only the
transcript + title + description channels are
used; video frames are ignored.
Detection criteria (C1-C7)
Labels follow the OptiScam C1-C7 policy scheme, adapted from the YouTube-policy criteria in Kulsum et al. (see Citation). The criteria a video matches are stored alongside each example.
- C1 Criminal claim - promotes illegal activity or stolen credentials as a money path.
- C2 Unbounded giveaway - free cash, phones, or load with no sponsor, qualifier, or limit.
- C3 Off-site redirect - pushes viewers to Telegram, WhatsApp, sketchy domains, or DM flows.
- C4 Fast-money lure - promises large returns with little effort or skill in a short window.
- C5 Harmful link - phishing URL, fake login page, or OTP / PIN / seed-phrase requests.
- C6 Get-rich-quick - mobile mining, task apps with guaranteed earnings, or no-loss trading bots.
- C7 Impersonation - mimics a real bank, celebrity, government agency, or known brand.
Extended criteria (Filipino scam archetypes): P2E (Play-to-Earn), Task (Telegram / Group Task), and E-Wallet (GCash / Maya phishing), alongside the global types (crypto, gift card, giveaway).
Evaluation
Held-out test split:
| Metric | Value |
|---|
| Accuracy | 0.619 |
| Precision | 0.58 |
| Recall | 0.90 |
| F1 | 0.703 |
The adapter is tuned for high recall (catches ~90% of scams) at the cost of precision (more false
positives) - useful as a first-pass triage filter. As a text-only model it is blind to visual scam cues
(on-screen URLs, QR codes, wallet overlays); the multimodal Qwen3-VL model is materially stronger.
Uses
- Direct use: triage of scam-likely videos from transcript + metadata, with a human-readable rationale.
- Out-of-scope: automated enforcement / takedown; non-financial-scam domains; languages or scam
typologies under-represented in training; not financial advice. Keep a human in the loop.
How to Get Started
1import torch
2from transformers import AutoModelForCausalLM, AutoTokenizer
3from peft import PeftModel
4
5BASE = "Qwen/Qwen2.5-1.5B-Instruct"
6ADAPTER = "TamAko783/Scam_Qwen25_1_5B_Epoch4"
7
8tok = AutoTokenizer.from_pretrained(BASE)
9model = AutoModelForCausalLM.from_pretrained(BASE, torch_dtype=torch.bfloat16, device_map="auto")
10model = PeftModel.from_pretrained(model, ADAPTER).eval()
11
12SYSTEM = ("You are an expert scam-detection analyst. Decide if the video is a scam based on "
13 "YouTube's Scams policy and cite policy criteria (C1-C7).")
14user = "Transcript: ...\nTitle: ...\nDescription: ...\n\nIs this a scam video? Explain with C1-C7."
15msgs = [{"role": "system", "content": SYSTEM}, {"role": "user", "content": user}]
16inputs = tok.apply_chat_template(msgs, add_generation_prompt=True, return_tensors="pt").to(model.device)
17out = model.generate(inputs, max_new_tokens=512, do_sample=False)
18print(tok.decode(out[0, inputs.shape[1]:], skip_special_tokens=True))
Citation
Training data and inspiration - the C1-C7 policy criteria are adapted from:
Ummay Kulsum, Aafaq Sabir, Abhinaya S.B., and Anupam Das. "Beyond Metadata: Multimodal, Policy-Aware Detection of YouTube Scam Videos." ICWSM 2026. arXiv:2509.23418.
1@inproceedings{kulsum2026beyond,
2 title = {Beyond Metadata: Multimodal, Policy-Aware Detection of YouTube Scam Videos},
3 author = {Kulsum, Ummay and Sabir, Aafaq and Abhinaya, S.B. and Das, Anupam},
4 booktitle = {Proceedings of the International AAAI Conference on Web and Social Media (ICWSM)},
5 year = {2026},
6 note = {arXiv:2509.23418}
7}
Model Card Authors
Jules Gregory R. Agustin (
TamAko783)