Views
No views yet
names, faces, signatures, phones, emails, dob,
id_numbers, addresses, org_names, dates1from transformers import Qwen2VLForConditionalGeneration, AutoProcessor
2from peft import PeftModel
3import torch
4
5processor = AutoProcessor.from_pretrained("Qwen/Qwen2-VL-2B-Instruct")
6
7base_model = Qwen2VLForConditionalGeneration.from_pretrained(
8 "Qwen/Qwen2-VL-2B-Instruct",
9 load_in_4bit=True,
10 device_map="auto",
11 torch_dtype=torch.bfloat16,
12)
13model = PeftModel.from_pretrained(
14 base_model,
15 "bharath-0201/omni-shield-qwen2vl-pii-adapter"
16)
17model = model.merge_and_unload()
18model.eval()LABEL | VALUE pairs
consistently. The base model detects values correctly but frequently omits
field labels, causing downstream pipeline failures. Fine-tuning fixes this
without degrading value detection accuracy.| Field | Base model output | Fine-tuned output |
|---|---|---|
| Name | Name | Leonie Dörr | Name | Leonie Dörr |
| DOB | Date of Birth | 01.08.1991 | Date of Birth | 01.08.1991 |
| ID Number | [empty] | M898585166 | ID No. | M898585166 |
| Signature | Signature | [none] | Signature | [none] |
1@article{{omni-shield-2025,
2 title={{Omni-Shield: Local-First Multi-Modal PII Redaction
3 with Cryptographic Audit Trail}},
4 author={{[Anonymous for review]}},
5 year={{2025}}
6}}