Instructions to use MicroAGI-Labs/microcosmos-reasoner with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use MicroAGI-Labs/microcosmos-reasoner with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-text-to-text", model="MicroAGI-Labs/microcosmos-reasoner") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] pipe(text=messages)# pip install -U transformers accelerate # Load model directly from transformers import AutoProcessor, AutoModelForMultimodalLM processor = AutoProcessor.from_pretrained("MicroAGI-Labs/microcosmos-reasoner") model = AutoModelForMultimodalLM.from_pretrained("MicroAGI-Labs/microcosmos-reasoner", device_map="auto") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] inputs = processor.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=256) print(processor.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use MicroAGI-Labs/microcosmos-reasoner with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "MicroAGI-Labs/microcosmos-reasoner" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "MicroAGI-Labs/microcosmos-reasoner", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker
docker model run hf.co/MicroAGI-Labs/microcosmos-reasoner
- SGLang
How to use MicroAGI-Labs/microcosmos-reasoner with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "MicroAGI-Labs/microcosmos-reasoner" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "MicroAGI-Labs/microcosmos-reasoner", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "MicroAGI-Labs/microcosmos-reasoner" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "MicroAGI-Labs/microcosmos-reasoner", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }' - Docker Model Runner
How to use MicroAGI-Labs/microcosmos-reasoner with Docker Model Runner:
docker model run hf.co/MicroAGI-Labs/microcosmos-reasoner
Microcosmos Reasoner
A 32B vision-language Reasoner adapted by MicroAGI from NVIDIA Cosmos3-Super using curated human-egocentric data. It supports text responses to text, image and video inputs.
This release contains only the autoregressive reasoning tower, exported as Qwen3VLForConditionalGeneration with the Qwen3-VL-32B-Instruct backbone. Diffusion, image/video-generation and action-generation weights are not included.
Substantial gains from small, high-quality data
Adapting Cosmos3-Super with high-quality egocentric data improves spatial understanding within the broader domain of spatio-temporal reasoning. Pointing, counting, tracing and spatial-relation tasks probe this understanding through concrete outputs, including points and bounding boxes. Training uses 500 curated, diverse egocentric episodes, expanding to supervision on approximately 12k unique and diverse atomic action sequences.
Microcosmos Reasoner achieves 65.4% on the seven-benchmark suite and 59.8% on the expanded nine-benchmark suite, compared with 62.7% and 57.5% for Cosmos3-Super. The released Microcosmos-Nano RKL-MXFP8 achieves 63.8% and 61.7%, respectively.
On Micromazer’s visual primitives, Microcosmos improves from 13.5% to 41.7% over Cosmos3-Super before any maze-specific training, complementing the gains on the spatial benchmark suite.
Benchmark selection follows MolmoAct2 (arXiv:2605.02881, Table 3) ↗: benchmarks across spatial reasoning, pointing and embodied QA tasks. Benchmarks with restrictive licensing, data or code access issues are dropped. OpenEQA is dropped for low quality after human review. RoboSpatial is forked to remove conflicting coordinate frame instructions that caused severe parsing failures for Qwen3-family models; the fork is reported as microRoboSpatial.
Variants
| Branch | Model | Precision |
|---|---|---|
main |
Microcosmos Reasoner, 32B | BF16 |
nano-rkl-mxfp8 |
Distilled Nano Reasoner, 8B, reverse-KL | MXFP8 |
The MXFP8 branch is a smaller distilled 8B model, not a quantized copy of the 32B model.
Training
LoRA fine-tuning on 500 curated egocentric episodes, with per-frame temporal-segment annotations and 57D pseudoactions derived from camera and hand state, expanding to supervision on approximately 12k unique and diverse atomic action sequences. The LoRA is merged into the model weights; no adapter is needed for inference.
Evaluation results
MicroAGI evaluations (August 2026). Scores are percentages; higher is better. Averages are unweighted.
Microcosmos is the 32B adapted Reasoner. Microcosmos-Nano RKL-MXFP8 is the distilled 8B reverse-KL model included in this release.
Spatial understanding
Larger models
| Benchmark | Cosmos3-Super | Microcosmos | Gemma 4 26B-A4B-it | MiniMax-M3-MXFP4 |
|---|---|---|---|---|
| BLINK | 64.7 | 65.5 | 60.1 | 65.5 |
| CV-Bench | 89.4 | 89.2 | 81.2 | 86.1 |
| ERQA | 50.8 | 47.8 | 44.8 | 47.8 |
| EmbSpatial | 83.8 | 83.8 | 71.4 | 76.1 |
| VSI-Bench | 44.0 | 40.6 | 16.1 | 31.1 |
| microRoboSpatial-Poi | 31.1 | 54.1 | 11.5 | 10.7 |
| microRoboSpatial-VQ | 75.5 | 76.6 | 57.0 | 79.2 |
| 7-benchmark average | 62.7 | 65.4 | 48.9 | 56.6 |
| MindCube full | 33.3 | 33.7 | - | 38.4 |
| Where2Place | 44.9 | 47.3 | - | 31.3 |
| 9-benchmark average | 57.5 | 59.8 | - | 51.8 |
Nano and Gemma E2B models
| Benchmark | Cosmos3-Nano | Microcosmos-Nano (forward-KL) | Nano MXFP8 | Microcosmos-Nano RKL-MXFP8 | Gemma 4 E2B-it | Gemma E2B-GZ s137 |
|---|---|---|---|---|---|---|
| BLINK | 60.7 | 59.7 | 60.9 | 60.4 | 43.0 | 44.2 |
| CV-Bench | 87.1 | 87.9 | 87.8 | 87.8 | 58.9 | 57.8 |
| ERQA | 44.0 | 48.0 | 48.0 | 48.0 | 34.3 | 34.0 |
| EmbSpatial | 81.3 | 81.4 | 81.6 | 81.8 | 46.9 | 47.4 |
| VSI-Bench | 42.0 | 38.8 | 38.5 | 38.7 | 15.9 | 20.1 |
| microRoboSpatial-Poi | 26.2 | 50.0 | 50.8 | 49.2 | 2.5 | 3.3 |
| microRoboSpatial-VQ | 76.3 | 79.1 | 77.7 | 80.4 | 42.3 | 34.4 |
| 7-benchmark average | 59.7 | 63.6 | 63.6 | 63.8 | 34.8 | 34.5 |
| MindCube full | 40.6 | 40.9 | 40.8 | 41.7 | 28.3 | 30.1 |
| Where2Place | 37.2 | 65.2 | 66.6 | 66.9 | 6.2 | 6.0 |
| 9-benchmark average | 55.0 | 61.3 | 61.4 | 61.7 | 30.9 | 30.8 |
Microcosmos-Nano is the forward-KL distilled model; Nano MXFP8 is its MXFP8 export. Microcosmos-Nano RKL-MXFP8 is the reverse-KL continuation included in this release. Gemma E2B-GZ s137 is the Golden Zone Reasoner LoRA merge of Gemma 4 E2B-it at step 137. - indicates an unavailable result, not zero.
The nine-benchmark average adds MindCube full (21,154 samples) and Where2Place (100 samples) to the original seven. Averages are unweighted means across benchmark rows, calculated from unrounded source metrics. These are the same MindCube and Where2Place measurements listed in the sections below, not additional evaluations.
microRoboSpatial’s normalized pointing protocol is not directly comparable to MolmoAct2’s RoboSpatial-Poi scores; VQ scoring is unchanged.
Micromazer: exploring visual primitives
Micromazer evaluates maze solving, tracing and counting on a fixed set of 192 requests, before maze-specific training. Microcosmos answers 80/192 correctly, compared with 26/192 for Cosmos3-Super served with SGLang. These results are separate from the seven- and nine-benchmark spatial-suite averages.
| Model | Maze /96 | Trace /48 | Count /48 |
|---|---|---|---|
| GPT-6 Astra | 77.1% · 74 | 85.4% · 41 | 93.8% · 45 |
| GPT-5.6-sol | 51.0% · 49 | 79.2% · 38 | 87.5% · 42 |
| GLM-5.3-Flash | 51.0% · 49 | 60.4% · 29 | 93.8% · 45 |
| MiMo-V2.6-Flash-RL | 39.6% · 38 | 56.2% · 27 | 50.0% · 24 |
| MiniMax-M3 MXFP4 | 37.5% · 36 | 41.7% · 20 | 54.2% · 26 |
| Microcosmos | 31.2% · 30 | 27.1% · 13 | 77.1% · 37 |
| Cosmos3-Nano | 47.9% · 46 | 12.5% · 6 | 8.3% · 4 |
| Microcosmos-Nano RKL | 32.3% · 31 | 10.4% · 5 | 8.3% · 4 |
| Cosmos3-Super (SGLang) | 14.6% · 14 | 18.8% · 9 | 6.2% · 3 |
| Cosmos3-Super (vLLM) | 12.5% · 12 | 25.0% · 12 | 4.2% · 2 |
Cells show accuracy and number correct.
Robotics and temporal understanding
| Benchmark | Samples | Cosmos3-Super | Microcosmos | MiniMax-M3-MXFP4 |
|---|---|---|---|---|
| EgoSchema subset | 500 | 41.0 | 38.6 | 59.4 |
| EgoPlan validation | 3,343 | 28.0 | 28.4 | 28.4 |
| EgoThink | N/A | 69.3 | 69.7 | N/A |
| MVBench | 4,000 | 50.6 | 50.8 | 46.4 |
| MindCube full | 21,154 | 33.3 | 33.7 | 38.4 |
| PhyX MC / open-ended | N/A | 46.4 / 31.6 | 43.4 / 31.2 | N/A |
| OmniSpatial test | 1,533 | 50.2 | 49.8 | 56.3 |
| 5-benchmark average | 30,530 | 40.6 | 40.3 | 45.8 |
The five-benchmark average excludes EgoThink and PhyX. PhyX cells show multiple-choice / open-ended scores. N/A in score columns means not evaluated, not zero.
Additional benchmarks
| Benchmark | Cosmos3-Super | Microcosmos | MiniMax-M3-MXFP4 | Metric |
|---|---|---|---|---|
| CountBench | 87.8 | 89.4 | 92.3 | Accuracy |
| RealWorldQA | 76.9 | 75.9 | 67.2 | Exact match |
| SALBench P3 / P3 box / P3 box image | 74.2 / 79.3 / 74.4 | 72.5 / 77.6 / 71.5 | 86.4 / 92.0 / 78.3 | Exact match |
| SALBench O3 / O3 box | 6.2 / 6.9 | 10.7 / 10.9 | 43.4 / 46.7 | Exact match |
| WorldVQA | 12.5 | 11.9 | 25.0 | Semantic-judge accuracy |
| Where2Place | 44.9 | 47.3 | 31.3 | Point-in-mask accuracy (100 samples) |
| LEMONADE | 41.2 | 40.6 | 41.4 | Video multiple choice (36,521 samples) |
| TOMATO | 15.6 | 14.6 | 22.1 | Video multiple choice (1,484 samples) |
| EgoPlan-Bench2 | 50.9 | 44.1 | 48.5 | 8-keyframe multiple choice (1,321 samples) |
Protocol notes:
- microRoboSpatial’s normalized pointing protocol is not directly comparable to MolmoAct2’s RoboSpatial-Poi scores; VQ scoring is unchanged.
- Judge-scored metrics use DeepSeek-V4-Flash-0731. WorldVQA uses a non-canonical judge and is not directly comparable to its official leaderboard.
- SALBench cells list variants in header order and use exact match. Where2Place checks whether a predicted point lies inside the reference mask.
- EgoPlan-Bench2 uses eight keyframes per question. Its blind anti-repeat heuristic scores 49.3%; these scores alone do not establish planning capability.
Load with Transformers
import torch
from transformers import AutoProcessor, Qwen3VLForConditionalGeneration
MODEL = "MicroAGI-Labs/microcosmos-reasoner"
model = Qwen3VLForConditionalGeneration.from_pretrained(
MODEL, revision="main", torch_dtype=torch.bfloat16, device_map="cuda"
)
processor = AutoProcessor.from_pretrained(MODEL, revision="main")
Serve with SGLang
BF16 on NVIDIA RTX PRO 6000 Blackwell (96 GB): one GPU for the 32k-context recipe, or four GPUs on one node for more context and concurrency. No quantization or CPU weight offload is required.
Requires Docker, NVIDIA Container Toolkit, a CUDA-13-compatible driver (R580+), and model access. Set HF_TOKEN locally. Commands bind the API to localhost.
export IMAGE='lmsysorg/sglang:v0.5.21-cu130@sha256:2dbe4c7f53230b09aaa8fa41891c13c51d9d2e253f486a70822aaf08783fff75'
export MODEL_REVISION='main'
One GPU — 32k context
docker run --rm --name microcosmos-tp1 --gpus '"device=0"' --shm-size=16g -p 127.0.0.1:8000:8000 -e HF_TOKEN -e TORCH_CUDA_ARCH_LIST=12.0 -e SGLANG_ENABLE_HEALTH_ENDPOINT_GENERATION=false -v "$HOME/.cache/huggingface:/root/.cache/huggingface" --entrypoint sglang "$IMAGE" serve --model-path MicroAGI-Labs/microcosmos-reasoner --revision "$MODEL_REVISION" --served-model-name microcosmos --model-type llm --tp-size 1 --dtype bfloat16 --host 0.0.0.0 --port 8000 --context-length 32768 --mem-fraction-static 0.85 --max-running-requests 1
Four GPUs — 262k context
docker run --rm --name microcosmos-tp4 --gpus '"device=0,1,2,3"' --shm-size=32g -p 127.0.0.1:8000:8000 -e HF_TOKEN -e TORCH_CUDA_ARCH_LIST=12.0 -e NCCL_P2P_LEVEL=SYS -e SGLANG_ENABLE_HEALTH_ENDPOINT_GENERATION=false -v "$HOME/.cache/huggingface:/root/.cache/huggingface" --entrypoint sglang "$IMAGE" serve --model-path MicroAGI-Labs/microcosmos-reasoner --revision "$MODEL_REVISION" --served-model-name microcosmos --model-type llm --tp-size 4 --dtype bfloat16 --host 0.0.0.0 --port 8000 --context-length 262144 --mem-fraction-static 0.85 --max-running-requests 4
Run one variant at a time and adjust GPU IDs if needed.
API example
curl --fail http://127.0.0.1:8000/v1/chat/completions -H 'Content-Type: application/json' -d '{"model":"microcosmos","messages":[{"role":"user","content":"Reply with exactly READY."}],"temperature":0,"max_tokens":512}'
Do not expose the unauthenticated API publicly. These commands serve the reasoning tower, not image/video generation.
Limitations
Results are task- and protocol-dependent: spatial gains do not imply uniformly better temporal reasoning or calibrated robot rewards. This is not a physical simulator or a safety-certified robot controller. Outputs may include reasoning text and require validation for downstream use.
License and attribution
OpenMDW License Agreement, version 1.1. Based on NVIDIA Cosmos3-Super, adapted by MicroAGI. See NOTICE for origins.
Citation
If you use Microcosmos Reasoner or its distilled Nano variant, please cite this model release:
Alex Korolev and MicroAGI Research. Microcosmos Reasoner: Egocentric Adaptation and Distillation for Spatio-Temporal Understanding. Hugging Face, 2026. doi:10.57967/hf/11100.
@misc{korolev2026microcosmos,
author = {Korolev, Alex and {MicroAGI Research}},
title = {Microcosmos Reasoner: Egocentric Adaptation and Distillation for Spatio-Temporal Understanding},
year = {2026},
publisher = {Hugging Face},
doi = {10.57967/hf/11100},
url = {https://huggingface.co/MicroAGI-Labs/microcosmos-reasoner}
}
- Downloads last month
- 24
Model tree for MicroAGI-Labs/microcosmos-reasoner
Base model
nvidia/Cosmos3-Super