Preprint

MINER: Mining Multimodal Internal Representation for Efficient Retrieval

We introduce MINER, a lightweight module that improves visual document retrieval by reading a frozen model’s internal representations. It improves nDCG@5 by up to 4.5% on ViDoRe V2, with no increase in embedding size. On Jina, it closes nearly half the quality gap to late interaction while using 42.4× less index storage and answering queries 5.3× faster.

Query

How fast is solar power growing?

Document pages
Energy Mobility Water

Dense retrieval

1 vector / page
Each query and page is encoded separately into one final-layer embedding. Their similarity determines the page’s retrieval score.

Late interaction

Many vectors / page
Each query and page is represented by many token vectors. Fine-grained token matches determine the page’s retrieval score.

MINER

1 vector / page
Each query and page is encoded separately. MINER selects and combines internal representations across layers into one embedding, then uses the same single-vector comparison as dense retrieval.

MINER probes selected layers of a frozen retriever, keeps their most useful dimensions and combines them into one dense embedding. Queries and document pages both use this readout. The resulting vectors have the same size as the backbone’s original embeddings and are ranked by the same dot-product search.

Better retrieval within a single-vector budget

Presentation slides, scanned reports and scientific posters carry information through text, layout and figures together. Visual document retrievers search these pages directly as images. Late-interaction systems preserve local detail by representing each page with many token vectors, sometimes more than a thousand. A dense retriever stores just one, making the index smaller and search faster, but can lose useful information when it compresses everything into the final-layer embedding.

MINER improves the vector by drawing on information computed inside the retriever. The model’s intermediate layers still contain retrieval-relevant signals that its final embedding does not fully preserve. Reading those signals lets us recover some of the quality gap while retaining single-vector search. Documents and queries are encoded with MINER; the vector dimensions and search procedure stay the same.

Better retrieval across three backbones

We evaluate Jina-Embeddings-v4, Eager-Embed-v1 and MoCa-3B on three ViDoRe benchmark suites. For each backbone, MINER uses only that model’s own training data. The gains therefore come from using its internal representations better, without new supervision.1

DenseMINER

Up to 4.5% higher nDCG@5

Up to 2.5% higher nDCG@10

Up to 2.8% higher nDCG@5

On ViDoRe V2, Eager gains 4.5% and Jina gains 3.6% relative to their dense baselines. MINER-MoCa reaches 59.1, close to ColQwen2.5’s 59.3 while retaining a single vector. Jina’s two retrieval modes also allow a comparison on the same backbone: MINER raises its dense score from 53.3 to 55.2, recovering 44% of the gap to late interaction at 57.6.

Full benchmark results and evaluation details

ViDoRe V2 is the primary benchmark. V1 and V2 report nDCG@5; V3 reports nDCG@10. Scores are shown on a 0–100 scale. The relative gains in the chart compare MINER with its own backbone. An asterisk in the tables marks a significant change under a paired test over per-query scores (p < 0.05).

ModelSizeBioEconESG-HumanESG-SynAvg.
Late interaction (multi-vector)
ColPali3B54.648.658.554.954.2
ColQwen22B56.350.660.452.555.0
ColQwen2.53B59.253.366.458.359.3
Jina (late interaction)4B60.951.965.152.557.6
Dense single-vector
SigLIP877M27.718.644.535.031.4
VLM2Vec4B33.223.336.327.830.1
Jina4B58.555.154.844.853.3
Eager4B63.456.651.752.256.0
MoCa3B59.757.063.553.158.3
Dense single-vector with MINER
MINER-Jina4B58.6+0.2%56.8+3.1%*56.8+3.7%48.7+8.7%*55.2+3.6%*
MINER-Eager4B64.1+1.1%*57.8+2.1%59.1+14.3%*52.9+1.4%58.5+4.5%*
MINER-MoCa3B59.2−0.8%59.6+4.6%*64.8+2.1%52.9−0.4%59.1+1.4%
ViDoRe V2 results. Percentages give relative changes from each dense backbone. Full table in the paper.

The V2 average gains are significant for Jina and Eager. MoCa’s average gain is not significant at the default hyperparameters, and it falls slightly on Bio and ESG-Syn. On V3, all three backbones improve significantly. On V1, where many subsets are saturated, Eager improves from 82.5 to 84.8 while Jina and MoCa remain within a tenth of a point of their baselines.

BackboneViDoRe V1 (nDCG@5)ViDoRe V3 (nDCG@10)
DenseMINERDenseMINER
Jina84.384.449.049.7*
Eager82.584.8*47.648.8*
MoCa85.785.649.149.5*
Average scores on ViDoRe V1 and V3. An asterisk marks a significant improvement.

All results use a CKA cutoff of 0.6 and a sparsity floor of 0.2. Depending on the backbone, probe training takes 11–17 hours on two RTX 4090 GPUs and fusion-head training takes 5–8 hours on one.

Closing the gap at a fraction of the cost

The efficiency comparison uses Jina for all three approaches. With Qdrant, we index the full corpus of each ViDoRe V2 subset and measure query throughput and storage. MINER’s index averages 22.24 MB, the same as dense Jina, compared with 943.38 MB for late interaction.2

Index storage (MB) ↓

Dense Jina22.24
Late interaction943.38
MINER-Jina22.24

Queries / second ↑

Dense Jina15.41
Late interaction2.75
MINER-Jina14.36

The added cost is computing the fused query embedding. Query latency is about 7% above dense Jina, while nDCG@5 rises by 1.9 points. Late interaction retains a 2.4-point quality advantage over MINER on this backbone, at over 40× the index storage and roughly five times the query latency.

Measured efficiency and retrieval scores
Jina modeQueries / sIndex (MB)nDCG@5
Dense15.4122.2453.3
Late interaction2.75943.3857.6
MINER14.3622.2455.2
Averages across the four ViDoRe V2 subsets, measured with Qdrant. Per-subset measurements.

Useful information survives before the final layer

The internal layers do not all need the same treatment. Some already produce representations aligned with the final retrieval space; others contain useful structure in a different geometry. MINER’s layerwise analysis separates these cases so each layer gets a suitable probe.

Normalized alignment ratio of Jina from layer 15 to 35, rising slowly from about 0.13 to 0.47 at layer 32 and then jumping to 0.52, 0.65 and 0.70 over the last three layers. Bars show the change between adjacent layers, largest between layers 33 and 34.
Jina’s alignment ratio rises sharply in the last three layers. Earlier candidate layers contain useful structure that needs realignment.

For the aligned layers, a Base Probe learns one importance weight per dimension. For the less aligned layers, a Normalized Projection Probe also learns a linear transformation to bring their readouts into the retrieval space. Both probes record which dimensions matter, so the next stage can select them.

How the probes choose and align internal signals

We first apply the backbone’s readout operator at each layer, using either its end-of-sequence token or pooling over tokens. Each text readout is compared with its paired image’s final embedding, and each image readout with its paired text’s final embedding. These paired embeddings are the cross-modal anchors.

Normalized Centered Kernel Alignment (CKA) identifies candidate layers whose representations share useful structure with the anchors. The alignment ratio then compares per-sample cosine similarity with CKA: it distinguishes structure that is already aligned with the final space from structure that needs a transformation. The last three candidate layers use Base Probes, and earlier candidate layers use Normalized Projection Probes.

The probes are shared across text and image inputs. They are trained with an InfoNCE objective against the cross-modal anchors, using in-batch and hard negatives, plus an L1 penalty that makes their importance weights sparse. The projection’s rows are normalized to unit length, while the importance weights track which dimensions matter. Probe definitions and training objective.

Keeping the useful dimensions

MINER uses each layer’s validation performance to decide how many dimensions to retain, then keeps the dimensions with the largest learned importance weights. The fusion head weights and sums the selected signals into one embedding of the backbone’s original size.

Percentage of neurons kept at each layer of Jina from 15 to 36. Around 12 to 22 percent through layer 26, rising to about 93 percent at layer 33, dropping to about 45 percent at layers 34 and 35, and reaching 100 percent at layer 36.
The fraction of dimensions retained at each candidate layer of Jina. Earlier layers contribute a smaller selection; the final layer keeps all its dimensions.

Earlier layers contribute sparse features, while the final layers retain most of their dimensions. The dip near layer 34 shows why layer depth alone is not enough to decide how much to keep. Layers at similar depths can contribute different amounts of useful information.

Selection and alignment both contribute

Combining every dimension from the selected layers already improves all three dense backbones. The full MINER improves further. Treating every layer as aligned loses some of the gain; applying the projection to every layer loses much more. The projection helps layers that need realignment and distorts those already aligned.

BackboneDenseAll NeuronsAll BaseAll NormMINER
Jina53.354.654.950.055.2
Eager56.057.157.453.158.5
MoCa58.358.458.456.059.1
Average nDCG@5 on ViDoRe V2. All Neurons omits probing and masking; All Base uses only Base Probes; All Norm uses only Normalized Projection Probes.
Sensitivity to layer selection and sparsity

For Jina, moving the CKA cutoff from 0.5 to 0.7 changes the candidate range from layers 12–36 to layers 28–36, yet retrieval quality stays within 1% of the default. Sparsity floors from 0.1 to 0.3 change it by less than 0.2%. Eager and MoCa show similarly flat profiles.

Two line plots of MINER-Jina nDCG@5 as a percentage of the default. Left: CKA cutoffs from 0.5 to 0.7 stay between 99 and 100 percent. Right: sparsity floors from 0.1 to 0.3 stay within 0.2 percent of 100.
MINER-Jina quality relative to the default settings as the CKA cutoff and sparsity floor vary.