CoCoEvolve turns chart-table-code agreement into annotation-free supervision, co-training two models to teach each other

Consistency-Driven Co-Evolution for Self-Supervised Cross-Representation Learning

Xuehang Guo, Pengyuan Li, Tom Hope, Tirthankar Ghosal, Manling Li, Qingyun Wang

cs.LG, cs.AI, cs.CL

2026-08-05

A chart maps to many valid tables and code programs, so labeled supervision is scarce and ill-defined. CoCoEvolve puts chart, table, and code in a loop and lets two models check each other's output, turning three-way agreement into annotation-free training signal with gains up to about 38% on cross-representation and out-of-domain tasks.

What problem this solves

Chart images, data tables, and rendering code are three faces of the same data, and AI systems often translate among them: extract a table from a chart, generate plotting code from a chart, turn a table back into a chart. The mapping is one-to-many: one chart corresponds to several equally valid tables and several code programs that all render it.

Existing benchmarks pretend it is one-to-one, so labels are expensive and ill-defined; training only on a fixed pair (say, chart to table) degrades performance in the reverse direction (table to chart) and in unseen combinations (table to code). Letting a large model score outputs 0 to 100 as a judge is unreliable. The paper looks for a training signal that needs no labels, covers all six directions, and enforces global semantic correctness.

Method

CoCoEvolve's idea is cycle consistency: put chart, table, and code in a closed loop, let two models check each other, and turn three-way agreement into the training signal.

The loop has three mappings: ftheta (multimodal Mtheta, chart to table and code), gpsi (text-only Mpsi, table to code), and h (a deterministic code executor, code to chart). Go around once and, if every leg is correct, the three outputs should agree, and that agreement is a supervision signal requiring no labels.

The rewards are several: a code-consistency reward Fc measures semantic similarity between the two models' code via embeddings; a visual-consistency reward Fv compares the re-rendered chart against the original; plus a self-alignment term for each model against the original chart or table. The crux of co-evolution is that the two models are coupled: each model's advantage depends on the other's output, so as one improves it hands stronger supervision to the other. This attaches to GRPO, DAPO, and GSPO.

It works at both train and test time. CoCoEvolve@Train is the training-time co-evolution; CoCoEvolve@Test samples K candidates from each model at inference and keeps the highest-agreement one, improving output with no retraining. When labels exist, an optional teacher module uses ground truth on a fraction alpha of each batch, with alpha linearly annealed so training shifts from teacher-guided to fully self-supervised. The authors also release CoCoEvolve@Eval, covering all six cross-representation tasks with a deterministic rule-judge plus an LLM judge, decomposed into interpretable dimensions.

Results

On code quality, CoCoEvolve@Train plus @Test pushes sandbox execution success to 100%, with +17.48% on the rule-judge and +26.57% on the LLM-judge. Chart evaluation gains +6.79% (rule) and +3.33% (MLLM); table evaluation gains +15.64% and +24.72%.

The standout numbers are out-of-domain. On ChartMimic, chart-to-code improves +37.97% and chart+data-to-code +34.65%. On Chart2Code:

OOD task (Chart2Code)Gain
chart to code reproduction+37.91%
chart+figure to code modification+46.88%
chart+table to code modification+27.85%
chart+instruction to code modification+45.44%

Cross-domain transfer reaches +35.68% on ChartNet and +37.97% on ChartMimic, but only +2.41% on the non-overlapping ChartCoder test set. The method attaches to different RL algorithms (GRPO/DAPO/GSPO): execution +18.71%, code +6.96%, chart +12.15%, table +3.36%. Baselines include Qwen3-VL-2B/4B, InternVL3.5-4B, Llama3.2-3B, DeepSeek-1.3B/6.7B, and Qwen3-1.7B/4B/8B; the main models are Mtheta = Qwen3-VL-4B and Mpsi = Qwen3-4B.

Why it matters

Porting cycle consistency (from CycleGAN) to chart, table, and code is the genuine contribution: it sidesteps expensive and ill-defined one-to-one annotation and naturally covers all six directions, including the reverse and unseen combinations that task-specific training breaks on. Test-time optimization is a practical touch, improving output without retraining. Anyone building document-AI or chart-reproduction agents can take note.

One caveat: the headline 37% to 46% figures are relative gains and mostly land on out-of-domain metrics; many absolute scores in the tables still sit in the 20s and 50s, and the models used are small, so absolute quality is modest.

Limitations

The authors note that only small models were tried (larger ones such as 480B are unexplored) and that only static charts are handled, leaving animated or dynamic visualizations to future work.

A caveat to add: the framework is heavy (two models, RL co-evolution, several reward terms, teacher annealing), and a fair question is how much of the gain comes from the consistency signal itself versus simply more RL compute and test-time search. The cleanest in-distribution comparison (the non-overlapping test set) gains only +2.41%, while the big numbers are all out-of-domain, a gap worth noting. The six-task evaluation suite is a contribution, but its metrics are many and partly rely on an LLM judge.

Terms

Source

Related papers

All paper explainers