Model reference · open weights

Recon2Reason-Reasoning

LLMs BAAI Vision + text 1 build Open weights 0 dl/mo

Recon2Reason-Reasoning is an open-weight language model from BAAI. Recon2Reason-Reasoning-4B (BF16) weighs 8.9 GB; the smallest configuration that runs it is RTX 4060 Ti 16 GB.

For self-hosting, compare this build's requirements below with the GPU you plan to rent.

  • Recon2Reason-Reasoning is a 4.4B parameter vision-language model developed by BAAI for spatial reasoning in indoor and embodied scenes.
  • Fine-tuned from Qwen3-VL-4B, it processes image and text inputs to reason about metric distance, relative position, and object configuration.
  • The model supports a context length of 262,144 tokens, operates in English, and is released under the Apache-2.0 license.

Summary of the BAAI/Recon2Reason-Reasoning-4B model card, 2026-10-01

What it is

Released byBAAI
Released2026-09-03
Parameters4.4B
VRAM8.9 GB for the weights

What it runs on

Memory and cards for Recon2Reason-Reasoning-4B (BF16)

8.9 GBweights, file size
147 MBcache per 1K tokens
2.0 GBruntime overhead, at least
262,144 tokenscontext max
CardRequests at onceContext maxMemory
8K each32K each
RTX 3060 12 GB4K11.6 GB
RTX 4060 Ti 16 GB330K15.4 GB
RTX 3090 24 GB10282K23.4 GB
RTX 4090 24 GB10282K23.4 GB
RTX 5090 32 GB164133K31.0 GB
L40S 48 GB276219K44.0 GB
A100 80 GB5513all 256K78.2 GB
H100 80 GB5213all 256K78.1 GB
RTX PRO 6000 Blackwell 96 GB6516all 256K93.8 GB
DGX Spark (GB10) 128 GB unified7619all 256K107 GB
H200 141 GB10125all 256K138 GB
B200 180 GB13233all 256K176 GB
2× RTX 3060 12 GB
tensor parallel
8268K11.6 GB a card
2× RTX 4060 Ti 16 GB
tensor parallel
143118K15.4 GB a card
Memory needed at each load
Requests at once8K tokens each32K tokens each
112.1 GB15.7 GB
516.9 GB35.0 GB
820.5 GB49.5 GB
1630.2 GB88.2 GB
3249.5 GB165 GB
6488.2 GB320 GB

One card, with vLLM's small-card settings.

From the model card

What BAAI says about Recon2Reason-Reasoning

Read the model card

Recon2Reason Reasoning 4B is a 4B-scale vision-language model specialized for spatial reasoning in indoor and embodied scenes. It is fine-tuned from Qwen3-VL-4B and improves reasoning about metric distance, relative position, object configuration, and spatial relations from visual inputs.

The checkpoint retains the standard Qwen3VLForConditionalGeneration architecture. No custom model code or trust_remote_code=True is required.

Highlights

  • Standard Qwen3-VL Transformers interface
  • 4,437,815,808 parameters
  • BF16 weights in sharded Safetensors format
  • Single-image and multi-image visual inputs
  • Strong results on metric and qualitative spatial reasoning benchmarks

This repository contains the reasoning model only. The retrieval-augmented scene-reconstruction extension is released separately.

Model details

PropertyValue
Model nameRecon2Reason Reasoning 4B
Model typeVision-language conditional generation model
ArchitectureQwen3VLForConditionalGeneration
Parameters4,437,815,808
Weight dtypeBF16
Weight formatSafetensors, 2 shards
Primary domainIndoor spatial reasoning
Base modelQwen3-VL-4B-Instruct
Tested Transformers version4.57.1
LicenseApache-2.0

Quick start

pip install "transformers==4.57.1" "torch>=2.6" accelerate safetensors pillow
import torch
from transformers import AutoProcessor, Qwen3VLForConditionalGeneration

model_id = "BAAI/Recon2Reason-Reasoning-4B"

processor = AutoProcessor.from_pretrained(model_id)
model = Qwen3VLForConditionalGeneration.from_pretrained(
    model_id,
    dtype="auto",
    device_map="auto",
).eval()

messages = [
    {
        "role": "user",
        "content": [
            {"type": "image", "image": "path/to/scene.jpg"},
            {
                "type": "text",
                "text": "Which object is closest to the chair? ",
            },
        ],
    }
]

inputs = processor.apply_chat_template(
    messages,
    tokenize=True,
    add_generation_prompt=True,
    return_dict=True,
    return_tensors="pt",
).to(model.device)

with torch.inference_mode():
    output_ids = model.generate(
        **inputs,
        max_new_tokens=512,
        do_sample=False,
    )

generated_ids = output_ids[:, inputs["input_ids"].shape[1]:]
answer = processor.batch_decode(
    generated_ids,
    skip_special_tokens=True,
    clean_up_tokenization_spaces=False,
)[0]
print(answer)

The model uses the standard Qwen3-VL chat format. For benchmark reproduction, use greedy decoding (do_sample=False) unless a benchmark specifies otherwise.

Evaluation

The checkpoint was evaluated in BF16 with PyTorch 2.8.0, Transformers 4.57.1, SDPA attention, and greedy decoding on NVIDIA RTX PRO 6000 Blackwell GPUs.

License

The model is released under the Apache License 2.0, subject to final confirmation that all training data and upstream artifacts permit this distribution. See LICENSE.

Acknowledgements

This work builds on Qwen3-VL. We thank the creators of the evaluation datasets and the open-source Transformers ecosystem.

Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.

© 2026 AxForge · EU-hosted AI infrastructure Pricing Docs Trust Privacy Terms