CoolFace
Modelpublic

OpenSearch-AI/Ops-MM-embedding-v1-7B

sourceHugging Faceapache-2.0updated 10mo agoView on Hugging Face
14likes871downloads
Model Card

Ops-MM-embedding-v1-7B

Ops-MM-embedding-v1-7B is a dense, large-scale multimodal embedding model developed and open-sourced by the Alibaba Cloud OpenSearch-AI team, fine-tuned from Qwen2-VL.

Key Features

Unified Multimodal Embeddings

  • Encodes text, images, text-image pairs, visual documents, and videos (by treating video frames as multiple image inputs) into a unified embedding space for cross-modal retrieval.

High Performance on MMEB

  • Achieves SOTA results among models of similar scale on MMEB-V2 and MMEB-Image benchmark (until 2025-07-03).

Multilingual Capabilities

  • Ops-MM-embedding-v1-7B achieves SOTA performance among dense models on the ViDoRe-v2 benchmark, demonstrating strong cross-lingual generalization.

Training data

MMEB-train, CC-3M, colpali training set.

Performance

MMEB-V2

ModelModel Size (B)OverallImage-OverallVideo-OverallVisdoc-Overall
seed-1.6-embeddingunknown71.2777.7855.3473.44
Ops-MM-embedding-v1-7B8.2967.6172.7253.7670.34
Ops-MM-embedding-v1-2B2.2163.4469.0347.5666.96
VLM2Vec-V2.0-Qwen2VL-2B2.2158.0264.8534.8565.36
gme-Qwen2-VL-7B-Instruct8.2957.8355.9538.4375.18
gme-Qwen2-VL-2B-Instruct2.2154.0851.8933.6472.71

MMEB-Image

The table below compares performance on MMEB-Image benchmark among models of similar size.

ModelsModel Size(B)Image-OverallI-CLSI-QAI-RETI-VG
Ops-MM-embedding-v1-7B8.2972.7269.6569.5873.0987.15
QQMM-embed8.29772.17570.0769.5271.17587.075
B3Qwen27B8.29727066.574.184.6
UniME(LLaVA-OneVision-7B-LoRA-Res336)8.0370.766.866.670.590.9
LLaVE-7B8.0370.365.765.470.991.9
UNITE-Instruct-7B8.2970.368.365.171.684.8

ViDoRe-v2

ModelAvgESG Restaurant HumanMIT Bio Multi.Econ Macro Multi.ESG Restaurant Synth. Multi.
gme-7B55.6163.3749.4954.2155.38
seed 1.6 embedding56.5763.357.1453.8551.99
Ops-MM-embedding-v1-7B59.5966.2754.3460.9256.82
Ops-MM-embedding-v1-2B53.1858.5752.8747.8953.39

Usage

python
from ops_mm_embedding_v1 import OpsMMEmbeddingV1, fetch_image


model = OpsMMEmbeddingV1(
    "OpenSearch-AI/Ops-MM-embedding-v1-7B",
    device="cuda",
    attn_implementation="flash_attention_2"
)

t2i_prompt = "Find an image that matches the given text."
texts = [
    "The Tesla Cybertruck is a battery electric pickup truck built by Tesla, Inc. since 2023.",
    "Alibaba office.",
    "Alibaba office.",
]
images = [
    "https://upload.wikimedia.org/wikipedia/commons/e/e9/Tesla_Cybertruck_damaged_window.jpg",
    "https://upload.wikimedia.org/wikipedia/commons/e/e0/TaobaoCity_Alibaba_Xixi_Park.jpg",
    "https://upload.wikimedia.org/wikipedia/commons/thumb/b/b0/Alibaba_Binjiang_Park.jpg/1024px-Alibaba_Binjiang_Park.jpg"
]

images = [fetch_image(image) for image in images]

# Text and image embedding
text_embeddings = model.get_text_embeddings(texts)
image_embeddings = model.get_image_embeddings(images)
print('Text and image embeddings', (text_embeddings @ image_embeddings.T).tolist())

# Fused Embedding
text_with_image_embeddings = model.get_fused_embeddings(texts=texts, images=images, instruction=t2i_prompt)
print('Text and image embeddings', (text_embeddings @ image_embeddings.T).tolist())

# Multi-image embeddings
multi_images = [
    [images[0]],
    [images[1], images[2]],
]
multi_image_embeddings = model.get_image_embeddings(multi_images)
print('Multi-image embeddings', (multi_image_embeddings @ multi_image_embeddings.T).tolist())