CoolFace
Modelpublic

xiaorui638/qwen3vl-8b-s85k-plain-grpo

sourceHugging Faceapache-2.0updated 1mo agoView on Hugging Face
0likes15downloads
Model Card

Qwen3-VL-8B-Instruct — GRPO on false-premise twin pairs (s85k, plain)

Qwen/Qwen3-VL-8B-Instruct further trained with GRPO (plain accuracy reward, no verification shaping) on an 85k-example set of false-premise twin pairs: each image carries a positive question answerable from the image and a negative twin whose premise is false, where the correct response is an explicit premise-denial option. Pos:neg ratio 2:1.

The goal is a model that rejects false premises without becoming a blanket denier — so the headline metric is paired accuracy (both twins of a pair correct), not per-question accuracy.

Results — ZoomBench/TreeBench MCQ (in-domain)

2,343 questions = 584 positives + 1,759 negative/positive twin pairs. vLLM, seed 42, T=0.7, bf16; judge = rule-match then Qwen3-30B-A3B-Instruct. Single seed.

Paired accuracy — negative and its positive twin both correct

categorypairsQwen3-VL-8B basethis model
needle_obj44520.0054.83
needle_attr39312.2148.35
ref1obj26912.2746.84
ref1attr2266.1939.38
ref1rel2023.4724.26
ref2obj845.9542.86
ref2attr741.3531.08
ref2rel660.0013.64
micro (all pairs)175911.2043.55

Per-question accuracy

categorynQwen3-VL-8B basethis model
positive58444.5258.56
needle_obj44553.7192.13
needle_attr39327.7487.28
ref1obj26933.0986.62
ref1attr22618.5879.20
ref1rel20213.8650.50
ref2obj8422.6282.14
ref2attr749.4671.62
ref2rel666.0633.33
overall234334.0274.82

Read the paired column, not the overall. Per-question accuracy on this benchmark rewards denial: a model that denies every premise scores well on the 1,759 negatives while failing all 584 positives. The positive half is this model's actual bottleneck — positive accuracy moves only 44.52 → 58.56, and most remaining paired error is a wrong positive twin, not a missed denial. Relational negatives (ref_*_rel) stay hard.

This benchmark is in-domain — built by the same pipeline as the training data — so it measures how well the target behaviour was learned, not general ability transfer.

Usage

Weights are bfloat16.

python
from transformers import AutoProcessor, Qwen3VLForConditionalGeneration

model = Qwen3VLForConditionalGeneration.from_pretrained(REPO_ID, dtype="auto", device_map="auto")
processor = AutoProcessor.from_pretrained(REPO_ID)

vLLM:

bash
vllm serve REPO_ID --dtype bfloat16 --limit-mm-per-prompt image=1

The model was trained with a think-then-answer format prompt; it emits reasoning followed by the answer in <answer>...</answer> tags.

Training

BaseQwen/Qwen3-VL-8B-Instruct
AlgorithmGRPO (KL disabled), rollout n=8 @ T=1.0
Rewardaccuracy only (letter/string match, else LLM judge)
Data85,000 false-premise twin examples, 2:1 pos:neg
Batchrollout 384 / global 96, lr 1e-6, 1 epoch
Checkpointglobal step 221 (final)
FrameworkEasyR1 (veRL), 24× GH200

Limitations

  • —Single seed; no variance estimate. Treat <1 pt differences as noise.
  • —Evaluated in-domain here. It trades some general MCQ ability for premise robustness; consult the fuller evaluation before using it as a general-purpose VLM.
  • —Inherits all limitations of the base model.