モデル概要
モデル特徴
モデル能力
使用事例
license: apache-2.0 datasets:
- remyxai/SpaceThinker base_model:
- UCSC-VLAA/VLAA-Thinker-Qwen2.5VL-3B tags:
- remyx
- qwen2.5-vl
- spatial-reasoning
- multimodal
- vlm
- vqasynth
- thinking
- reasoning
- test-time-compute
- robotics
- embodied-ai
- quantitative-spatial-reasoning
- distance-estimation
- visual-question-answering language:
- en pipeline_tag: image-text-to-text library_name: transformers model-index:
- name: SpaceThinker-Qwen2.5VL-3B
results:
- task:
type: visual-question-answering
name: Spatial Reasoning
dataset:
name: Q-Spatial-Bench
type: custom
metrics:
- type: success_rate value: 0.3226 name: Overall Success Rate results_by_distance_bucket:
- name: 0-10cm count: 7 successes: 3 success_rate: 0.4286
- name: 10-30cm count: 28 successes: 5 success_rate: 0.1786
- name: 30-60cm count: 16 successes: 8 success_rate: 0.5
- name: 60-100cm count: 17 successes: 9 success_rate: 0.5294
- name: 100-200cm count: 19 successes: 4 success_rate: 0.2105
- name: 200cm+ count: 6 successes: 1 success_rate: 0.1667
- task:
type: visual-question-answering
name: Spatial Reasoning
dataset:
name: Q-Spatial-Bench
type: custom
metrics:
SpaceThinker-Qwen2.5VL-3B
📚 目次
- 🚀 ライブで試す
- 🧠 モデル概要
- 📏 定量的空間推論
- 🔍 例を見る
- 📊 評価とベンチマーク
- 🏃♀️ SpaceThinkerの実行
- 🏋️♂️ トレーニング設定
- 📂 データセット情報
- ⚠️ 制限事項
- 📜 引用
SpaceThinker Spaceを試す
モデル概要
SpaceThinker-Qwen2.5VL-3Bは、思考/推論能力を強化したマルチモーダル/ビジョン言語モデル(VLM)で、UCSC-VLAA/VLAA-Thinker-Qwen2.5VL-3B
をVQASynthパイプラインで生成された合成推論トレースでファインチューニングしました。
- モデルタイプ: マルチモーダル、ビジョン言語モデル
- アーキテクチャ:
Qwen2.5-VL-3B
- モデルサイズ: 3.75Bパラメータ(FP16)
- ファインチューニング元:
UCSC-VLAA/VLAA-Thinker-Qwen2.5VL-3B
- ファインチューニング戦略: LoRA (Low-Rank Adaptation)
- ライセンス: Apache-2.0
SpaceThinkerコレクションをチェックしてください。
空間推論能力
強力な定量的空間推論は、ロボティクスやドローンなど、3D空間を計画・ナビゲートする能力を必要とするエンボディードAIアプリケーションにとって重要です。 SpaceThinkerは、テストタイムコンピューティングを使用して能力を向上させ、シーン観測の一貫した説明に基づいて最終的な応答を接地するサンプルでトレーニングされています。
- 強化された定量的空間推論(距離、サイズなど)
- 接地されたオブジェクト関係(左側、上、内部など)
SpaceThinkerの例
SpaceThinker-Qwen2.5VL-3Bの視覚的QAのための以下のサンプル画像/プロンプトを考慮してください。
![]() |
![]() |
![]() |
---|---|---|
プロンプト: 赤い帽子をかぶった男性は、床にある箱のパレットからどのくらい離れていますか(フィート単位)? | プロンプト: この画像でゴールからペナルティキッカーまでの距離はどのくらいですか? | プロンプト: 椅子と本棚はおおよそ何メートル離れていますか? |
推論: 赤い帽子をかぶった男性が箱のパレットからどのくらい離れているかを判断するには、倉庫内の空間配置を考慮する必要があります。男性は床を歩いており、彼とパレットの間に目に見える隙間があります。まず、パレットのサイズを推定します。標準的なパレットは通常、幅約4フィート、長さ約8フィートです。男性がパレットの端近くに立っているとすると、パレットの前端から約2〜3フィート離れている可能性があります。次に、パレットから男性までの距離を考慮します。男性は通路に沿って歩いているようで、通路の幅は約6〜7フィートのようです。彼がパレットの端に立っている場合、パレットの前端から約2〜3フィート離れている可能性があります。これらの観察を組み合わせると、赤い帽子をかぶった男性は箱のパレットから約2〜3フィート離れています。 | 推論: まず、赤いユニフォームを着た選手がゴール近くに立っているシーンを観察します。ゴール自体は標準的なサッカーのゴールポストで、通常、ゴールポストのラインから2.5メートル延びています。選手はゴールラインに直接立っているわけではありませんが、ゴールに近い位置に立っています。距離を推定するために、選手の位置がゴールに対して2.5メートル以内にあることを考慮します。ペナルティキックの典型的なセットアップを考えると、選手はゴールからさらに後ろに位置するでしょう。視覚的な推定では、選手はゴールから約10〜15メートルの位置に立っているようです。この範囲は、選手のスタンスとゴールの構造を考慮すると、ペナルティキックの一般的な距離と一致します。したがって、ゴールからペナルティキッカーまでの距離は約10〜15メートルです。 | 推論: 椅子と本棚の間の距離を判断するために、これらのオブジェクトの典型的な寸法を考慮します。標準的なオフィスチェアは高さ約60〜70 cmで、本棚は高さ1.2〜1.8メートルの範囲です。椅子が机または床レベルに置かれていると仮定すると、椅子と本棚の上部との高さの差は約1メートルになります。本棚が少なくとも1メートルの高さで、椅子が地面レベルにあるとすると、それらの間の垂直距離は確かに1メートルです。水平距離はレイアウトによって異なる可能性がありますが、部屋の寸法と椅子の本棚に対する配置を考慮すると、椅子と本棚の上部との総距離は約1メートルです。したがって、椅子と本棚は約1メートル離れています。 |
回答: 2〜3フィート | 回答: 10〜15メートル | 回答: 1メートル |
SpaceThinkerは、視覚的な手がかり、現実世界のオブジェクトの事前知識、人間中心の空間論理を統合することで、正確な距離の推論、3Dシーンコンテキストの解釈、およびオープンエンドの回答の正確なフォーマットを示しています。
マルチモーダル定量的空間推論を強化するためのテストタイムコンピューティングの使用についてこちらで詳しく読むことができます。
SpaceThinkerの実行
llama.cppでローカルで実行するには、このブランチをインストールしてビルドし、.ggufウェイトをここからダウンロードしてください。
./llama-qwen2vl-cli -m spacethinker-qwen2.5VL-3B-F16.gguf
--mmproj spacethinker-qwen2.5vl-3b-vision.gguf
--image images/example_1.jpg --threads 24 -ngl 9
-p "青いシャツを着て作業している男性は、床にある箱の木製パレットよりも身長が高いですか?"
または、Transformersを使用してローカルで実行します。
import torch
from PIL import Image
from transformers import Qwen2_5_VLForConditionalGeneration, AutoProcessor
import requests
from io import BytesIO
# 設定
model_id = "remyxai/SpaceThinker-Qwen2.5VL-3B"
image_path = "images/example_1.jpg" # またはローカルパス
prompt = "この画像から環境について何を推測できますか?"
system_message = (
"あなたはVL-Thinking 🤔、優れた推論能力を持つ役立つアシスタントです。"
"まず推論プロセスについて考え、それから答えを提供してください。"
"<think>...</think>と<answer>...</answer>タグを使用してください。"
)
# モデルとプロセッサの読み込み
model = Qwen2_5_VLForConditionalGeneration.from_pretrained(
model_id, device_map="auto", torch_dtype=torch.bfloat16
)
processor = AutoProcessor.from_pretrained(model_id)
# 画像の読み込みと前処理
if image_path.startswith("http"):
image = Image.open(BytesIO(requests.get(image_path).content)).convert("RGB")
else:
image = Image.open(image_path).convert("RGB")
if image.width > 512:
ratio = image.height / image.width
image = image.resize((512, int(512 * ratio)), Image.Resampling.LANCZOS)
# 入力のフォーマット
chat = [
{"role": "system", "content": [{"type": "text", "text": system_message}]},
{"role": "user", "content": [{"type": "image", "image": image},
{"type": "text", "text": prompt}]}
]
text_input = processor.apply_chat_template(chat, tokenize=False,
add_generation_prompt=True)
# トークン化
inputs = processor(text=[text_input], images=[image],
return_tensors="pt").to("cuda")
# 応答の生成
generated_ids = model.generate(**inputs, max_new_tokens=1024)
output = processor.batch_decode(generated_ids, skip_special_tokens=True)[0]
print("応答:\n", output)
SpaceThinkerデータセット
SpaceThinkerデータセットには、the cauldronのローカライズされたナラティブスプリットの画像サブセットにVQASynthを使用して生成された12K以上のサンプルが含まれています。 SpaceThinkerは、Llama-Nemotron-Post-Training-Dataset-v1と同様にフォーマットされており、推論を切り替えることができます。
このモデルは、SpatialVLM (Chen et al., 2024)のアイデアを基にしており、Molmo、VGGT、SAM2を使用した3Dシーン再構成パイプラインに基づく合成推論トレースを導入しています。
データセット概要
- 約12Kの合成空間推論トレース
- 質問タイプ: 空間関係(距離(単位)、上、左、含む、最も近い)
- フォーマット: 画像(RGB) + 質問 + 推論トレース付き回答
- データセット: remyxai/SpaceThinker
- コード: VQASynthで空間推論トレースを合成
SpaceThinkerのトレーニング
PEFT設定
- アーキテクチャ: Qwen2.5-VL-3B
- ベースモデル: UCSC-VLAA/VLAA-Thinker-Qwen2.5VL-3B
- 方法: LoRAファインチューニング(PEFT)
- LoRA Alpha: 256
- LoRA Rank: 128
- ターゲットモジュール: q_proj, v_proj
- オプティマイザ: AdamW (lr=2e-5), バッチサイズ = 1, エポック = 3
- 最大入力長: 1024トークン
含まれているスクリプトでLoRA SFTトレーニングを再現:
python train.py
Wandbログはこちらで利用可能です。
モデル評価
Q-Spatial-Benchデータセットには、高精度でVLMの定量的空間推論を評価するために設計された数百のVQAサンプルが含まれています。
Colabノートブックを使用して、SpaceThinkerを**QSpatial++**スプリットで2つの条件で評価します:
-
デフォルトシステムプロンプト:
- 完了したプロンプト: 93 / 101
- 正解: 30
- 精度: 32.26%
-
ステップバイステップ推論のプロンプティング Q-Spatial-Benchの空間プロンプトを使用:
- 正解: 53
- 精度: 52.48%
空間プロンプトを使用すると、正解数と全体的な精度率が向上し、タスク完了率も向上します。
Q-Spatial-Benchのプロジェクトページからの比較を更新すると、ステップバイステップ推論のためのSpatialPromptを使用するSpaceThinker-Qwen2.5-VL-3B VLMは、より大きな閉鎖的なフロンティアAPIプロバイダーと同等の性能を発揮します。
QSpatial++ 比較表 (4/25/25)
モデル | SpaceThinker-Qwen2.5VL-3B | gpt-4o | gemini-2.5-pro-preview-03-25 |
---|---|---|---|
QSpatial++ 予測 | ![]() |
![]() |
![]() |
Colabノートブック | |||
成功率 (%) ↑ | 55 | 43 | 52 |
完了サンプル ↑ | 99 / 100 | 95 / 100 | 99 / 100 |
sMAPE (%) ↓ | 66 | 71 | 62 |
メトリック注記
- 成功率 (%): 高いほど良い ↑
- 完了サンプル: 高いほど良い ↑
- sMAPE (%): 低いほど良い ↓
以下のチャートは、最適化されたステップバイステップ指示の利点なしで評価することで、プロンプトの感度をさらに比較して評価します。この比較は、推論モデルと非推論モデルの効果、および合成空間推論データによるLoRA SFTの効果を定量化するのに役立ちます。
制限事項
- 混雑した環境やカメラの視点では性能が低下する可能性があります。
- このモデルは、インターネット画像データセットに対する合成推論を使用してファインチューニングされました。
- ベースモデル(Qwen2.5-VL)に固有のマルチモーダルバイアスが残っている可能性があります。
- 安全クリティカルまたは法的意思決定での使用を意図していません。
ユーザーは、出力を批判的に評価し、ドメイン固有の安全性と性能のためにファインチューニングを検討することを推奨します。自己回帰型トランスフォーマーを使用して推定された距離は、計画と行動のための高次推論に役立つかもしれませんが、高精度センサー、校正されたステレオビジョンシステム、またはより正確なピクセル単位の予測とリアルタイム性能が可能な専門家の単眼深度推定モデルで取得された測定値の代替としては適していない可能性があります。
引用
@article{chen2024spatialvlm,
title = {SpatialVLM: Endowing Vision-Language Models with Spatial Reasoning Capabilities},
author = {Chen, Boyuan and Xu, Zhuo and Kirmani, Sean and Ichter, Brian and Driess, Danny and Florence, Pete and Sadigh, Dorsa and Guibas, Leonidas and Xia, Fei},
journal = {arXiv preprint arXiv:2401.12168},
year = {2024},
url = {https://arxiv.org/abs/2401.12168},
}
@misc{qwen2.5-VL,
title = {Qwen2.5-VL},
url = {https://qwenlm.github.io/blog/qwen2.5-vl/},
author = {Qwen Team},
month = {January},
year = {2025}
}
@misc{vl-thinking2025,
title={SFT or RL? An Early Investigation into Training R1-Like Reasoning Large Vision-Language Models },
author={Hardy Chen and Haoqin Tu and Fali Wang and Hui Liu and Xianfeng Tang and Xinya Du and Yuyin Zhou and Cihang Xie},
year = {2025},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/UCSC-VLAA/VLAA-Thinking}},
}
@inproceedings{
liaos2024reasoning,
title={Reasoning Paths with Reference Objects Elicit Quantitative Spatial Reasoning in Large Vision-Language Models},
author={Yuan-Hong Liao and Rafid Mahmood and Sanja Fidler and David Acuna},
booktitle={The 2024 Conference on Empirical Methods in Natural Language Processing},
year={2024},
url={https://arxiv.org/abs/2409.09788},
}









