Reproducibility and robustness study of multimodal reasoning with R1-Onevision.
Python
4
21 commits
updated Jul 28, 2026
This repository contains the evaluation code and compact, verified summary tables for a reproducibility and measurement study of R1-Onevision. The study asks whether checkpoint rankings and multimodal-reasoning conclusions remain stable when the answer parser, visual composition, prompt, and inference budget are controlled.
The repository is limited to source code, protocol notes, tests, and compact aggregate summaries. Manuscript files, raw model generations, model weights, and benchmark images are not included.
The core archive contains 10,926 rows:
The extension adds 26,142 rows:
All 26,142 extension rows completed without a runtime error. The initial unbudgeted five-view branch produced 680 CUDA out-of-memory records; those records are retained as resource failures and are not interpreted as ordinary wrong answers.
An audit found that the original regular expression could miss an explicit
answer split across lines, such as The correct answer is: followed by
\boxed{B}, while a loose tail fallback could also accept a non-final letter.
The repaired multiple-choice extractor applies the following precedence:
<answer>...</answer> block;Thirteen adversarial regression tests cover line-broken boxes, conflicting earlier and later answers, Markdown labels, option-list decoys, multi-answer rejection, and unchanged numeric/free-response behavior. The repair was applied uniformly to both archives without overwriting the original raw data.
| Checkpoint | Clean accuracy (942) | 95% bootstrap CI |
|---|---|---|
| Qwen2.5-VL-7B-Instruct | 36.94% | [33.86, 40.02] |
| R1-Onevision-7B (SFT) | 33.97% | [31.00, 37.05] |
| R1-Onevision-7B-RL | 37.26% | [34.18, 40.34] |
The repaired RL-minus-Base difference is +0.32 percentage points (paired bootstrap 95% CI [−3.18, +3.82], exact McNemar p=0.906). The study therefore does not claim a significant RL-over-Base advantage under this local scoring protocol.
On the complete 3×5 robustness matrix, none of the 12 clean-to-perturbed paired comparisons survives Holm correction. Accuracy alone hides substantial answer turnover: clean/perturbed answer agreement ranges from 37.7% to 56.3%.
The fixed-canvas study changes the distractor interpretation. For SFT, mean semantic-panel accuracy is 6.83 points below clean input (95% CI [−11.56, −2.28]), but only 3.00 points below a matched blank-panel control (95% CI [−6.44, +0.50]). Thus, layout and target-scale changes explain part of the apparent distractor penalty, while the isolated semantic effect remains uncertain.
On the held-out 642-question clean complement, the RL dual-prompt agreement gate accepts 288 items (44.86% coverage) and reaches 48.26% selective accuracy (95% CI [42.46, 54.04]), versus 39.25% accuracy before abstention. This is a useful selective-prediction trade-off, but not a fully established failure detector: coverage is below one half, and same-prompt stochastic agreement also selects higher-accuracy subsets.
The budgeted multi-view experiment finishes all 3,600 generations without an out-of-memory error, but provides no accuracy gain. Averaged over six matched condition/prompt groups, accuracy is 33.89% for the global view and 33.33% for five views; every paired 95% interval includes zero.
Full tables, confidence intervals, paired flip counts, and interpretation
boundaries are in RESULTS.md.
A later 10,080-call signal pilot completed without missing records or infrastructure failures but failed frozen parseability and confidence gates. A stricter scorer-integrity canary study then found 53 compact-versus-oracle equivalence issues and also returned NO-GO. No formal Stage-B0 efficacy run was launched. These negative audits are reported as validity evidence and are not used to claim model accuracy, calibration, or ranking improvements.
See RELIABILITY_AUDIT.md and the machine-readable
summaries under results/analysis/.
conda create -n r1ov python=3.11 pip -y
conda activate r1ov
python -m pip install torch==2.6.0 torchvision==0.21.0 \
--index-url https://download.pytorch.org/whl/cu124
python -m pip install -r requirements.txt
python -m unittest discover -s tests -v
Prepare the benchmark manifest and run a one-GPU smoke test:
python scripts/01_prepare_manifest.py --config configs/experiment.json
CUDA_VISIBLE_DEVICES=0 python scripts/00_smoke_test.py \
--model-id Fancy-MLLM/R1-Onevision-7B-RL
Run the resumable core and extension pipelines:
bash scripts/run_all_gpu.sh
bash scripts/run_extension_8gpu.sh
The runners start one shard per visible GPU, preserve per-record errors, and skip completed keys on restart. Before launching, verify that the selected GPUs are unused and follow the local resource-sharing policy.
Rescore existing raw JSONL files with the repaired extractor and regenerate the summary tables:
python scripts/03_score_results.py \
--results-dir results/raw \
--output-dir results/scored
python scripts/04_analyze_results.py \
--scored-dir results/scored \
--output-dir results/analysis
python scripts/07_analyze_extension.py \
--scored-dir results/scored \
--output-dir results/analysis/extension
The repository can create a fixed-seed annotation sheet, but no completed human taxonomy is claimed:
python scripts/08_sample_manual_errors.py
python scripts/06_build_review_sheet.py \
--input results/analysis/manual_error_sample_100.csv
# After independent labels and adjudication:
python scripts/09_summarize_annotations.py
Annotation columns are blank by design until human labels are supplied.
configs/ core and extension experiment definitions
notes/ paper and protocol notes
scripts/ inference, scoring, analysis, and review utilities
src/r1eval/ data, perturbation, prompting, modeling, and scoring code
tests/ unit and regression tests
results/analysis/ small verified aggregate tables only
RESULTS.md complete human-readable aggregate results
Benchmark data, derived experiment images, model weights, raw generations, scored per-item outputs, logs, archives, and report documents are excluded.
@inproceedings{Yang_2025_ICCV,
author = {Yang, Yi and He, Xiaoxuan and Pan, Hongkun and Jiang, Xiyan
and Deng, Yan and Yang, Xingtao and Lu, Haoyu and Yin, Dacheng
and Rao, Fengyun and Zhu, Minfeng and Zhang, Bo and Chen, Wei},
title = {R1-Onevision: Advancing Generalized Multimodal Reasoning
through Cross-Modal Formalization},
booktitle = {Proceedings of the IEEE/CVF International Conference on
Computer Vision (ICCV)},
year = {2025},
pages = {2376--2385}
}
Reproducibility and robustness study of multimodal reasoning with R1-Onevision.
Python
4
21 commits
updated Jul 28, 2026
This repository contains the evaluation code and compact, verified summary tables for a reproducibility and measurement study of R1-Onevision. The study asks whether checkpoint rankings and multimodal-reasoning conclusions remain stable when the answer parser, visual composition, prompt, and inference budget are controlled.
The repository is limited to source code, protocol notes, tests, and compact aggregate summaries. Manuscript files, raw model generations, model weights, and benchmark images are not included.
The core archive contains 10,926 rows:
The extension adds 26,142 rows:
All 26,142 extension rows completed without a runtime error. The initial unbudgeted five-view branch produced 680 CUDA out-of-memory records; those records are retained as resource failures and are not interpreted as ordinary wrong answers.
An audit found that the original regular expression could miss an explicit
answer split across lines, such as The correct answer is: followed by
\boxed{B}, while a loose tail fallback could also accept a non-final letter.
The repaired multiple-choice extractor applies the following precedence:
<answer>...</answer> block;Thirteen adversarial regression tests cover line-broken boxes, conflicting earlier and later answers, Markdown labels, option-list decoys, multi-answer rejection, and unchanged numeric/free-response behavior. The repair was applied uniformly to both archives without overwriting the original raw data.
| Checkpoint | Clean accuracy (942) | 95% bootstrap CI |
|---|---|---|
| Qwen2.5-VL-7B-Instruct | 36.94% | [33.86, 40.02] |
| R1-Onevision-7B (SFT) | 33.97% | [31.00, 37.05] |
| R1-Onevision-7B-RL | 37.26% | [34.18, 40.34] |
The repaired RL-minus-Base difference is +0.32 percentage points (paired bootstrap 95% CI [−3.18, +3.82], exact McNemar p=0.906). The study therefore does not claim a significant RL-over-Base advantage under this local scoring protocol.
On the complete 3×5 robustness matrix, none of the 12 clean-to-perturbed paired comparisons survives Holm correction. Accuracy alone hides substantial answer turnover: clean/perturbed answer agreement ranges from 37.7% to 56.3%.
The fixed-canvas study changes the distractor interpretation. For SFT, mean semantic-panel accuracy is 6.83 points below clean input (95% CI [−11.56, −2.28]), but only 3.00 points below a matched blank-panel control (95% CI [−6.44, +0.50]). Thus, layout and target-scale changes explain part of the apparent distractor penalty, while the isolated semantic effect remains uncertain.
On the held-out 642-question clean complement, the RL dual-prompt agreement gate accepts 288 items (44.86% coverage) and reaches 48.26% selective accuracy (95% CI [42.46, 54.04]), versus 39.25% accuracy before abstention. This is a useful selective-prediction trade-off, but not a fully established failure detector: coverage is below one half, and same-prompt stochastic agreement also selects higher-accuracy subsets.
The budgeted multi-view experiment finishes all 3,600 generations without an out-of-memory error, but provides no accuracy gain. Averaged over six matched condition/prompt groups, accuracy is 33.89% for the global view and 33.33% for five views; every paired 95% interval includes zero.
Full tables, confidence intervals, paired flip counts, and interpretation
boundaries are in RESULTS.md.
A later 10,080-call signal pilot completed without missing records or infrastructure failures but failed frozen parseability and confidence gates. A stricter scorer-integrity canary study then found 53 compact-versus-oracle equivalence issues and also returned NO-GO. No formal Stage-B0 efficacy run was launched. These negative audits are reported as validity evidence and are not used to claim model accuracy, calibration, or ranking improvements.
See RELIABILITY_AUDIT.md and the machine-readable
summaries under results/analysis/.
conda create -n r1ov python=3.11 pip -y
conda activate r1ov
python -m pip install torch==2.6.0 torchvision==0.21.0 \
--index-url https://download.pytorch.org/whl/cu124
python -m pip install -r requirements.txt
python -m unittest discover -s tests -v
Prepare the benchmark manifest and run a one-GPU smoke test:
python scripts/01_prepare_manifest.py --config configs/experiment.json
CUDA_VISIBLE_DEVICES=0 python scripts/00_smoke_test.py \
--model-id Fancy-MLLM/R1-Onevision-7B-RL
Run the resumable core and extension pipelines:
bash scripts/run_all_gpu.sh
bash scripts/run_extension_8gpu.sh
The runners start one shard per visible GPU, preserve per-record errors, and skip completed keys on restart. Before launching, verify that the selected GPUs are unused and follow the local resource-sharing policy.
Rescore existing raw JSONL files with the repaired extractor and regenerate the summary tables:
python scripts/03_score_results.py \
--results-dir results/raw \
--output-dir results/scored
python scripts/04_analyze_results.py \
--scored-dir results/scored \
--output-dir results/analysis
python scripts/07_analyze_extension.py \
--scored-dir results/scored \
--output-dir results/analysis/extension
The repository can create a fixed-seed annotation sheet, but no completed human taxonomy is claimed:
python scripts/08_sample_manual_errors.py
python scripts/06_build_review_sheet.py \
--input results/analysis/manual_error_sample_100.csv
# After independent labels and adjudication:
python scripts/09_summarize_annotations.py
Annotation columns are blank by design until human labels are supplied.
configs/ core and extension experiment definitions
notes/ paper and protocol notes
scripts/ inference, scoring, analysis, and review utilities
src/r1eval/ data, perturbation, prompting, modeling, and scoring code
tests/ unit and regression tests
results/analysis/ small verified aggregate tables only
RESULTS.md complete human-readable aggregate results
Benchmark data, derived experiment images, model weights, raw generations, scored per-item outputs, logs, archives, and report documents are excluded.
@inproceedings{Yang_2025_ICCV,
author = {Yang, Yi and He, Xiaoxuan and Pan, Hongkun and Jiang, Xiyan
and Deng, Yan and Yang, Xingtao and Lu, Haoyu and Yin, Dacheng
and Rao, Fengyun and Zhu, Minfeng and Zhang, Bo and Chen, Wei},
title = {R1-Onevision: Advancing Generalized Multimodal Reasoning
through Cross-Modal Formalization},
booktitle = {Proceedings of the IEEE/CVF International Conference on
Computer Vision (ICCV)},
year = {2025},
pages = {2376--2385}
}