DrV SFT Qwen3-VL-8B
Public supervised-fine-tuning LoRA adapter for Qwen/Qwen3-VL-8B-Instruct, trained for video question answering with a strict support/answer XML response format.
This is an adapter, not a standalone model. Load it together with the Qwen3-VL-8B-Instruct base model.
Training
The student receives only the video, question, and answer options. The target is constructed mechanically from the benchmark answer:
- Binary
yes: supported proposition followed by yes
- Binary
no: unsupported proposition followed by no
- Multiple choice: the correct option letter is used as both support target and answer
DrV reports and privileged annotations are not used in this SFT stage.
- Training examples: 4,349
- Validation examples: 543
- Base model:
Qwen/Qwen3-VL-8B-Instruct
- Objective: causal cross-entropy on assistant target tokens only
- QLoRA: rank 32, alpha 64, dropout 0.05
- Learning rate: 1e-5
- Epochs: 1
- Effective global batch: 32
- Video processing: 16 frames, maximum 200,704 pixels
Evaluation
Greedy decoding with 16 frames and a 32-token generation limit.
| Dataset | Metric | Result |
|---|
| DrV held-out test (544 questions) | Strict accuracy | 83.82% |
| DrV held-out test | Binary accuracy | 71.96% |
| DrV held-out test | Multiple-choice accuracy | 86.73% |
| VideoHallucer (2,300 questions) | Individual accuracy | 71.70% |
| VideoHallucer (1,150 pairs) | Adversarial pair accuracy | 47.48% |
| NextGQA (5,553 questions) | Accuracy | 74.10% |
| ELV-Halluc (4,680 locally available questions) | Individual accuracy | 59.08% |
| ELV-Halluc (1,560 triplets) | In-video pair accuracy | 9.49% |
| ELV-Halluc (1,560 triplets) | Out-video pair accuracy | 13.85% |
Schema validity was 100% on all evaluated SFT outputs. ELV-Halluc coverage was 4,680/4,800 because five videos were unavailable in the local evaluation copy.
Output format
Binary example:
1<support target="proposition" verdict="supported" />
2<answer>yes</answer>
Multiple-choice example:
1<support target="C" verdict="supported" />
2<answer>C</answer>
Loading
1from transformers import AutoModelForMultimodalLM, AutoProcessor
2from peft import PeftModel
3
4base_id = "Qwen/Qwen3-VL-8B-Instruct"
5adapter_id = "shuzhig/drv-sft-qwen3-vl-8b"
6
7processor = AutoProcessor.from_pretrained(adapter_id)
8base = AutoModelForMultimodalLM.from_pretrained(
9 base_id,
10 device_map="auto",
11 torch_dtype="auto",
12)
13model = PeftModel.from_pretrained(base, adapter_id)
14model.eval()
Limitations
The adapter is optimized for a constrained two-line response schema and was evaluated on specific video-QA benchmark splits. Results should not be interpreted as general video-understanding performance. The model can still make visually unsupported decisions, and pair-based hallucination benchmarks remain substantially harder than individual-question accuracy suggests.