A-RSI: Adaptive Task Refresh for Zero-Data Multimodal Self-Improvement
Abstract
Recursive self-improvement requires models not only to acquire useful training experience, but also to decide when their current experience has ceased to be useful. Existing methods often focus on what experience to generate next, while paying less attention to when fresh experience should be introduced. Many also construct training targets through self-consistency or majority voting, making supervision depend on the model's own uncertain predictions. We address these two questions separately: training dynamics determine when to acquire new experience, while the answers to new tasks remain independently checkable. A-RSI monitors reward variation and accuracy in training logs to refresh a task pool when its learning signal declines, without consulting validation or test scores. A static library of model-authored programs produces multimodal questions and derives their reference answers; we specify the task-generation contract, automatically verify chosen properties of the reward and refresh rules, and separately audit the generated answers. The training loop uses no external training examples or human-written answer labels. On the primary eleven-benchmark suite, A-RSI raises the performance average from 57.77 to 61.05 with 800 fresh tasks.
Figures & tables
| Method | Task source | Supervision | Data updated | Selection rule |
| Generate tasks during training | ||||
| Absolute Zero | Model-proposed code | Code execution | Continuously | Learnability reward |
| R-Zero | Challenger model | Model labels | Co-evolving | Near solver ability |
| MM-Zero | Multi-role model | Majority vote | Continuously | Difficulty reward |
| Vision-Zero | Image-pair games | Game rewards | Alternating | Self-play RLVR |
| Select from existing tasks or distributions | ||||
| Benchmark | Pool 1 | Pool 2 | Pool 3 | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| MMSI | 1000 | 27.10 | 27.90 | 26.70 | 28.10 | 28.50 | 28.70 | 30.70 | 28.80 | 29.30 | 31.00 |
| MathVerse | 3940 | 62.03 | 62.01 | 62.39 | 62.46 | 63.40 | 64.06 | 63.38 | 63.25 | 63.48 | 63.81 |
| MathVision | 3040 | 45.92 | 47.27 | 47.20 | 47.66 | 48.98 | 50.07 | 50.62 | 51.45 | 51.45 | 52.53 |
| MMMU-Pro (4) | 1592 | 58.42 | 59.23 | 58.79 | 59.74 | 60.24 | 62.63 | 62.06 | 61.31 | 63.19 | 63.00 |
| VisNumBench | 1913 | 49.03 | 52.74 | 53.84 | 54.47 | 55.36 | 54.68 | 55.62 | 54.05 | 55.99 | 56.19 |
| Benchmark | Pool 1 | Pool 2 | Pool 3 | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| MMSI | 1000 | 31.50 | 30.20 | 31.30 | 30.10 | 30.00 | 29.00 | 29.30 | 31.10 | 30.70 | 30.00 |
| MathVerse | 3940 | 70.10 | 72.34 | 72.23 | 72.11 | 71.88 | 71.80 | 71.42 | 71.83 | 72.39 | 71.93 |
| MathVision | 3040 | 53.95 | 54.51 | 55.69 | 55.46 | 55.62 | 55.82 | 56.35 | 56.78 | 56.41 | 55.30 |
| MMMU-Pro (4) | 1592 | 57.10 | 59.23 | 59.92 | 59.80 | 59.67 | 60.24 | 60.80 | 60.05 | 59.42 | 59.74 |
| VisNumBench | 1913 | 48.93 | 48.77 | 48.30 | 48.09 | 49.71 | 49.76 | 50.91 | 50.03 | 49.24 | 49.71 |
| Variant | Refresh rule | New-pool selection | New tasks by | |||
|---|---|---|---|---|---|---|
| -RSI | Training-log trigger | Random | 59.84 | 60.40 | 61.05 | 800 |
| No-Refresh | Never | None | 58.48 | 58.35 | – | 0 |
| Continuous | Every window | Adaptive difficulty | 59.47 | 59.74 | 60.64 | 3,200 |
| Periodic | Every two windows | Frontier | 59.22 | 59.91 | 59.89 | 1,200 |
| Frontier | Training-log trigger | Frontier | 59.76 | 59.83 | 59.59 | 800 |
| Replacement selection | Macro11 | Difference |
| Four windows, every-window refresh | ||
| Random control | 60.29 | – |
| Failure-prioritized sampling | 57.67 | |
| Learnable-band sampling | 58.39 | |
| Always-wrong sampling | 57.89 | |
| Ladder controller | 59.47 | |
| Controlled check | Tasks passing |
|---|---|
| Correct committed answer ranks above incorrect committed answer | 1,000 / 1,000 |
| Canonical formatting raises reward with correctness and termination fixed | 1,000 / 1,000 |
| Normal commitment raises reward with correctness and formatting fixed | 1,000 / 1,000 |
| Strategy | Accuracy (gain) | Fresh tasks | Gain/1k | LJ | Trunc. % | Sentinel |
|---|---|---|---|---|---|---|
| (start) | 57.77 | 0 | – | 54.83 | 14.34 | WATCH |
| No-Refresh | Halted at | 0 | – | – | – | – |
| Frontier | 59.59 (+1.82) | 800 | +2.28 | 58.19 | 8.14 | OK |
| Periodic | 59.89 (+2.12) | 1,200 | +1.77 | 58.40 | 10.33 | OK |
| Continuous | 60.64 (+2.87) | 3,200 | +0.90 | 59.12 | 8.44 | OK |
| -RSI | 61.05 (+3.27) | 800 | +4.09 | 59.54 | 4.16 | OK |
| Arm | Geometry (4,588) | Chart (2,960) | Table (1,181) | Counting (447) | ||||
|---|---|---|---|---|---|---|---|---|
| Acc. | Trunc. | Acc. | Trunc. | Acc. | Trunc. | Acc. | Trunc. | |
| (start) | 56.19 | 18.64 | 79.63 | 1.69 | 70.96 | 13.80 | 54.81 | 13.20 |
| Frontier | 57.65 | 10.48 | 81.32 | 1.05 | 72.14 | 10.16 | 57.94 | 6.71 |
| Periodic | 57.85 | 12.69 | 82.23 | 1.11 | 73.58 | 11.35 | 59.06 | 10.07 |
| Continuous | 59.70 | 9.94 | 81.15 | 0.71 | 74.26 | 9.40 | 57.94 | 5.82 |
| -RSI | 59.83 | 4.80 | 81.66 | 0.81 | 72.99 | 6.60 | 61.74 | 2.46 |
| Variant | Refresh rule | New-pool selection | New tasks by | |||
|---|---|---|---|---|---|---|
| -RSI | Training-log trigger | Random | 59.84 | 60.40 | 61.05 | 800 |
| No-Refresh | Never | None | 58.48 | 58.35 | – | 0 |
| Continuous | Every window | Adaptive difficulty | 59.47 | 59.74 | 60.64 | 3,200 |
| Periodic | Every two windows | Frontier | 59.22 | 59.91 | 59.89 | 1,200 |
| Frontier | Training-log trigger | Frontier | 59.76 | 59.83 | 59.59 | 800 |
| Experiment | How the replacement tasks are chosen | Accuracy | Stable |
| Probe selection | 1–7 of 8 correct, image-specific failures first | ||
| 1–7 of 8 correct (ThinkLite-style) | |||
| 0 of 8 correct | |||
| Ladder control | pointer up at pass , down at | ||
| every pointer up one tier per window | |||
| ladder controller with a truncation rule |
| Model / training state | Accuracy | Truncation (%) | |||
|---|---|---|---|---|---|
| 4096 | 8192 | Gain | 4096 | 8192 | |
| Base model | 52.91 | 54.91 | 20.10 | 14.42 | |
| MM-Zero v5 (released weights) | 57.09 | 57.37 | 2.84 | 0.87 | |
| -RSI , | 56.99 | 58.16 | 6.82 | 3.44 | |
| Qwen variant at matched training progress | Macro11 |
| Original-pool continuation | 58.35 |
| Fresh random replacement ( -RSI ) | 60.40 |
| Replacement minus continuation |
| Generator group | Answer agreement | Audit scope |
|---|---|---|
| Multi-hop geometry (mv) | 3,881 / 3,881 | All candidates |
| Referring charts (ref) | 1,568 / 1,568 | All candidates |
| Tables, counting, single-series charts | 4,580 / 4,580 | All candidates |
| Plane geometry (ga) | 150 / 150 | Sample only |
| Multi-series chart reading (hr) | 1,922 / 1,927 | Audited subset; five tie ambiguities |
| Model | Pool | Retention | Action | Record | |||
|---|---|---|---|---|---|---|---|
| Qwen | Initial | 239 | 195 | 81.59% | Refresh | Executed | |
| Replacement 1 | 196 | 163 | 83.16% | Refresh | Executed | ||
| Replacement 2 | 181 | 152 | 83.98% | Refresh | Replay | ||
| MiMo | Initial | 245 | 153 | 62.45% | Refresh | Executed | |
| Replacement 1 | 199 | 143 | 71.86% | Refresh | Executed | ||
| Replacement 2 | 152 | 150 | 98.68% | Keep | Replay |
| Decoding | Total gain (Macro11) | Finished wrong right | Finished right wrong | Both-finished contribution |
|---|---|---|---|---|
| Primary | 1,460 | 1,235 | ||
| Repeat | 1,483 | 1,169 |
| Model | Start | Decoding | Total gain | Both-finished contribution | Other strata contribution |
|---|---|---|---|---|---|
| Qwen | Primary | ||||
| Qwen | Repeat | ||||
| Qwen | Primary | ||||
| MiMo | Primary | ||||
| MiMo | Repeat |
| Generator group | Tasks | Independent answer agreement |
|---|---|---|
| Multi-hop geometry (mv) | 200 | 200 / 200 |
| Referring charts (ref) | 200 | 200 / 200 |
| Single-series charts (ca) | 200 | 200 / 200 |
| Tables (tab) | 200 | 200 / 200 |
| Counting (sc) | 200 | 200 / 200 |
| Total | 1,000 | 1,000 / 1,000 |
| Model | Other strata | Wrong right | Right wrong | |||
|---|---|---|---|---|---|---|
| Qwen | 834 | 52 | 64 | |||
| MiMo | 901 | 70 | 57 |
| Benchmark | -RSI | Change | |
|---|---|---|---|
| ChartQA | 82.84 | 84.96 | |
| MMMU | 62.23 | 64.36 | |
| MMSI | 26.40 | 29.30 | |
| MathVerse | 62.26 | 63.48 | |
| MathVision | 47.04 | 51.45 | |
| VisNumBench | 52.90 | 55.99 |
| v1 | v2 | v3 (this report) | |
|---|---|---|---|
| Who writes tasks | a snapshot of the model; program computes answers | programs only | programs only |
| Pool | 300 rows, 225 shared, 75 new slots | 400 fresh tasks per window | 400 tasks, replaced when the detector fires |
| Replacement | controller picks tiers | frontier tiers | random (fixed family shares) |
| When | every 2 windows | every window | log-based detector |
| Difficulty tiers | state space and controller | control and diagnosis | diagnosis and reporting only |
| Health gate |
| Escalation rule | Late-stage tiers | Held-out vs. uniform | Macro11 4096 |
|---|---|---|---|
| no escalation | F2 / H1 | 56.05 | |
| up only on saturation | H1, H2 | 56.69 | |
| uniform | all ten tiers | 56.47 | |
| half by state, half uniform | H2 | 56.02 | |
| writer fixed at | up to H2 | 55.90 | |
| re-select by state each time | up to H3 | 55.88 |
| Comparison | Gain | Reading | |
|---|---|---|---|
| 4096 | 16k | ||
| Chains (mean of 7) | real capability | ||
| Uniform state-selected | only faster termination | ||
| Tool-assisted plain | only faster termination | ||
| Promotion on saturation no escalation | mostly kept, below noise | ||
| Arm | Macro11 at window (4096 tokens) | |||||
|---|---|---|---|---|---|---|
| 7 | 8 | 9 | 10 | 11 | 12 | |
| Partial refresh (225 of 300) | 55.93 | 56.86 | 56.42 | 56.65 | 56.48 | – |
| Fixed pool (300 tasks) | 57.26 | 57.59 | 58.38 | 57.76 | 58.74 | 58.61 |
| Partial refresh fixed pool | – | |||||
| Checkpoint | Accuracy | Truncation (%) | |||
|---|---|---|---|---|---|
| 4096 | 8192 | Gain | 4096 | 8192 | |
| Base model | 52.91 | 54.91 | 20.10 | 14.42 | |
| MM-Zero v5 (released weights) | 57.09 | 57.37 | 2.84 | 0.87 | |
| Fixed-pool continuation, window 10 | 56.23 | 58.35 | 12.60 | 6.83 | |
| Fixed-pool continuation, window 11 | 57.24 | 59.16 | 10.16 | 4.55 | |
| Fixed-pool continuation, window 12 | 56.86 | 58.83 | 10.27 | 5.21 | |
| Arm | Macro11 at window | Window 8 minus | |||
|---|---|---|---|---|---|
| 4 | 6 | 8 | No-Refresh | ||
| No-Refresh | 60.97 | 60.19 | 60.01 | ||
| Periodic | 60.87 | 60.44 | 60.53 | ||
| Continuous | 61.04 | 61.07 | 60.69 | ||
| -RSI | 60.40 | 61.04 | 60.71 | ||
| ✓ Supported | ✗ Not supported |
|---|---|
| A training log alone, with no test set, can tell that a pool is learned out. It lags the benchmark by about one window, fires on the old pool and on two replacement pools, and the half-life of a 400-task pool is three windows. | That the detector finds the best refresh time. |
| After the detector fires, random fresh tasks reach 61.05 with 800 new tasks, against 60.64 for replacing every window with 3,200 (4.09 against 0.90 points per thousand tasks). | That the point estimate establishes a detector-timing advantage. |
| Choosing the replacement by difficulty frontier or by the model’s rollouts is not better than random (three experiments: , , ). | That difficulty control or state-based selection improves the benchmark. |
| The old pool is learned out and the plateau is real: No-Refresh scores 58.48 and 58.35 before running out of signal; at window 6 every refreshing arm is 1.39 to 2.05 above No-Refresh . | That the pre-registered primary endpoint ( Frontier No-Refresh ) holds: No-Refresh halted, so there is no reading. |
| On Macro11, every-window random refresh original-pool continuation is (stable , LJ ). | Any “significant” improvement; every arm was trained once. |
| Difficulty is quantifiable as monotone tiers and learnable in domain (tier 2 of one ladder .58 to .93). | Multi-hop training transfers specifically (MathVision ; against a matched control ). |
| Arm | 4096 tokens | 8192 tokens | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| No-Refresh | 55.06 | 54.93 | 55.82 | 55.72 | 56.79 | 55.74 | – | – | 58.25 | 58.48 | 58.35 | – |
| Frontier | 55.06 | 54.93 | 55.82 | 56.74 | 56.74 | 56.94 | 57.41 | 56.83 | 58.25 | 59.76 | 59.83 | 59.59 |
| Periodic | 55.06 | 54.93 | 55.47 | 56.00 | 57.11 | 56.12 | 56.76 | 57.11 | 58.25 | 59.22 | 59.91 | 59.89 |
| Continuous | 54.74 | 54.93 | 54.86 | 55.85 | 55.77 | 55.92 | 56.90 | 56.82 | 58.14 | 59.47 | 59.74 | 60.64 |
| -RSI | 55.06 | 54.93 | 55.82 | 57.33 | 57.63 | 58.18 | 58.45 | 59.50 | 58.25 | 59.84 | 60.40 | 61.05 |
| Difference | |||
|---|---|---|---|
| Frontier No-Refresh | – | ( ) | ( ) |
| Frontier Continuous | ( ) | ( ) | ( ) |
| Frontier -RSI | ( ) | ( ) | ( ) |
| Frontier Periodic | ( ) | ( ) | ( ) |
| -RSI No-Refresh | – | ( ) | ( ) |
| Periodic No-Refresh | – | ( ) | ( ) |
| Benchmark | Frontier | Periodic | Continuous | -RSI | ||||
|---|---|---|---|---|---|---|---|---|
| Acc. | Trunc. | Acc. | Trunc. | Acc. | Trunc. | Acc. | Trunc. | |
| ChartQA | 84.40 | 0.20 | 85.96 | 0.28 | 84.00 | 0.32 | 84.96 | 0.56 |
| MMMU | 63.24 | 7.93 | 64.25 | 10.17 | 64.80 | 8.83 | 64.36 | 4.58 |
| MMSI | 28.10 | 3.30 | 29.30 | 4.10 | 27.00 | 2.10 | 29.30 | 2.50 |
| MathVerse | 63.68 | 3.78 | 63.81 | 5.00 | 65.94 | 2.18 | 63.48 | 1.93 |
| MathVision | 48.29 | 18.06 | 48.55 | 21.61 | 50.30 | 18.75 | 51.45 | 8.36 |
| Family | Generator | Task type | Candidates | Difficulty tiers (diagnosis only) |
| Geometry | mv | MathVision-style multi-hop geometry; each hop uses the previous result and a new fact in the figure | 3,881 | two ladders of 5 tiers (1–5 hops) |
| ga | plane geometry | 3,880 | 5 tiers | |
| Chart | hr | multi-series chart reading | 2,091 | ten-cell reading ladder |
| ca | single-series chart (bar, line) | 1,568 | none | |
| ref | referring multi-hop chart | 1,568 | 3 tiers | |
| Table | tab | table | 2,163 | none |
Language Model Self-Improvement
Language model self-improvement studies how models use their own outputs, feedback, and experience to improve with less external supervision.
See all 174 papers