Qwen3-VL-Embedding e Reranker: il nuovo standard per il Multimodal Retrieval

Quando Qwen rilascia, è sempre un'emozione!

Qwen3-VL-Embedding e Reranker: il nuovo standard per il Multimodal Retrieval
Condividi:

Il Tongyi Lab di Qwen (Alibaba Group) ha rilasciato Qwen3-VL-Embedding e Qwen3-VL-Reranker, due serie di modelli costruite sulla base del modello Qwen3-VL.

I modelli estendono il retrieval a immagini, documenti visivi come screenshot e slide e video, mappando contenuti diversi in uno spazio di rappresentazione comune. La release include varianti da 2B e 8B parametri e supporto dichiarato per oltre 30 lingue; l'uso in produzione dipende da memoria, latenza e qualità dei dati.

Architettura a due stadi: embedding e reranking

L'approccio proposto segue una pipeline classica ma potenziata per la multimodalità, composta da due fasi distinte:

  1. Qwen3-VL-Embedding (Bi-encoder): questo modello genera rappresentazioni vettoriali dense (embedding) per gli input. Utilizza un'architettura bi-encoder in cui l'istruzione viene passata come system message e l'istanza multimodale come messaggio utente. L'hidden state dell'ultimo token <|endoftext|> viene usato per ottenere l'embedding finale; in pratica, questa rappresentazione riassume il contesto elaborato dal modello.

  2. Qwen3-VL-Reranker (Cross-encoder): per affinare i risultati, il reranker stima la rilevanza in modo dettagliato. L'architettura cross-encoder calcola la cross-attention tra query e documento candidato e produce uno score basato sulla probabilità assegnata ai token "yes" e "no".

Matryoshka Representation Learning e quantizzazione

Nei sistemi di ricerca su larga scala, la dimensione degli embedding incide su memoria e costi. Qwen3-VL-Embedding supporta il Matryoshka Representation Learning (MRL).

Questa tecnica permette agli sviluppatori di troncare la dimensione degli embedding (ad esempio da 4096 a 1024). Il vantaggio in termini di storage va verificato insieme alla perdita di qualità sul proprio corpus.

Inoltre, i modelli sono stati addestrati con strategie di Quantization-Aware Training (QAT). Il team dichiara una maggiore robustezza degli embedding quando compressi in formati a bassa precisione come int8 o binari; l'effetto su qualità, throughput e latenza dipende dalla configurazione.

Pipeline di training e sintesi dei dati

Per addestrare i modelli, il team descrive una strategia multi-stage:

  • Stage 1 - Contrastive pre-training: addestramento su larga scala con dati sintetici rumorosi per stabilire una baseline di comprensione multimodale.

  • Stage 2 - Multi-task contrastive learning: fine-tuning su dati di alta qualità e task specifici per migliorare la capacità discriminativa.

  • Stage 3 - Distillation: il modello di embedding apprende dal reranker, con l'obiettivo di migliorare la precisione senza sostenere a runtime il costo computazionale del cross-encoder.

Per compensare la scarsità di dati multimodali di alta qualità, il team descrive un processo di data synthesis. Qwen3-VL-32B viene usato per generare dataset sintetici per task come classificazione di immagini, visual question answering e moment retrieval nei video; la qualità e la copertura di questi dati richiedono comunque una verifica indipendente.

Prestazioni e benchmark

I risultati pubblicati dal team mostrano buone prestazioni in diversi benchmark di retrieval multimodale. I punteggi vanno interpretati in relazione a dataset, metriche e baseline.

  • MMEB-v2: il modello Qwen3-VL-Embedding-8B ha ottenuto uno score complessivo di 77.8, primo nella tabella riportata dal team alla data dell'8 gennaio 2026. La posizione dipende dalla versione del benchmark e dai modelli inclusi nel confronto.

  • MTEB (Text-only): anche nei task puramente testuali, il modello mantiene prestazioni comparabili, con uno score medio di 67.9 nella configurazione riportata.

  • Visual Document Retrieval: sui benchmark Vidore e Jina VDR, il modello viene confrontato con sistemi specializzati come ColPali. Il vantaggio di efficienza dipende da dimensione degli embedding, hardware e configurazione del retrieval.

I punteggi di benchmark non garantiscono da soli un miglioramento in ogni applicazione RAG. Prima del deployment conviene misurare recall, precisione del reranking, latenza e qualità delle risposte sul proprio corpus.

Snippet Python per provare Qwen3-VL-Embedding

from scripts.qwen3_vl_embedding import Qwen3VLEmbedder
import numpy as np
import torch

# Define a list of query texts
queries = [
    {"text": "A woman playing with her dog on a beach at sunset."},
    {"text": "Pet owner training dog outdoors near water."},
    {"text": "Woman surfing on waves during a sunny day."},
    {"text": "City skyline view from a high-rise building at night."}
]

# Define a list of document texts and images
documents = [
    {"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"}
]

# Specify the model path
model_name_or_path = "Qwen/Qwen3-VL-Embedding-2B"

# Initialize the Qwen3VLEmbedder model
model = Qwen3VLEmbedder(model_name_or_path=model_name_or_path)
# We recommend enabling flash_attention_2 for better acceleration and memory saving,
# model = Qwen3VLEmbedder(model_name_or_path=model_name_or_path, torch_dtype=torch.float16, attn_implementation="flash_attention_2")

# Combine queries and documents into a single input list
inputs = queries + documents

# Process the inputs to get embeddings
embeddings = model.process(inputs)

# Compute similarity scores between query embeddings and document embeddings
similarity_scores = (embeddings[:4] @ embeddings[4:].T)

# Print out the similarity scores in a list format
print(similarity_scores.tolist())

# [[0.8157786130905151, 0.7178360223770142, 0.7173429131507874], [0.5195091962814331, 0.3302568793296814, 0.4391537308692932], [0.3884059488773346, 0.285782128572464, 0.33141762018203735], [0.1092604324221611, 0.03871120512485504, 0.06952016055583954]]

Risorse per sperimentare

I modelli sono disponibili per il download secondo le condizioni indicate nei rispettivi repository. La documentazione indica un contesto fino a 32k token; il numero effettivo di immagini, video o documenti elaborabili dipende dai limiti del modello e dalla memoria disponibile.

Mauro Sciancalepore - Notizie AI, Deep Learning e Ricerca

Resta aggiornato sulle ultime notizie di Intelligenza Artificiale e Deep Learning. Approfondimenti completi sulla ricerca e stato dell'arte.

© 2026 mauroscia.it
Tutti i diritti riservati.