CoolFace
Modelpublic

RESEARCH-EMPRM/emprm-v2-stageB_g1_s0

sourceHugging Faceapache-2.0updated 14d agoView on Hugging Face
0likes19downloads
Model Card

EM-PRM v2 — stageB_g1_s0 — EM-PRM-G1 (E3 broad-ranker arm, low chart exposure), seed 0

LoRA adapter for Qwen/Qwen3-VL-8B-Instruct (snapshot 0c351dd) from the EM-PRM v2 experiment ladder (EM-PRM: Evidence-Mediated Process Rewards for Robust Multimodal Reasoning). Trained 2026-09-10 at git commit 4438aea.

As EM-PRM-G but with the chart pairs once (8,353 + 15,846 = 24,199 pair records; 9,995 pair micro-batches), same task records, initialisation and budget.

Training

  • —LoRA rank 64, alpha 128, dropout 0.05, target modules downproj, gateproj, kproj, oproj, qproj, upproj, v_proj (174,587,904 trainable parameters); vision tower frozen; bfloat16.
  • —Seed 0, learning rate 5e-05, micro-batch 2 x gradaccum 4, 1 epoch, 2,500 optimiser steps over 20,000 task records; pair records 24,199, pair micro-batches 9,995, lambdapair 1.0, pairseesimage True.
  • —Initialised from a2_support_s0 (RESEARCH-EMPRM/emprm-v2-a2_support_s0). Task-data sha256 ddd7be2d3ddf…, pair-data runs/v2/data/stageB_pairs_g_copies1/pairs.jsonl.
  • —Wall time 10.2 h on one NVIDIA A100-PCIE-40GB; training-pair accuracy mean 0.879, final 0.935.

Pre-registered gates and reads (development halves; test halves unread)

  • —Held-out relational FlipAcc: 0.2988 deployed, 0.2300 [0.2013, 0.2587] with the chart shown — gate (>= 0.74) lost in both passes.
  • —Forced-evidence acceptance at 0.5: true 0.9175 / false 0.0075 deployed; 0.970 / 0.005 with the chart shown.
  • —Chart-disjoint pair gain over the v1 head: +0.1685 deployed; +0.1815 [0.1387, 0.2244] with the chart shown (the largest pair gain measured, on an arm whose FlipAcc is 0.23-0.30).
  • —External dev halves, deployed pass: VisualProcessBench 0.3025, VLRMBench 0.3098, VL-RewardBench 0.4810, Multimodal RewardBench 0.5435.

Status

Discarded as a deployment candidate (chart FlipAcc gate lost). The run is preserved unchanged, as the rules require for failed runs; its numbers are diagnostics.

Where the artifacts are

  • —Result files, per-example dumps, config and prompts: dataset RESEARCH-EMPRM/emprm-sync-20260910 → results/**/runs/v2/train/stageB_g1_s0/, results/**/runs/v2/e2/stageB_g1_s0__*.json, configs/ablations/stageB_g1_s0.yaml, EXPERIMENT_REGISTRY.csv (rows tagged with this adapter), CURRENT.md and WRITER_SYNC_BUNDLE.md (what the deployed scorer computes; which arm is which).
  • —The frozen 2026-09-09 tree backup RESEARCH-EMPRM/emprm-v2 predates this arm and does not contain it.

Load

python
from transformers import AutoModelForImageTextToText, AutoProcessor
from peft import PeftModel
base = AutoModelForImageTextToText.from_pretrained("Qwen/Qwen3-VL-8B-Instruct", dtype="bfloat16", device_map="cuda")
model = PeftModel.from_pretrained(base, "RESEARCH-EMPRM/emprm-v2-stageB_g1_s0")
processor = AutoProcessor.from_pretrained("Qwen/Qwen3-VL-8B-Instruct")

adapter_config.json records the local path the adapter was trained from; pass the base model explicitly as above. The scorer (scoring.Scorer.score_grounded, family grounded, aggregation product) and its prompts are in code/ of the sync dataset.