Views
No views yet
| Category | Description |
|---|---|
| Territorial Integrity | False claims about Kashmir, Arunachal Pradesh, borders |
| Religious Division | Content inciting communal hatred and exaggerating tensions |
| Economic Misinformation | Distorted facts about India's economy and development |
| Historical Revisionism | Distorting Indian history and civilization |
| Geopolitical Undermining | Narratives to weaken India's global standing |
| Military/Security FUD | Exaggerated threat narratives, false military claims |
| Separatist Propaganda | Content promoting balkanization of India |
| Democratic Institution Attacks | Undermining trust in democracy, judiciary, elections |
| Parameter | Value |
|---|---|
| Base Model | Qwen/Qwen2.5-0.5B |
| Method | QLoRA (4-bit NF4 + LoRA) |
| LoRA Rank | 16 |
| LoRA Alpha | 32 |
| Target Modules | q_proj, k_proj, v_proj, o_proj |
| Training Samples | ~86 curated examples |
| Epochs | 5 |
| Learning Rate | 2e-4 (cosine schedule) |
| Optimizer | paged_adamw_8bit |
| Max Seq Length | 512 |
1from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig
2from peft import PeftModel
3import torch
4
5# Load model
6bnb_config = BitsAndBytesConfig(
7 load_in_4bit=True,
8 bnb_4bit_quant_type="nf4",
9 bnb_4bit_compute_dtype=torch.float16,
10)
11
12base_model = AutoModelForCausalLM.from_pretrained(
13 "Qwen/Qwen2.5-0.5B",
14 quantization_config=bnb_config,
15 device_map="auto",
16)
17
18model = PeftModel.from_pretrained(base_model, "ProfRutPatel/Qwen2.5-0.5B-India-Propaganda-Detector")
19tokenizer = AutoTokenizer.from_pretrained("ProfRutPatel/Qwen2.5-0.5B-India-Propaganda-Detector")
20
21# Analyze text
22system_prompt = "You are an expert analyst specialized in detecting anti-India propaganda..."
23text = "Your text to analyze here"
24
25prompt = f"<|im_start|>system\n{system_prompt}<|im_end|>\n<|im_start|>user\nAnalyze the following text for anti-India propaganda:\n\n\"{text}\"<|im_end|>\n<|im_start|>assistant\n"
26
27inputs = tokenizer(prompt, return_tensors="pt").to("cuda")
28outputs = model.generate(**inputs, max_new_tokens=200, temperature=0.1)
29result = tokenizer.decode(outputs[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True)
30print(result)