CoolFace
Modelpublic

marksverdhei/LCO-Embedding-Omni-7B-GGUF

sourceHugging Faceapache-2.0updated 7mo agoView on Hugging Face
6likes384downloads
Model Card

LCO-Embedding-Omni-7B-GGUF

GGUF quantizations of LCO-Embedding/LCO-Embedding-Omni-7B for use with llama.cpp.

Converted using ht-llama.cpp, a fork with added support for the Qwen2_5OmniThinkerForConditionalGeneration architecture.

About the model

LCO-Embedding-Omni-7B is a 9B-parameter multimodal embedding model based on the Thinker component of Qwen 2.5 Omni, fine-tuned with LoRA and contrastive learning to produce 3584-dimensional embeddings from text, images, audio, and video. It achieves state-of-the-art on [MIEB-Lite](https://huggingface.co/spaces/MTEB/MIEB) (68.8 mean across 51 tasks), outperforming models trained on 21x more data. Uses last-token pooling.

See Scaling Language-Centric Omnimodal Representation Learning (NeurIPS 2025) for details.

Original model benchmarks (MIEB-Lite, 51 tasks)

ModelDataMean
GME (7B)8.0M pairs64.5
mmE5 (11B)2.1M pairs61.8
Voyage Multimodal 3--58.1
LCO-Emb-Omni (7B)370k pairs68.8

Available files

Standard quantizations

FileQuantSizeDescription
LCO-Embedding-Omni-7B-BF16.ggufBF1615 GBFull precision, no quality loss
LCO-Embedding-Omni-7B-Q8_0.ggufQ8_07.6 GBNear-lossless quantization
LCO-Embedding-Omni-7B-Q4_K_M.ggufQ4KM4.4 GBGood balance of quality and size
LCO-Embedding-Omni-7B-Q3_K_M.ggufQ3KM3.6 GBSmaller, some quality loss
LCO-Embedding-Omni-7B-Q2_K.ggufQ2_K2.9 GBSmallest, more quality loss

Importance matrix (imatrix) quantizations

Quantized with an importance matrix computed from WikiText-2 calibration data for improved quality at low bit widths.

FileQuantSizeDescription
LCO-Embedding-Omni-7B-IQ4_XS.ggufIQ4_XS4.0 GB4.25 bpw, imatrix-optimized
LCO-Embedding-Omni-7B-IQ3_M.ggufIQ3_M3.4 GB3.66 bpw, imatrix-optimized
LCO-Embedding-Omni-7B-IQ3_XS.ggufIQ3_XS3.2 GB3.3 bpw, imatrix-optimized
LCO-Embedding-Omni-7B-IQ2_M.ggufIQ2_M2.6 GB2.7 bpw, imatrix-optimized

Multimodal projection

FileQuantSizeDescription
mmproj-LCO-Embedding-Omni-7b-F16.ggufF162.5 GBVision + audio projection (required for multimodal)

For text-only embedding, you only need one of the text model GGUFs. For multimodal (image/audio/video), you also need the mmproj file.

Quantization quality

Measured on 8 diverse text sentences (3584-dim embeddings). BF16 is the reference.

Embedding quality vs BF16

QuantTypeSizeSpeedupMean Abs DiffPearson rSpearman rhoVec Cosine
Q8_0Standard7.6 GB1.7x0.00250.99970.99560.9998
Q4KMStandard4.4 GB2.4x0.00730.99740.99510.9948
IQ4_XSimatrix4.0 GB2.6x0.01450.99420.99180.9944
Q3KMStandard3.6 GB2.8x0.01650.98390.97700.9825
IQ3_Mimatrix3.4 GB2.9x0.02480.98250.96930.9825
IQ3_XSimatrix3.2 GB3.0x0.02240.97530.96000.9797
Q2_KStandard2.9 GB3.1x0.04290.91260.85060.9111
IQ2_Mimatrix2.6 GB3.4x0.04650.86360.72580.9395

pgvector retrieval quality (query with quant, corpus in BF16)

QuantRecall@1Recall@3Mean DriftMax Drift
Q8_0100%100%0.00020.0003
Q4KM100%100%0.00520.0092
Q3KM100%100%0.01750.0354
Q2_K100%100%0.08890.1380

Recommendations:

  • —Q8_0 — essentially lossless, best quality
  • —Q4_K_M — excellent quality/size tradeoff for most use cases
  • —IQ3_M / IQ3_XS — best options for constrained environments, smaller than Q3KM with comparable quality
  • —Q2_K / IQ2_M — functional but noticeable embedding drift (~9%), use only when size is critical

Usage

Build llama.cpp

bash
git clone https://github.com/heiervang-technologies/ht-llama.cpp
cd ht-llama.cpp
cmake -B build
cmake --build build --target llama-embedding llama-server -j$(nproc)

Text embeddings (CLI)

bash
./build/bin/llama-embedding \
  -m LCO-Embedding-Omni-7B-Q8_0.gguf \
  --pooling last \
  -p "Your text here"

Text embeddings (server)

bash
./build/bin/llama-server \
  -m LCO-Embedding-Omni-7B-Q8_0.gguf \
  --embedding --pooling last

curl -s http://localhost:8080/embeddings \
  -d '{"content": "Your text here"}'

Multimodal embeddings (vision + audio)

Requires the mmproj file:

bash
./build/bin/llama-server \
  -m LCO-Embedding-Omni-7B-Q8_0.gguf \
  --mmproj mmproj-LCO-Embedding-Omni-7b-F16.gguf \
  --embedding --pooling last
bash
# Image embedding (base64-encoded image)
curl -s http://localhost:8080/embeddings \
  -d '{"content": [{"prompt_string": "<__media__>", "multimodal_data": ["<base64-image-data>"]}]}'

# Audio embedding (base64-encoded WAV)
curl -s http://localhost:8080/embeddings \
  -d '{"content": [{"prompt_string": "<__media__>", "multimodal_data": ["<base64-audio-data>"]}]}'

JSON output (for programmatic use)

bash
./build/bin/llama-embedding \
  -m LCO-Embedding-Omni-7B-Q8_0.gguf \
  --pooling last \
  --embd-output-format json \
  -p "Your text here"

Notes

  • —This is a quantization of LCO-Embedding/LCO-Embedding-Omni-7B -- see the original model card for benchmarks, training details, and licensing
  • —The --pooling last flag is required -- this model uses last-token pooling, not mean pooling
  • —Embedding dimensions: 3584
  • —All three modalities (text, vision, audio) have been tested and verified working
  • —Contributions and bug reports welcome at ht-llama.cpp

Citations

LCO-Embedding

bibtex
@article{xiao2025scaling,
  title={Scaling Language-Centric Omnimodal Representation Learning},
  author={Xiao, Chenghao and Chan, Hou Pong and Zhang, Hao and Xu, Weiwen and Aljunied, Mahani and Rong, Yu},
  journal={arXiv preprint arXiv:2510.11693},
  year={2025}
}

Qwen 2.5 Omni

bibtex
@article{Qwen2.5-Omni,
  title={Qwen2.5-Omni Technical Report},
  author={Jin Xu and Zhifang Guo and Jinzheng He and Hangrui Hu and Ting He and Shuai Bai and Keqin Chen and Jialin Wang and Yang Fan and Kai Dang and Bin Zhang and Xiong Wang and Yunfei Chu and Junyang Lin},
  journal={arXiv preprint arXiv:2503.20215},
  year={2025}
}