From: Alibaba-NLP <huggingface.co/Alibaba-NLP>Newsgroups: alt.freeweights.embedSubject:

UEmbed-9B

Date: 2026-11-14Commit: 08fffabSigned: 2DC28CC7B26A283B ✓

Feature extraction model with 8.4B parameters. Safetensors weights, 18.3 GB in all. Published by Alibaba-NLP under CC-BY-4.0.

8.4B params18.3GBUEmbed-9Bsafetensorspermissive
FactsParams8.4BSize18.3 GBFormatssafetensorsTaskfeature extractionLicenseCC-BY-4.0From sourcepermissive
$ fw get Alibaba-NLP/UEmbed-9B
# manifest sha256 cb0461f75fa1… · 18.3 GB · 36 files
$ fw verify ./UEmbed-9B Alibaba-NLP/UEmbed-9B
From sourceHosted (signed)Alibaba-NLP/UEmbed-9BLast check: 2026-11-14 21:07 UTC

Get help: custom fine-tune or private deploy. We review your setup before we quote.

Works with

Evaluate with

Overview

Size
18.3 GB
Weights
16.8 GB (safetensors)
Parameters
8.4B
Formats
safetensors
Task
feature extraction
License
CC-BY-4.0 (permissive)
Files
36, each with a sha256
Publisher
Alibaba-NLP
Added
2026-11-14
Section
alt.freeweights.embed
Lineage

Original release from the publisher.

Where these bytes come from
Publisher at the pinned commit→You

Sources are tried in order. A file counts only when its size and sha256 match the manifest. Sources are checked when you ask for them, not on a timer.

Sources
BadgeHostLast checkResult
From sourcehuggingface.co2026-11-14 21:07 UTCpassed

Model card

From the publisher at commit 08fffab. Shown as plain text with links; images open at the publisher.

UEmbed: Unified Sparse and Dense Multimodal Embeddings#

Website arXiv GitHub Image: License: CC-BY-4.0

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-17]: Thanks to the ms-swift team, our models now support sft with ms-swift.
  • [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.

Files

36 files · 18.3 GBWeights 16.8 GB (safetensors). Sizes and sha256 from the signed manifest.
Show all 36 files with their sha256
FileSizesha256
.gitattributes1.57 KB34448b82c17d60fec9b65b1f093c115ddbaadc04beb1b0140b6bfed2e012a930
LICENSE11.3 KB50cbab8a892c5f2993b8c7351a99182507472def3b1374558308605d99b86b32
README.md6.46 KB30dad4d2ba7471b9ae2710d2521bb27e558203eaf045e108345564fc449cb8ba
chat_template.jinja7.76 KBa4aee8afcf2e0711942cf848899be66016f8d14a889ff9ede07bca099c28f715
config.json3.13 KBd0883072e01861ed0b2d47be3c16c36a8e81c224c7ffaa310c6558fb3f932b05
configuration.json51 B2d4464e2ead06bc9bc718c781309ad1e7baded626d66e8dcdc8b469ba185faf0
examples/transformers_example.py3.03 KB551fe3ed4b4bd902c9ef161c6992febf293003c865abb994ffc51a087c9dc94b
examples/vllm_example.py6.57 KB57202c9435da5a53d9ef97995c54f8e846a10e36bd67aa46cd8fe12de355c0b1
merges.txt3.35 MBa9d356d7bdf1ef4949e3e748e95b8e10ad9d4e2e838eddc38a0a7b6b94d1db8d
model-00001-of-00017.safetensors2.03 GB9c5483aa32a952b3a9a5d75f3c000c9ff934d3cbbb317b228cadff89e25bcffa
model-00002-of-00017.safetensors975 MB38c560c251ac5cb946c9d1b82ba9dfad07419c972f5257885950de68b69c8a54
model-00003-of-00017.safetensors990 MBd452ade05513ec9f1b11c56ed470fa947078991326af602c962336be6d52004f
model-00004-of-00017.safetensors974 MBdd2a7fb5cc794f297d4a7bdfff93eca689c06a36e69d63052ce55927c6164004
model-00005-of-00017.safetensors958 MB919b3268765779f537d0466ab95f01ead500c503d28d14befefd2880691b6d64
model-00006-of-00017.safetensors974 MBb1e85a79c2d4417cbfdfe4ae84ceb407c2f297fb3d528667285e241022d0153f
model-00007-of-00017.safetensors991 MB4bf6dd5a0b548b3cabe4bdb712c0b49730c349da43a084d9eb5835fdf3da5e22
model-00008-of-00017.safetensors982 MB350bc46c28b2c3b30f3b88e1443645c33e04dd5738d3a7e4eb64c4434a3796b6
model-00009-of-00017.safetensors950 MB3fd9fd1aacb0582326a0b91f212da029521e8547eb3209ae3c30187cc569cada
model-00010-of-00017.safetensors990 MB3c18552e8632523c598c97f0de8d24c3aed99f3caf6e53bc7cded43f8ea68bb8
model-00011-of-00017.safetensors974 MBcba0ca307ded105faec8ab7d9ca10b5fe739c03aad0e6d197618eee357db98c7
model-00012-of-00017.safetensors957 MB9cb343f0e9a6c70c19ee09e2ce25bedbb47969b94fb5ee5751add8e1863c1eaa
model-00013-of-00017.safetensors974 MBc47471ce496990ce2d591dd8febdc3520ece83890fa59925073322a98be7462b
model-00014-of-00017.safetensors991 MB895e95b4a3746e8ba78fd840879dfae894d952a0dbf7d6ef91bfc141022d0fb4
model-00015-of-00017.safetensors940 MB1b47ac2457bec5876d970e4c839fb85f29183ea8df8759bee497d4f2a1c5d0ad
model-00016-of-00017.safetensors991 MB956d446663a7e1edd2bc2355cc58e163e58a39c90d56beef37ad41848d95bafa
model-00017-of-00017.safetensors139 MBf5391327e8f2ed3e923a235f2858559a00851d47e5ab5f93bf5c7c728d52e80e
model.safetensors.index.json64.6 KB2cb8ae4b120bf808be94dc3f79aa298dc574110106a2ee85ff7cdc16b7e3ff27
preprocessor_config.json390 B27225450ac9c6529872ee1924fcb0962ff5634834f817040f444118116f4e516
processor_config.json1.19 KBd89ef49ce9cd37fbf510158e13c1ef063d9286411c1ec9049932dbe0487143b1
sparse_info.json5.75 MBb599c3820f5c91be1e0d1cd3c9341020bfc70b8039854dd1a6ce7ed486d35bea
sparse_weights.pt1.51 GB9db07fe0cba521ea1ab35d1fa7a727b5972444e50d5fd5a771907090a84644e4
src/models/qwen35_embedding.py14.7 KB3a0442de3aca2f85914a8ac322707859a51b37eda1a83663305a672d79770844
tokenizer.json20.0 MB88c9e5503a3d642304938a43cd07c3cd2e3e3bd75493dea4037ef39b85686c3b
tokenizer_config.json15.2 KB04e9928fd85f260625cfa48c491adee9f69879a03a04fed73ec853811c3acd7b
video_preprocessor_config.json385 B7768af27c1fafa9cc9011c1dc20067e03f8915e03b63504550e11d5066986d13
vocab.json6.72 MBce99b4cb2983d118806ce0a8b777a35b093e2000a503ebde25853284c9dfa003
VersionsEach time the pinned upstream commit or file list changed in this repo. Newest first.
Upstream commitDateContents
08fffab347 pinned now manifest updated, same commit2026-11-14 21:07 UTC36 files · 18.3 GB
08fffab3472026-11-14 21:07 UTC36 files · 18.3 GB

Use it

$ fw get Alibaba-NLP/UEmbed-9B
# manifest sha256 cb0461f75fa1… · 18.3 GB · 36 files
$ fw verify ./UEmbed-9B Alibaba-NLP/UEmbed-9B
fw.pyChecks the signature and every sha256, tries each source in order, resumes.
$ python3 fw.py get https://freeweights.allternit.com/manifests/Alibaba-NLP/UEmbed-9B.json --dir ./UEmbed-9B $ python3 fw.py verify ./UEmbed-9B ./Alibaba-NLP__UEmbed-9B.json
hfThe Hugging Face CLI with one setting. Same repo id.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download Alibaba-NLP/UEmbed-9B --revision 08fffab347965cd9e4bcfdb17a7c27d7d0ebfa4d --local-dir ./UEmbed-9B
transformersLoad the weights in Python.
import os os.environ["HF_ENDPOINT"] = "https://freeweights.allternit.com" from transformers import AutoModel, AutoTokenizer tok = AutoTokenizer.from_pretrained("Alibaba-NLP/UEmbed-9B", revision="08fffab347965cd9e4bcfdb17a7c27d7d0ebfa4d") model = AutoModel.from_pretrained("Alibaba-NLP/UEmbed-9B", revision="08fffab347965cd9e4bcfdb17a7c27d7d0ebfa4d", device_map="auto")

License

Name
Creative Commons Attribution 4.0
Id
CC-BY-4.0
Class
Permissive
Redistribution
yes
Listing
Hosted (signed)
Decided
License as declared by the publisher. No person read it. 2026-11-14
Text in
LICENSE
Text sha256
50cbab8a892c5f2993b8c7351a99182507472def3b1374558308605d99b86b32
Terms gate
No extra terms beyond the license.

Read the license text

Licenses are checked against the license table. A custom license passes only after a person reads it.

Provenance

From: Alibaba-NLP <huggingface.co/Alibaba-NLP>Newsgroups: alt.freeweights.embedSubject: UEmbed-9BDate: 2026-11-14Commit: 08fffabSigned: 2DC28CC7B26A283B ✓
Upstream
Alibaba-NLP/UEmbed-9B
Pinned commit
08fffab347965cd9e4bcfdb17a7c27d7d0ebfa4d
Manifest
UEmbed-9B.json · .minisig
Manifest sha256
cb0461f75fa131d0a38fa2de269fa7b5b5796a3c30fa9201b522954a5ab0d70d
Signature
minisign, Ed25519, key 2DC28CC7B26A283B
Created
2026-11-14 21:07 UTC
Generator
freeweights-manifest/0.1.0
Takedowns
None.

How to verify

$ curl -O https://freeweights.allternit.com/manifests/Alibaba-NLP/UEmbed-9B.json $ curl -O https://freeweights.allternit.com/manifests/Alibaba-NLP/UEmbed-9B.json.minisig $ minisign -Vm UEmbed-9B.json -P RWQ7KGqyx4zCLXtUFOqvfv8L3g+8fpKJ1FsuxPyOYMF+4KufbUxKq1Oq $ shasum -a 256 <file> # compare with the Files tab

A manifest whose signature fails must be rejected. A file whose size or sha256 does not match must be discarded. Verify a download

Model tree

No related models in this catalog.Nothing here lists this model as its parent, and it names no parent.
Get it
Download
$ HF_ENDPOINT=https://freeweights.allternit.com hf download Alibaba-NLP/UEmbed-9B
Open in Freeweights Studio

Pull, verify and run it in the Allternit app on Desktop, web or phone.

Signed manifest
minisign, key 2DC28CC7B26A283B. UEmbed-9B.json. Provenance. Takedown history: none.
From: sentence-transformers <huggingface.co/sentence-transformers>Subject: all-MiniLM-L6-v1
From: unsloth <huggingface.co/unsloth>Subject: all-MiniLM-L6-v2
From: mlx-community <huggingface.co/mlx-community>Subject: all-MiniLM-L6-v2-4bit
From: sentence-transformers <huggingface.co/sentence-transformers>Subject: all-mpnet-base-v1
From: sentence-transformers <huggingface.co/sentence-transformers>Subject: allenai-specter
From: sentence-transformers <huggingface.co/sentence-transformers>Subject: bert-base-nli-max-tokens