CoolFace
Modelpublic

opendatalab/ChartVerse-8B

sourceHugging Faceapache-2.0updated 8mo agoView on Hugging Face
7likes30downloads
Model Card

ChartVerse-8B is a state-of-the-art Vision Language Model (VLM) achieving top-tier performance on chart reasoning benchmarks, developed as part of the [opendatalab/ChartVerse](https://huggingface.co/collections/opendatalab/chartverse) project. For more details about our method, datasets, and full model series, please visit our Project Page.

Most notably, ChartVerse-8B surpasses its teacher model Qwen3-VL-30B-A3B-Thinking (62.9%) and approaches Qwen3-VL-32B-Thinking (67.0%), breaking the distillation ceiling and demonstrating that high-quality synthetic data can enable student models to exceed their teachers.

๐Ÿ”ฅ Highlights

  • โ€”๐Ÿ† SOTA Performance: 64.1% average score across 6 challenging chart benchmarks
  • โ€”๐Ÿ“ˆ Surpasses Teacher: Outperforms Qwen3-VL-30B-A3B-Thinking (62.9%) with only 8B parameters
  • โ€”๐ŸŽฏ Approaches 32B: Rivals Qwen3-VL-32B-Thinking (67.0%) performance

๐Ÿ“Š Model Performance

Overall Results

<div align="center"> <img src="https://raw.githubusercontent.com/chartverse/chartverse.github.io/main/static/images/overall_result.png" width="100%" alt="Overall Performance Comparison"> </div>

SFT vs RL Performance

<div align="center"> <img src="https://raw.githubusercontent.com/chartverse/chartverse.github.io/main/static/images/training_phases.png" width="100%" alt="Training Phases Performance"> </div>

๐Ÿ“š Training Data

ChartVerse-SFT-600K

  • โ€”412K unique high-complexity charts
  • โ€”603K QA pairs with 3.9B tokens of CoT reasoning
  • โ€”Rollout Posterior Entropy: 0.44 (highest among all datasets)
  • โ€”Truth-anchored answer verification via code execution

ChartVerse-RL-40K

  • โ€”40K highest-difficulty samples
  • โ€”Filtered by failure rate: 0 < r(Q) < 1
  • โ€”Ensures "hard but solvable" training signal

๐Ÿ‹๏ธ Training Details

Supervised Fine-Tuning (SFT):

  • โ€”Framework: LLaMA-Factory
  • โ€”Dataset: ChartVerse-SFT-600K
  • โ€”Learning rate: 1.0 ร— 10โปโต
  • โ€”Global batch size: 128
  • โ€”Context length: 22,000 tokens
  • โ€”Training time: ~1.5 days on 32ร— A100 GPUs

Reinforcement Learning (RL):

  • โ€”Framework: veRL
  • โ€”Dataset: ChartVerse-RL-40K
  • โ€”Algorithm: GSPO
  • โ€”Learning rate: 1.0 ร— 10โปโถ
  • โ€”Rollout samples: 16 per prompt
  • โ€”Training time: ~4 days on 32ร— A100 GPUs

๐Ÿš€ Quick Start

python
from transformers import Qwen3VLForConditionalGeneration, AutoProcessor
from qwen_vl_utils import process_vision_info
from PIL import Image

# 1. Load Model
model_path = "opendatalab/ChartVerse-8B"
model = Qwen3VLForConditionalGeneration.from_pretrained(
    model_path, torch_dtype="auto", device_map="auto"
)
processor = AutoProcessor.from_pretrained(model_path)

# 2. Prepare Input
image_path = "path/to/your/chart.png"
query = "Which region demonstrates the greatest proportional variation in annual revenue compared to its typical revenue level?"

messages = [
    {
        "role": "user",
        "content": [
            {"type": "image", "image": image_path},
            {"type": "text", "text": query},
        ],
    }
]

# 3. Inference
text = processor.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
image_inputs, video_inputs = process_vision_info(messages)
inputs = processor(
    text=[text],
    images=image_inputs,
    padding=True,
    return_tensors="pt",
).to("cuda")
generated_ids = model.generate(**inputs, max_new_tokens=16384)
output_text = processor.batch_decode(
    generated_ids, skip_special_tokens=True, clean_up_tokenization_spaces=False
)
print(output_text[0])

๐Ÿ“– Citation

bibtex
@misc{liu2026chartversescalingchartreasoning,
      title={ChartVerse: Scaling Chart Reasoning via Reliable Programmatic Synthesis from Scratch}, 
      author={Zheng Liu and Honglin Lin and Chonghan Qin and Xiaoyang Wang and Xin Gao and Yu Li and Mengzhang Cai and Yun Zhu and Zhanping Zhong and Qizhi Pei and Zhuoshi Pan and Xiaoran Shang and Bin Cui and Conghui He and Wentao Zhang and Lijun Wu},
      year={2026},
      eprint={2601.13606},
      archivePrefix={arXiv},
      primaryClass={cs.CV},
      url={https://arxiv.org/abs/2601.13606}, 
}

๐Ÿ“„ License

This model is released under the Apache 2.0 License.

๐Ÿ™ Acknowledgements