Skip to page content
SAVRN
Search Plan a project

Open-weight model · Image and text to text

Xiaomi-Lens-0

by SeerRay-Lab SeerRay-Lab/Xiaomi-Lens-0

Xiaomi-Lens-0 is an open-weight model for image and text to text from SeerRay-Lab, released under Apache License 2.0. It has 4.6B parameters and a 262,144-token context. At 16-bit it needs about 11.1 GB of GPU memory, which fits on 1x MI300X from $1.85 an hour, at the lowest prices in the SAVRN Index. It draws 10 downloads a month.

Xiaomi-Lens-0 is a 4B multimodal language model built on Qwen3.5-4B. It adds a lightweight pixel-mask decoder and is trained with joint language and mask supervision.

Parameters4.6B
Context262,144
Weights9.2 GB
Licenseapache-2.0
AccessOpen weights
Monthly Downloads10

Runs On

What it takes to serve Xiaomi-Lens-0 (4.6B parameters): the memory its weights need at each precision, and the cheapest way to rent enough data-center GPUs to hold them.

PrecisionWeightsMemory neededCheapest setupPer hourAlso fits
16-bit 9.2 GB 11.1 GB 1x MI300X (192 GB)
Vultr
$1.85 1x H100 $1.99 · 1x MI325X $2.00
8-bit 4.6 GB 5.5 GB 1x MI300X (192 GB)
Vultr
$1.85 1x H100 $1.99 · 1x MI325X $2.00
4-bit 2.3 GB 2.8 GB 1x MI300X (192 GB)
Vultr
$1.85 1x H100 $1.99 · 1x MI325X $2.00

Memory is the weights at that precision plus 20% for the runtime and a short context; a long context needs more. Prices are the lowest on-demand hourly rates in the SAVRN Index, read Oct 23, 2026.

Xiaomi-Lens-0 on every accelerator the SAVRN Index prices, at every precision

Model Card

By SeerRay-Lab, published under apache-2.0, revision c1c30be4da6e.

Xiaomi-Lens-0 is a 4B multimodal language model built on Qwen3.5-4B. It adds a lightweight pixel-mask decoder and is trained with joint language and mask supervision. Each generated token identifies an image region that the decoder turns into a segmentation mask. The model supports referring expression comprehension and segmentation, multi-instance grounding, reasoning segmentation, embodied referring, and fine-grained visual perception. It can produce masks in its final answer or during reasoning. This repository contains the model weights, configuration, tokenizer, processor, and chat template. Inference uses the XiaomiLensQwen35ForConditionalGeneration class from the accompanying…

Read SeerRay-Lab's full model card

Xiaomi-Lens-0 is a 4B multimodal language model built on Qwen3.5-4B. It adds a lightweight pixel-mask decoder and is trained with joint language and mask supervision. Each generated <|mask|> token identifies an image region that the decoder turns into a segmentation mask.

The model supports referring expression comprehension and segmentation, multi-instance grounding, reasoning segmentation, embodied referring, and fine-grained visual perception. It can produce masks in its final answer or during reasoning.

This repository contains the model weights, configuration, tokenizer, processor, and chat template. Inference uses the XiaomiLensQwen3_5ForConditionalGeneration class from the accompanying Xiaomi-Lens-0 code repository. Install that package to load the model and decode masks.

News

Overview video

Watch on the project page · Download the MP4

Task showcases

Recorded model outputs across six task domains. Each task includes four examples from the GitHub project.

Referring Expression Comprehension


Dark brown bear: “dark brown bear at left”

Boy with a phone: “boy looking at phone”

Smallest spoon: “smallest wooden spoon of the group”

Runner behind the pitcher: “the player shown running behind the pitcher”

Referring Expression Segmentation


Grapefruit wedge: “second wedge grapefruit from left to right”

Laptop with a sign: “laptop with small white windows sign”

Kite on the grass: “a red, black, and white kite lying on the grass”

Brown cow: “a large brown cow standing in the grass”

Multi-Instance Grounding


Bottles: “all bottles”

Oranges: “all oranges”

People: “all people”

Surfboards: “all surfboards”

Reasoning Segmentation


Tangy condiment: “What can be squeezed onto seafood as a tangy flavor enhancer?”

Gift packaging: “What could be used to package a gift?”

Lawn care: “What would be useful for keeping a lawn well-groomed?”

Orbiting object: “What object orbits the Earth to complete missions?”

Embodied Referring


Old book: “Hand me the old book with a black and white cover”

Facial cleanser: “Hand me the facial cleanser on the left”

White cup: “Pass me the white cup on the left”

Pepsi can: “Hand me the can of Pepsi on the right”

Fine-Grained Perception


Climbing stones: “How many climbing stones are there?” → 5

Leaves: “How many leaves are there?” → 6

Chair and bicycles: “Where is the chair relative to the bicycles?” → To the left

Trailer color: “What's the color of the trailer?” → Orange

Quick start

Inference requires Python 3.10 or later and a CUDA GPU with bfloat16 and FlashAttention-2 support. From a checkout of the Xiaomi-Lens-0 inference repository, install the dependencies and package:

pip install -r requirements.txt
pip install -e .

Run the inference script with the downloaded checkpoint directory and an image:

python infer.py \
  --checkpoint /path/to/Xiaomi-Lens-0 \
  --image /path/to/image.jpg \
  --text 'Locate all instances in the image that match the description "the cat on the left". Report bbox coordinates and masks.' \
  --output result.jpg --draw-bbox

The script prints the generated text and saves an image with the predicted masks and bounding boxes. --text accepts a complete instruction; the checkpoint's chat template supplies the image tokens and assistant prefix.

Each grounded instance is represented as <bbox>[x1, y1, x2, y2]</bbox><mask><|mask|></mask>, with box coordinates normalized to 0–1000. Mask decoding uses the contextual state of each <|mask|> token and the vision encoder's features. The inference script excludes masks inside <think> from the final-answer overlay.

Serving with vLLM

Use a separate environment for vLLM serving. From the inference repository, install the serving dependencies:

pip install -e ".[vllm]"

Run text generation and mask decoding in separate terminals:

# Terminal 1: text generation on port 8000
bash src/xiaomi_lens/integrations/vllm/run_vllm.sh /path/to/Xiaomi-Lens-0

# Terminal 2: mask decoding on port 8001
bash src/xiaomi_lens/integrations/vllm/run_vllm_mask.sh /path/to/Xiaomi-Lens-0

# Terminal 3: query both services
python -m xiaomi_lens.integrations.vllm.client \
  --image /path/to/image.jpg --query "the cat on the left" --output result.png

The client must run on the same machine as the services because it sends the image path to the mask server. The launchers prepare temporary checkpoint views for vLLM. If you override MAX_PIXELS, use the same value for both services.

Training and evaluation

Training first pretrains the mask decoder, then fine-tunes the full model with language and pixel-level supervision. The inference repository's README provides the benchmark tables and recorded examples across the six capability domains.

Predictions can miss objects or produce inaccurate boxes and masks, particularly for small, occluded, or ambiguous regions. Masks are decoded on the image canvas produced by the processor; preserve the image resizing and coordinate mapping when consuming them. The supplied inference path supports images.

License and attribution

The model is released under the Apache License 2.0.

Xiaomi-Lens-0 derives from Qwen3.5-4B, whose weights are also licensed under Apache 2.0. Xiaomi-Lens-0 adds the pixel-mask decoder and fine-tunes the model for grounded language and segmentation tasks.

  • Qwen3.5-4B: Copyright 2026 Alibaba Cloud.
  • Xiaomi-Lens-0 modifications: Copyright 2026 Xiaomi Corporation.

Citation

@misc{xiaomilens0,
  title         = {Xiaomi-Lens-0 Technical Report},
  author        = {Pei Fu and Yike Liu and Yue Sun and Hanmo Wang and
                   Xiuwen Xi and Ruoceng Zhang and Shaojie Zhang and
                   Chao Jiang and Hang Li and Bingrui Liu and Zhenbo Luo and
                   Heng Qu and Changjian Xu and Ming Xu and Jian Luan},
  year          = {2026},
  eprint        = {2610.23279},
  archivePrefix = {arXiv},
  primaryClass  = {cs.CV},
  url           = {https://arxiv.org/abs/2610.23279}
}

Configuration

Architecture
XiaomiLensQwen3_5ForConditionalGeneration
Context length (tokens)
262,144
Layers
32
Hidden size
2,560
Feed-forward size
9,216
Attention heads
16
Key/value heads
4
Head dimension
256
Vocabulary size
248,078
Model type
qwen3_5

Identity and Version

Repository
SeerRay-Lab/Xiaomi-Lens-0
Publisher
SeerRay-Lab
Task
Image and text to text
Modality
Image and text
Library
transformers
Parameters
4.6B parameters
Languages
Not stated by the source
Revision
c1c30be4da6e8098bfbbe1a43856e1da7828523f
First published
2026-10-19
Last updated
2026-10-20

Files and Weights

40 files, 9.3 GB in total. The weights are 3 files totalling 9.2 GB in safetensors.

Weights3 files · 9.2 GB
Configuration4 files · 72.9 KB
Tokenizer2 files · 20.0 MB
Documentation2 files · 25.8 KB
Other28 files · 65.0 MB
Repository1 file · 3.5 KB
Every file
FileTypeSizeSHA-256
model-00001-of-00003.safetensorsWeights3.7 GB dbba202ca511
model-00002-of-00003.safetensorsWeights5.0 GB 7473041185b1
model-00003-of-00003.safetensorsWeights532.7 MB 055c79154acf
config.jsonConfiguration3.1 KB —
generation_config.jsonConfiguration163 B —
model.safetensors.index.jsonConfiguration68.3 KB —
processor_config.jsonConfiguration1.2 KB —
LICENSEDocumentation11.4 KB —
README.mdDocumentation14.4 KB —
assets/samples/coco_bottles.gifOther1.1 MB 5d8a924091ef
assets/samples/coco_oranges.gifOther3.4 MB 1df90b005097
assets/samples/coco_people.gifOther2.0 MB 6e118751985d
assets/samples/coco_surfboards.gifOther2.5 MB b79717c79e82
assets/samples/countqa_climbing_stones.gifOther1.6 MB 8b4011f21810
assets/samples/countqa_leaves.gifOther1.9 MB 877a71dc6fc9
assets/samples/hrbench_chairs_bicycles.gifOther2.8 MB 43d24b6d8b9e
assets/samples/hrbench_trailer.gifOther1.4 MB 72b7ce2b5f3d
assets/samples/reasonseg_citrus.gifOther1.0 MB dfd8400af0e4
assets/samples/reasonseg_gifts.gifOther1.3 MB 1806f3469670
assets/samples/reasonseg_mower.gifOther1.4 MB d239f582ca8c
assets/samples/reasonseg_satellite.gifOther1.5 MB c1f35988c048
assets/samples/rec_baseball.gifOther299.2 KB 47f8b98c2f10
assets/samples/rec_bear.gifOther451.4 KB c955ae8b9fa1
assets/samples/rec_phone.gifOther385.5 KB 03432ed4c400
assets/samples/rec_spoon.gifOther411.1 KB 7c98caf0e4f5
assets/samples/res_cow.gifOther295.7 KB bf364fcddf91
assets/samples/res_grapefruit.gifOther229.3 KB 4cdb45db1066
assets/samples/res_kite.gifOther321.0 KB b063961127f7
assets/samples/res_laptop.gifOther210.5 KB 56b4f5a0496f
assets/samples/roborefit_book.gifOther971.0 KB 1c040b7522ae
assets/samples/roborefit_cleanser.gifOther920.8 KB d4836273bd04
assets/samples/roborefit_cup.gifOther1.0 MB 0a2e7352e7e6
assets/samples/roborefit_pepsi.gifOther968.3 KB 1473a6449fa7
assets/samples/showcase_all_domains.gifOther1.6 MB 44e54fa02b55
assets/video/overview_poster.jpgOther240.4 KB da9fd6364c61
assets/video/xiaomi_lens_0_overview.mp4Other34.6 MB cc64938e40bf
chat_template.jinjaOther7.8 KB —
.gitattributesRepository3.5 KB —
tokenizer.jsonTokenizer20.0 MB e88b82e6740f
tokenizer_config.jsonTokenizer1.2 KB —

License and Download

License
apache-2.0
Access
Open weights, no gate
Download size
9.2 GB
Download from SeerRay-Lab

Released by SeerRay-Lab through its official repository on Hugging Face. Read the license.

Built From

Memory Requirements

PrecisionWeights in memory
As published9.2 GB
16-bit9.2 GB
8-bit4.6 GB
4-bit2.3 GB

Weights only, from the published parameter count; the key-value cache and runtime add to this.

Questions About Xiaomi-Lens-0

How much GPU memory does Xiaomi-Lens-0 need?

About 11.1 GB at 16-bit and 2.8 GB at 4-bit: the weights (4.6B parameters) plus a working margin. A long context needs more.

What is the cheapest GPU to run Xiaomi-Lens-0 on?

At 16-bit, 1x MI300X from $1.85 an hour; at 4-bit, 1x MI300X from $1.85 an hour, at the lowest on-demand prices the SAVRN Index lists.

Can I use Xiaomi-Lens-0 commercially?

Yes. Xiaomi-Lens-0 is released under Apache License 2.0. The Apache License 2.0 is a permissive open-source license. It permits commercial use, modification and redistribution. It requires keeping the license and copyright notices and any NOTICE file, stating significant changes, and it includes an express patent grant from contributors.

What is Xiaomi-Lens-0's context length?

262,144 tokens, from the maximum position embeddings in its published configuration.

Similar Models

Model · Image and text to text

Qwen3.5-4B

Qwen

Over recent months, we have intensified our focus on developing foundation models that deliver exceptional utility and performance. Qwen3.5 represents a significant leap forward, integrating breakthroughs in multimodal learning, architectural efficiency, reinforcement learning scale, and global accessibility to empower developers and enterprises with unprecedented capability and efficiency. For more details, please refer to our blog post Qwen3.5. WMT24++: a harder subset of WMT24 after difficulty labeling and rebalancing; we report the averaged scores on 55 languages using XCOMET-XXL. Empty cells (--) indicate scores not yet available or not applicable. Empty cells (--) indicate scores not…

Open weights apache-2.0 4.7B parameters 262,144 tokens transformers

Model · Image and text to text

Lodestar-4B

StartLux

Lodestar-4B is a 4-billion-parameter decision model. You give it a state (plain text, JSON or a long document) and one or more typed questions; it returns a probability for every listed option. Each answer is read from a single forward pass. The model never generates free text, so there is nothing to parse and no output length to budget for. (Probabilities rounded to three decimals.) The same call from Python, run inside the downloaded folder: A score question takes its levels as a list, lowest first, and returns {"type": "score", "score":, "probabilities": {"0": p0, "1": p1,...}}. Every question is rendered into one chat prompt (thinking disabled): The probability of each option is the…

Open weights apache-2.0 4.7B parameters 262,144 tokens transformers

Model · Image and text to text

Valen-4B

Valen

Valen-4B combines Qwen3.5-4B with a two-layer MLP-Mixer decision head. It predicts probability distributions for Choice, Noul (yes/no), and Score questions. A shared state can contain text, images, or video and serve multiple questions. Valen-4B 基于 Qwen3.5-4B 和两层 MLP-Mixer 决策头,支持图文、文本、视频,以及共享 state 的多题推理。 These weights include merged LoRA adapters. BF16 rounding can cause small probability differences from the original training checkpoints used for the reported benchmarks. The verified environment uses Python 3.10, PyTorch 2.6.0, Transformers 5.4.0, torchvision 0.21.0, Pillow, and av 16.1.0. Flash Attention 2 requires a compatible flash-attn installation. For a local copy, replace the…

Open weights apache-2.0 4.5B parameters 262,144 tokens transformers

Model · Image and text to text

LT-OPD

Ruixuan Yang

LT-OPD trains vision-language models with fewer visual tokens through on-policy self-distillation. This Qwen3.5-4B model combines CDPruner with an MLP that aggregates discarded tokens into their nearest retained tokens, preserving their original positions without adding tokens. Use Python 3.12 and the CUDA environment in the installation guide. Load the model with LT-OPD's visual-token compression runtime

Open weights apache-2.0 4.5B parameters 262,144 tokens transformers

Model · Image and text to text

h2o-lightning-4b

H2O.ai

H2O-Lightning-4B is a 4B-parameter decision model from H2O.ai, built on Qwen/Qwen3.5-4B. It answers typed decision questions about a record (a document, a ticket, a policy, a conversation) and about images that come with the record (photos, screenshots, scanned documents, charts). It returns a probability for every option: - yes/no (noul): gives the probability that a statement is true; It runs on unmodified vLLM 0.30.0 with a small standard-library shim in front (h2olightningshim.py). Each decision is one forward pass and one output token, so the cost is input tokens only. Try it in your browser: live demo on Hugging Face Spaces (text and images; built by the Hugging Face team and running…

Open weights apache-2.0 4.5B parameters 262,144 tokens transformers

Model · Image and text to text

Vinci-Piccolo-1.0

SimpleDirect

Vinci Piccolo is a small, open-weight chat model fine-tuned for character and honesty — the first model in the Vinci family from SimpleDirect. The character you'd want in an AI, open and small enough to run yourself. Try it: chat app — free · ollama run hf.co/simpledirect/Vinci-Piccolo-1.0-GGUF Weight-file size is not a runtime-memory requirement — model loading, KV cache, context length and batching all need memory beyond the weights. See Hardware requirements below for the figures we do give. Most fine-tuning optimizes for capability. Vinci Piccolo is fine-tuned for something else: a consistent character and an honest disposition. It is trained against a written, public Constitution that…

Open weights apache-2.0 4.5B parameters 262,144 tokens transformers