Image-Text-to-Text
Safetensors
English
Chinese
GeoWeave / README.md
θ‹±ε…ˆ
Upload models and datasets
4aadc3d
|
Raw History Blame Contribute Delete
8.29 kB
---
license: apache-2.0
language:
- en
- zh
base_model:
- sensenova/SenseNova-U1-8B-MoT
pipeline_tag: image-text-to-text
---
# GeoWeave-8B
GeoWeave-8B is a vision-language model for **visual chain-of-thought (VCoT)
geometry problem solving**. It is designed to reason over geometry diagrams,
plan auxiliary constructions, and use updated visual states during an
interleaved visual-textual solution trajectory.
This Hugging Face repository contains:
- the GeoWeave-8B model checkpoint in Hugging Face format; and
- a preview release of **GeoVAD-Bench**, a trajectory-level benchmark for
evaluating visual geometry reasoning.
> **Important:** GeoWeave-8B is intended to be used with the inference runtime
> in the official GeoWeave code repository. The checkpoint alone is not a
> drop-in replacement for a text-only causal language model.
## Links
| Resource | Link |
| --- | --- |
| Code repository | [ant-research/GeoWeave](https://github.com/ant-research/GeoWeave) |
| Technical report | [Beyond Generation and Accuracy: Diagnosing and Enhancing Visual Chain-of-Thought for Geometry Problem Solving](https://arxiv.org/abs/2609.12606) |
| Base model | [SenseNova-U1-8B-MoT](https://github.com/OpenSenseNova/SenseNova-U1) |
| Benchmark and model release | [AntResearch/GeoWeave](https://huggingface.co/AntResearch/GeoWeave) |
## Overview
Conventional visual question answering usually treats the input diagram as a
one-time observation. Geometry problem solving often requires a different
workflow: the solver must decide which auxiliary object to construct, inspect
the resulting diagram, and then continue reasoning from the new visual state.
GeoWeave targets this setting by interleaving visual generation and textual
deduction in a single trajectory:
1. perceive the original geometry diagram;
2. plan an auxiliary construction;
3. generate or update the auxiliary diagram;
4. read the updated visual state; and
5. continue the derivation and produce the final answer.
The model is released together with the GeoWeave framework, which combines
progressive supervised post-training with interleaved reinforcement learning
and step-level process credit assignment.
## Key results
The following results are reported on GeoVAD-Bench in the technical report.
Scores are percentages.
| Metric | Base model | GeoWeave-8B | Improvement |
| --- | ---: | ---: | ---: |
| Final-answer accuracy | 37.3 | **62.6** | +25.3 |
| Process Avg. (L1--L4) | 52.5 | **82.9** | +30.4 |
| Perception | 89.8 | **95.6** | +5.8 |
| Auxiliary quality | 25.4 | **76.4** | +51.0 |
| Auxiliary utilization | 71.6 | **93.6** | +22.0 |
| Reasoning | 23.3 | **66.3** | +43.0 |
The benchmark evaluates five complementary aspects of a solution trajectory:
original-diagram perception, auxiliary-diagram quality, auxiliary-diagram
utilization, reasoning-process correctness, and final-answer correctness.
## Repository contents
```text
.
β”œβ”€β”€ GeoWeave-8B/ # Hugging Face model checkpoint
└── GeoVAD-Bench-preview/
β”œβ”€β”€ bench.jsonl # Preview benchmark annotations
└── images/ # Images referenced by bench.jsonl
```
The `GeoWeave-8B/` directory contains sharded `safetensors` weights, model and
tokenizer configuration files, the chat template, and vocabulary files. The
custom inference and model implementation are maintained in the official
[GeoWeave code repository](https://github.com/ant-research/GeoWeave).
## How to use
### Recommended: GeoWeave inference runtime
Clone the code repository and install its inference dependencies first:
```bash
git clone https://github.com/ant-research/GeoWeave.git
cd GeoWeave
python -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
pip install -e .
```
Then run interleaved inference with the released checkpoint:
```bash
python run_inference.py \
--config configs/geo_weave.yaml \
--bench path/to/bench.jsonl \
--output-dir results/run1 \
--model-path /path/to/GeoWeave-8B
```
The benchmark file passed to `--bench` should use the format described below.
For the complete environment setup, GPU options, sampling options, and output
format, please refer to the [GeoWeave README](https://github.com/ant-research/GeoWeave#environment-setup).
The inference output may include:
- `predictions.jsonl`: model predictions and generated auxiliary-image paths;
- `trace.jsonl`: interleaved inference traces;
- `summary.json`: run statistics; and
- per-worker shard files when shard retention is enabled.
### Checkpoint loading notes
The checkpoint is exported in Hugging Face format, but its configuration points
to a custom multimodal architecture. The complete interleaved workflow,
including image handling and auxiliary-diagram generation, is implemented by
the GeoWeave runtime. Loading the directory with a text-only model class may
not reproduce the released model behavior.
## GeoVAD-Bench preview
`GeoVAD-Bench-preview/bench.jsonl` is a preview of the GeoVAD-Bench evaluation
data. The full benchmark contains 600 curated geometry problems requiring
auxiliary constructions, with Easy, Medium, and Hard difficulty levels. It
covers Chinese and English problems and includes both multiple-choice and
open-ended answer formats.
Some in-house evaluation data are currently undergoing review. The complete
evaluation set will be released after that review is complete; the files in
this repository should therefore be treated as a **preview release**.
### Data format
Each line in `bench.jsonl` is a JSON object describing one problem:
```json
{
"id": "GeoVAD_1",
"images": [
"images/GeoVAD_1_0.png",
"images/GeoVAD_1_1.png"
],
"query": "<image0>\\n...",
"answer": "...",
"thinking": "...",
"difficulty": "medium",
"gt_aux_instructions": [
{
"image_index": 1,
"instruction": "连ζŽ₯AP。"
}
]
}
```
Fields:
- `id`: unique sample identifier;
- `images`: image paths relative to the benchmark JSONL file;
- `query`: problem statement, where `<image0>`, `<image1>`, and so on refer to
the corresponding images;
- `answer`: ground-truth final answer;
- `thinking`: reference reasoning used by process-oriented evaluation when
applicable;
- `difficulty`: problem difficulty level; and
- `gt_aux_instructions`: reference auxiliary-construction instructions, with
`image_index` identifying the resulting image.
When using the official runtime, relative image paths are resolved against the
benchmark JSONL directory and, when configured, the inference image root.
## Limitations
- GeoWeave-8B is optimized for visual geometry reasoning and should not be
assumed to have uniformly strong performance on general-purpose vision or
mathematics tasks.
- Errors can arise from diagram perception, auxiliary-construction planning,
auxiliary-image generation, visual state reading, or final-answer parsing.
- Generated auxiliary diagrams may vary with resolution, sampling parameters,
and runtime configuration.
- Reported benchmark results do not establish performance on every geometry
domain or on general visual question answering.
- The preview benchmark is not the complete GeoVAD-Bench release.
## License
The materials in this repository are released under the
[Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0). Please also
review the license and usage conditions of the base model and other upstream
components before redistribution or commercial use.
## Acknowledgements
We thank the [SenseNova-U1](https://github.com/OpenSenseNova/SenseNova-U1) and
[UniRL](https://github.com/Tencent-Hunyuan/UniRL) teams for open-sourcing their
work. GeoWeave's model implementation and reinforcement-learning training code
build upon these projects.
## Citation
If you find GeoWeave useful in your research or work, please cite the technical
report:
```bibtex
@misc{GeoWeave,
title={Beyond Generation and Accuracy: Diagnosing and Enhancing Visual Chain-of-Thought for Geometry Problem Solving},
author={Zhitong Dong and Jicai Pan and Yingguo Gao and Jingting Ding and Hao Chen and Jinjie Gu},
year={2026},
eprint={2609.12606},
archivePrefix={arXiv},
primaryClass={cs.AI},
url={https://arxiv.org/abs/2609.12606},
}
```