Downloads · 30 days
0
infinitylogesh/qwen35-4b-videomme-grpo
qwen35-4b-videomme-grpo is a machine learning model from infinitylogesh. Use it for the machine learning task on the model card, and read the license before you ship it in a product. The card lists the license as apache-2.0.
LoRA adapter (r=16, α=32, language side only) trained with GRPO on Video-MME-v2 multiple-choice video QA. Training code: https://github.com/infinitylogesh/videomme-rl
Downloads · 30 days
0
Access
Public
Updated Aug 23, 2026
Repo size
275 MB
Likes
0
Public
Click a slice to open those files.
.pt170 MB · 61%
From the Hugging Face model README
LoRA adapter (r=16, α=32, language side only) trained with GRPO on Video-MME-v2 multiple-choice video QA. Training code: https://github.com/infinitylogesh/videomme-rl
Held-out = 100 videos disjoint from the 500 training videos (split by video, never by question:
each video carries 4 questions, and the logic groups chain them). Every run uses the same seed and
the same option permutation, so all comparisons are paired.
| strict acc | tagged | truncated | |
|---|---|---|---|
| base Qwen3.5-4B | 0.0625 | 0.223 | 0.770 |
| + GRPO 400 steps | 0.2475 | 0.975 | 0.025 |
| + GRPO 800 steps (this adapter) | 0.3050 | 0.9975 | 0.0025 |
Chance is 0.129 (8 options). Paired McNemar, strict:
| comparison | net | p |
|---|---|---|
| base → 400 steps | +74 | < 0.0001 |
| 400 → 800 steps | +23 | 0.0206 |
| base → 800 steps | +97 | < 0.0001 |
strict = the model emitted <answer>X</answer> and X was right. A "loose" parser that also
accepts the last stray A–H letter in the text inflates the baseline enormously: of its 79
loose-correct answers, only 25 had a real answer tag — 53 came from completions that hit the token
cap without answering at all. With 8 options that is a 1-in-8 lottery, awarded on 77% of questions.
The two metrics converge for the trained model (0.3050 vs 0.3050) and diverge for the baseline
(0.1975 vs 0.0625). Loose accuracy rewards exactly the behaviour this training removes.
The base model does not fail by being wrong so much as by never finishing: it reasons until the token cap and emits no answer. Truncation went 0.770 → 0.0025, answer-tagging 0.223 → 0.9975. It still reasons — median completion is ~300–500 tokens with substantive analysis — it just concludes now.
lr 1e-5 · beta 0.0 (no KL) · loss_type dapo · scale_rewards none (Dr.GRPO)
epsilon_high 0.28 (DAPO Clip-Higher) · num_generations 8 · 100 frames @ max_pixels 50176
max_completion_length 2048 · thinking mode ON · reward 0.9*correct + 0.1*tagged, strict
Reward = 0 for a truncated completion, and truncated rollouts stay in the loss (deliberately not
mask_truncated_completions) — that is the only pressure against rambling.
entropy_target=0.2 TRL never
applied the bonus (entropy_coef = 0.0000 for 400 steps). The zero-variance groups are saturated
prompts (always wrong), not an exploration failure. DAPO dynamic sampling would recover the
wasted compute but would not make hard prompts solvable — and it is absent from TRL 1.8.adapter/ — LoRA + optimizer state (resumable)results/ — per-question eval jsonl for every run above, plus the exact train/eval splits