Model reference · open weights

UEmbed

Embeddings Alibaba-NLP Embeddings 3 builds Open weights 838 dl/mo

UEmbed is an open-weight embedding model from Alibaba. UEmbed-2B (BF16) weighs 5.2 GB; the smallest configuration that runs it is RTX 3060 12 GB.

  • UEmbed is a 2.2B parameter decoder-only multimodal embedding model developed by Alibaba for feature extraction.
  • It generates both dense and sparse embeddings from text, image, and video inputs to support retrieval and multimodal search tasks.
  • The model is distributed under the cc-by-4.0 license.

Summary of the Alibaba-NLP/UEmbed-2B model card, 2026-10-01

What it is

Released byAlibaba
Released2026-07-29
Parameters2.2B
VRAM5.2 GB for the weights

What it runs on

Memory and cards for UEmbed-2B (BF16)

5.2 GBweights, file size
1.1 GBruntime overhead
CardRunsMemory
RTX 3060 12 GBfits11.6 GB
RTX 4060 Ti 16 GBfits15.4 GB
RTX 3090 24 GBfits23.4 GB
RTX 4090 24 GBfits23.4 GB
RTX 5090 32 GBfits31.0 GB
L40S 48 GBfits44.0 GB
A100 80 GBfits78.2 GB
H100 80 GBfits78.1 GB
RTX PRO 6000 Blackwell 96 GBfits93.8 GB
DGX Spark (GB10) 128 GB unifiedfits107 GB
H200 141 GBfits138 GB
B200 180 GBfits176 GB

Builds

Sizes, precisions & builds

BuildParamsPrecisionWeightsSmallest setup
UEmbed-2B (above) ↗ 2.2BBF16 5.2 GBRTX 3060 12 GB
UEmbed-9B ↗ 8.4BBF16 18.3 GBRTX 4090 24 GB
UEmbed-4B ↗ 4.5BBF16 10.0 GBRTX 3060 12 GB

From the model card

What Alibaba says about UEmbed

Read the model card

UEmbed is a decoder-only multimodal embedding model that produces both dense embeddings and SPLADE-style sparse lexical embeddings from a single causal forward pass. It supports text, image, video, and mixed-modal inputs for retrieval, multimodal search, and visual-document retrieval.

News 🔥

  • [2026-08-15]: UEmbed achieves state-of-the-art results on the text and agent tracks of MMEB-v3, and ranks second only to the Qwen3-VL-Embedding series among open-source models on MMEB-v2.
  • [2026-08-13]: We updated the inference code — UEmbed now loads natively with transformers (no trust_remote_code or processor patching needed), and we added a vLLM backend for high-throughput dense and sparse embedding inference. See the runnable examples: examples/transformers_example.py and examples/vllm_example.py.

Model Family

ModelBackboneParametersOutputsModalities
UEmbed-2BQwen3.52BDense + SparseText, image, video
UEmbed-4BQwen3.54BDense + SparseText, image, video
UEmbed-9BQwen3.59BDense + SparseText, image, video

Highlights

  • Unified dense and sparse retrieval: one checkpoint returns normalized dense vectors and sparse lexical vectors.
  • Multimodal inputs: text, images, videos, and mixed inputs are represented in the same retrieval space.
  • Sparse interpretability: sparse activations correspond to vocabulary terms and can be used with inverted indexes.
  • Causal-model serving compatibility: the sparse design keeps the decoder-only backbone, no conversion to a bidirectional encoder.

Architecture

ComponentDesign
BackboneDecoder-only Qwen3.5 multimodal model
Dense poolingHidden state of the EOS token before sparse special tokens
Sparse tokensN=16 appended special tokens
Sparse headsOne subset-specific linear head per special token
Sparse vocabularyCompressed from 248,320 tokenizer entries to 184,016 canonical entries
Sparse activationlog(1 + ReLU(logits))
Training objectiveDense InfoNCE + sparse InfoNCE + query/document FLOPS regularization

Usage

Requires a recent transformers build with Qwen3.5/Qwen3-VL support:

pip install "transformers>=5.4.0" torch qwen-vl-utils tokenizers huggingface-hub pillow numpy

Download the complete model repository, since sparse inference requires both sparse_info.json and sparse_weights.pt in the local model directory:

huggingface-cli download Alibaba-NLP/UEmbed-2B --local-dir ./models/UEmbed-2B

Inference code is provided in the GitHub repository. Set pooling="last.normal" for dense embeddings or pooling="splade.last" for sparse embeddings.

import torch
from src.models.qwen35_embedding import Qwen35Embedder

model = Qwen35Embedder(
    model_name_or_path="./models/UEmbed-2B",
    torch_dtype=torch.bfloat16,
    # flash_attention_2 for better acceleration and memory saving
    attn_implementation="flash_attention_2",
)

inputs = [{
    "text": "A woman playing with her dog on a beach at sunset.",
    "instruction": "Retrieve images or text relevant to the user's query.",
}, {
    "text": "A woman shares a joyful moment with her golden retriever on a sun-drenched beach at sunset, as the dog offers its paw in a heartwarming display of companionship and trust."
}, {
    "image": "https://qianwen-res.oss-cn-beijing.aliyuncs.com/Qwen-VL/assets/demo.jpeg"
}, {
    "text": "A woman shares a joyful moment with her golden retriever on a sun-drenched beach at sunset, as the dog offers its paw in a heartwarming display of companionship and trust.",
    "image": "https://qianwen-res.oss-cn-beijing.aliyuncs.com/Qwen-VL/assets/demo.jpeg"
}]

embeddings = model.process(inputs)
print(embeddings @ embeddings.T)

Input Format

Qwen35Embedder.process accepts a list of dictionaries with the following fields:

FieldTypeDescription
textstr or list[str]Text content.
imagepath, URL, PIL.Image, or listOne or more images.
videopath, URL, frame list, or listOne or more videos.
instructionstrOptional task-specific instruction.
fpsfloatOptional frame sampling rate for video files.
max_framesintOptional maximum number of sampled video frames.

Training Data

UEmbed is trained on 3.94M public samples:

  • E5 training data for broad text retrieval coverage.
  • M3 training data, using the MLDR subset.
  • MMEB training sets for multimodal query-document pairs.

For multimodal data, hard negatives are mined with Qwen3-VL-Embedding-8B as the teacher retriever.

Citation

If you use UEmbed, please cite the paper:

@misc{uembed2026,
      title={UEmbed: Unified Sparse and Dense Multimodal Embeddings},
      author={Tingyu Song and Mingxin Li and Yanzhao Zhang and Dingkun Long and Pengjun Xie and Zhijie Nie and Yilun Zhao and Shu Wu},
      year={2026},
      eprint={2608.02583},
      archivePrefix={arXiv},
      primaryClass={cs.CV},
      url={https://arxiv.org/abs/2608.02583},
}

Acknowledgements

Thanks to the Qwen3-VL-Embedding repo for the evaluation framework.

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