---
title: 'Generative Late-Interaction Embeddings (GLIE) '
url: https://www.emergentmind.com/topics/generative-late-interaction-embeddings-glie
type: topic
---

# Generative Late-Interaction Embeddings (GLIE) 

Generative Late-Interaction Embeddings (GLIE) are a storage-efficient retrieval architecture in which a document’s large set of fine-grained embedding vectors is represented by a much smaller learned code and regenerated when needed for late-interaction scoring. The term denotes a specific method for visual document retrieval introduced in “Generative Late-Interaction Embeddings For Visual Document Retrieval” [2609.11808]. GLIE addresses the tension between the retrieval quality of multi-vector MaxSim representations and their storage cost by combining spherical centroid anchoring, a learned compact page code, generative reconstruction, and two-stage retrieval.

## 1. Conceptual foundations and terminology

Late-interaction retrieval encodes a query and document independently, retaining multiple contextual vectors rather than reducing either input to a single embedding. For a query-token matrix $Q=\{q_1,\ldots,q_m\}$ and document-vector set $X=\{x_1,\ldots,x_N\}$, relevance is computed using MaxSim:

$$
\operatorname{MaxSim}(Q,X)=\sum_{j=1}^{m}\max_i \langle q_j,x_i\rangle .
$$

Each query vector selects its best-matching document vector. In visual document retrieval, the document vectors may correspond to localized image patches, table cells, captions, diagram labels, or other page regions. This preserves fine-grained evidence that can be lost when a page is represented by one pooled vector.

The principal systems challenge is representation multiplicity. ColPali stores approximately $N=1{,}031$ vectors of dimension $D=128$ per page. In bfloat16, this corresponds to approximately $258$ KB per page, or approximately $258$ GB for one million pages before indexing overhead. Existing approaches reduce this cost through patch selection, local averaging, clustering, quantization, or encoder retraining. These methods either discard potentially relevant evidence, replace extrema with averages, or require modifying and re-encoding the underlying encoder.

GLIE uses a different principle: the stored vectors are a compact description of the page representation, not necessarily the complete evidence set used for final scoring. A small number of vectors is used for corpus-wide candidate generation; a decoder then reconstructs a larger set of vectors for candidate reranking. In this sense, GLIE replaces permanent sampling with on-demand reconstruction.

The method is related to the broader ColBERT family of late-interaction retrievers. ColBERTv2 demonstrates that residual compression, centroid-based inverted lists, and denoised distillation can reduce late-interaction index size by $6$–$10\times$ [2112.01488]. Token-pruning analyses show that MaxSim contributions are nonuniform and that query-aware selection can outperform static pooling under tight budgets [2403.13291] [2609.07262]. GLIE extends these directions by learning a generative representation of the original multi-vector set rather than merely retaining or pooling existing vectors.

## 2. Geometric basis of GLIE

GLIE is motivated by two empirical properties of visual-document embeddings. First, the evaluated encoders L2-normalize their outputs, so each page vector satisfies

$$
\|x_i\|_2=1,
\qquad
X\subseteq \mathbb{S}^{D-1}.
$$

Second, the vectors on a page concentrate near a low-dimensional manifold despite their high ambient dimension. Across $6{,}729$ pages, the TwoNN intrinsic-dimension estimator reports the following median values:

| Encoder | Dimension | Median intrinsic dimension |
|---|---:|---:|
| ColPali | 128 | 4.9 |
| ColQwen2 | 128 | 5.1 |
| Nemotron v2 | 3,072 | 6.1 |

The per-corpus ColPali medians range from $4.7$ to $5.1$. Synthetic controls have substantially larger estimates: $32.2$ for a Gaussian with the same covariance spectrum and $61.4$ for uniform noise. The reported interpretation is that roughly one thousand page vectors may contain only five or six important degrees of freedom.

This geometric concentration motivates representing the page by a few learned anchors. The intended representation is not a randomly chosen subset of patches, but a compact description of the manifold from which local evidence can later be regenerated.

### Spherical anchoring

Suppose a cluster contains unit vectors $x_1,\ldots,x_n$ with Euclidean mean

$$
c=\frac{1}{n}\sum_{i=1}^{n}x_i.
$$

Unless all vectors coincide, the centroid lies inside the unit sphere:

$$
\|c\|_2<1.
$$

The paper gives the identity

$$
\frac{1}{n}\sum_{i=1}^{n}\|x_i-c\|^2=1-\|c\|^2.
$$

For a unit query vector $q$,

$$
\langle q,c\rangle
=
\|c\|
\left\langle q,\frac{c}{\|c\|}\right\rangle .
$$

Consequently, raw centroids shrink dot products relative to points on the sphere in the same direction. Since MaxSim takes maxima, this produces systematic underestimation of attainable scores. GLIE applies the normalization

$$
u_j=\frac{c_j}{\|c_j\|_2},
$$

forming a spherical-anchoring representation $U=\{u_1,\ldots,u_k\}$.

On ViDoRe v1, spherical normalization improves nDCG@5 over raw $k$-means by between $+0.031$ and $+0.093$, depending on the budget. At $k=4$, raw $k$-means obtains $0.512$, whereas normalized centroids obtain $0.605$. The improvement decreases as $k$ increases because tighter clusters have centroids whose norms are closer to one.

Normalization does not preserve a lower-bound relationship to the original page. Raw centroids shrink scores, but normalized centroids move outward and can overestimate similarity in some query directions. GLIE therefore combines spherical anchoring with learned ranking, reconstruction, and overshoot objectives.

## 3. Compact page codes and generative reconstruction

For each page, GLIE clusters the frozen token set $X$ into $k$ groups, typically using two $k$-means restarts, and normalizes the centroids. The evaluated budgets are

$$
k\in\{2,4,8,16,32,64\},
$$

compared with $N=1{,}031$ original vectors. At $k=4$, the representation uses approximately $258\times$ fewer vectors than the uncompressed page.

### Learned refinement

Normalized centroids are refined using a shared cross-attention module:

$$
C=
\operatorname{normalize}
\left(
U+\pi_\theta\bigl(\operatorname{Attn}(U,X,X)\bigr)
\right).
$$

Here, $U\in\mathbb{R}^{k\times D}$ is the normalized-centroid matrix, $X\in\mathbb{R}^{N\times D}$ is the frozen page representation, $U$ supplies attention queries, $X$ supplies keys and values, $\operatorname{Attn}$ is multi-head cross-attention, and $\pi_\theta$ is a learned output projection. Every output row is L2-normalized.

The projection $\pi_\theta$ is initialized to zero, so the initial learned code satisfies

$$
C=U.
$$

Normalized clustering is therefore the initialization floor for the learned representation. Training can modify the anchors using the original page vectors and retrieval objectives without changing the underlying visual-document encoder.

### Generative read-out

A shared decoder expands the compact code $C$ into $N$ normalized vectors:

$$
\widehat{X}=g_\psi(C)
=
\{\hat{x}_1,\ldots,\hat{x}_N\}.
$$

Each anchor owns $n_j$ output slots, where $n_j$ is the number of original vectors assigned to cluster $j$. This preserves the empirical cluster-count structure of the page. One slot per cluster emits the anchor exactly, giving

$$
C\subseteq g_\psi(C).
$$

Because MaxSim uses a maximum,

$$
\operatorname{MaxSim}(Q,g_\psi(C))
\geq
\operatorname{MaxSim}(Q,C)
$$

at the per-query-token maximum level.

The remaining slots are generated as bounded movements around their cluster anchor on the sphere. The displacement magnitude is bounded by $\alpha=0.75$, corresponding to a maximum angular displacement of approximately

$$
\arctan(0.75)\approx37^\circ.
$$

Fixed sine and cosine positional features identify slots, allowing the decoder to handle clusters with different numbers of assigned vectors without learning a separate parameter for every slot.

The decoder is a two-layer MLP with width $256$, while the refiner is one four-head cross-attention layer. Together they contain approximately $415$K parameters. This is substantially smaller than the approximately $3$B-parameter visual-document backbone.

## 4. Retrieval pipeline and optimization

GLIE uses an asymmetric two-stage retrieval procedure.

First, every page is scored using only its stored compact code:

$$
s_{\mathrm{code}}(Q,p)
=
\operatorname{MaxSim}(Q,C_p)
=
\sum_{j=1}^{m}\max_{\ell\leq k}
\langle q_j,c_{p,\ell}\rangle .
$$

The top $L=20$ pages are then decoded. Their compact codes are expanded into $N$ vectors and rescored:

$$
s_{\mathrm{full}}(Q,p)
=
\operatorname{MaxSim}(Q,g_\psi(C_p)).
$$

Pages outside the shortlist retain their first-stage ordering. The expensive $N$-vector interaction is therefore restricted to a small candidate set.

The compact code must retrieve relevant pages into the shortlist, while the decoder must reconstruct sufficient fine-grained evidence for accurate reranking. A page absent from the shortlist cannot be recovered by the decoder.

### Training objectives

The encoder remains frozen. The refiner and decoder are trained using cached page embeddings and queries. For a representation containing vectors $\hat{x}_l$, GLIE distills the teacher’s per-query-token MaxSim values:

$$
\mathcal{L}_{\mathrm{tok}}
=
\frac{1}{m}
\sum_{j=1}^{m}
\left(
\max_l\langle q_j,\hat{x}_l\rangle
-
\max_i\langle q_j,x_i\rangle
\right)^2.
$$

The system also uses a listwise KL-divergence objective so that the ordering of candidate pages follows the frozen full-resolution teacher. For regenerated vectors, additional losses include:

- **One-sided overshoot penalty**: penalizes regenerated negative pages only when they score above the teacher.
- **Cluster-wise Chamfer term**: encourages generated children to occupy the same local regions as the original patches.
- **Support-function loss**: matches the maximum extent of real and regenerated point sets along $128$ fixed random directions.

Ordinary pointwise reconstruction loss is deliberately omitted. Such a loss would tend to place generated vectors near cluster means, causing collapse toward averages and damaging the extreme points required by MaxSim.

The reported optimization uses AdamW, learning rate $2\times10^{-4}$, weight decay $10^{-4}$, cosine decay over $100$ epochs, gradient clipping at $1.0$, batches of eight queries, and seven hard negatives per query. The loss weights are $1.0$ for regenerated MaxSim and listwise losses, $0.5$ for corresponding code losses, $0.5$ for Chamfer and overshoot terms, and $0.1$ for the support term. The listwise temperature is $0.07$, and $48$ sampled patches per cluster are used for Chamfer training.

Hard negatives are drawn from the fifty highest-scoring non-relevant pages under the frozen compact code. The codec is fitted on $5{,}000$ pages from the public ColPali training collection, although data-efficiency experiments report statistically unchanged results when fitting on $1{,}250$, $2{,}500$, or $5{,}000$ pages. One budget takes approximately $2.7$ minutes, or under three GPU-minutes, on one NVIDIA A100 80GB. Three random seeds are used in the reported learned results.

Stored vectors are bfloat16, accompanied by one fp16 norm and one uint16 cluster count per cluster. At $k=4$, storage is approximately $1{,}040$ bytes per page, compared with $257.8$ KB uncompressed; one million pages therefore require approximately $1.0$ GB rather than $258$ GB.

## 5. Empirical performance and comparisons

The principal evaluation uses ViDoRe v1 with all ten subsets, 3,943 queries, unique de-duplicated page corpora, query-less pages retained as distractors, and single-relevant nDCG@5. The main encoder is ColPali v1.3, producing $1{,}031$ vectors of dimension $128$ per page. Baselines are applied post hoc to the same frozen embeddings and matched storage budgets.

| Method | $k=2$ | $k=4$ | $k=8$ | $k=16$ | $k=32$ | $k=64$ |
|---|---:|---:|---:|---:|---:|---:|
| Raw $k$-means | .464 | .512 | .594 | .662 | .737 | .779 |
| Token pooling | .553 | .584 | .624 | .657 | .702 | .747 |
| Cluster merging | .447 | .471 | .531 | .613 | .690 | .763 |
| GLIE | .597 | .657 | .718 | .759 | .791 | .811 |

The uncompressed reference is $0.836$. GLIE retains approximately $71\%$, $79\%$, $86\%$, $91\%$, $95\%$, and $97\%$ of uncompressed nDCG@5 at $k=2$, $4$, $8$, $16$, $32$, and $64$, respectively. At four vectors per page, it retains nearly $80\%$ of uncompressed quality, whereas the strongest prior post-hoc method retains approximately $70\%$.

On ViDoRe v2, GLIE remains the strongest reported method among the evaluated alternatives:

$$
\{0.267,0.330,0.388,0.439,0.472,0.490\}
$$

for $k\in\{2,4,8,16,32,64\}$. The uncompressed value is $0.517$, corresponding to $52\%$, $64\%$, $75\%$, $85\%$, $91\%$, and $95\%$ retention. On ColQwen2, the uncompressed value is $0.883$, and GLIE reaches $0.727$ at $k=4$, or $82\%$ retention. The paper reports improvements on all ten ColQwen2 subsets at $k=4$ and above.

### Component contributions

The component ladder on ViDoRe v1 is:

| Component | $k=2$ | $k=4$ | $k=8$ | $k=16$ | $k=32$ | $k=64$ |
|---|---:|---:|---:|---:|---:|---:|
| Raw $k$-means | .464 | .512 | .594 | .662 | .737 | .779 |
| + spherical anchoring | .552 | .605 | .684 | .736 | .784 | .809 |
| + learned code | .596 | .641 | .705 | .752 | .785 | .809 |
| + generative read-out | .597 | .657 | .718 | .759 | .791 | .811 |

Spherical normalization is the largest and cheapest contribution. The learned code is most useful at low budgets, adding $+0.044$ at $k=2$ and $+0.016$ at $k=16$. The decoder contributes most at aggressive budgets, adding approximately $+0.016$ at $k=4$ and $+0.013$ at $k=8$.

At $k=4$, increasing the shortlist from $L=5$ to $100$ raises the oracle from $0.705$ to $0.822$, while actual GLIE rises only from $0.647$ to $0.660. With $L=20$, the actual system is near its plateau. At this budget, GLIE obtains $0.657$, while a perfect decoder on the same shortlist could reach $0.782. The reported bottleneck is therefore decoder fidelity rather than shortlist recall.

Decoder size is comparatively unimportant within the tested range. Configurations from $184$K to $13$M parameters change nDCG@5 by at most $0.009$, without a monotonic trend. The $415$K decoder is consequently a practical point in a relatively flat capacity region.

## 6. Relation to neighboring architectures

GLIE differs from several approaches that address multi-vector efficiency.

### Static compression and pruning

Static pooling, token selection, and clustering decide which evidence remains available before the query is known. Query-aware token budgeting instead reopens original vectors for shortlisted pages and selects a query-specific subset [2609.07262]. GLIE goes further by generating new vectors from a compact code. It does not merely select existing patches; it reconstructs an expanded representation.

This distinction matters for MaxSim. A selected subset cannot recover evidence that was discarded. A decoder can synthesize vectors near missing local extrema, subject to the information contained in the compact code and the quality of the learned decoder.

### Meta-token and compact multi-vector models

MetaEmbed uses a fixed number of learned Meta Tokens whose contextualized representations serve as compact multi-vector embeddings, with Matryoshka Multi-Vector Retrieval enabling test-time selection of nested budgets [2509.18095]. Unlike GLIE, MetaEmbed retrains the multimodal encoder and produces a compact representation directly. GLIE keeps the original encoder frozen, fits a small codec to its output geometry, and reconstructs the original-scale representation only for shortlisted pages.

### Learnable late interaction

LITE replaces MaxSim with a learned function over the entire token-similarity matrix and studies reductions in document-token count and embedding dimension [2406.17968]. GLIE retains the MaxSim operator but changes the representation supplied to it: a compact code is used for first-stage retrieval, and a decoded multi-vector set is used for reranking.

### Query-conditioned document representations

Argus generates query-conditioned document embeddings through region-aware sparse mixture-of-experts routing before applying MaxSim [2606.04300]. Its document representation is $\mathbf{D}(q)$ and therefore cannot generally be precomputed once for every future query. GLIE retains query-independent compact page codes and performs query-independent decoding in the described architecture; the query affects selection through retrieval and reranking rather than directly conditioning the decoder’s page representation.

### Generative recoverability

The Generative Embedding Benchmark evaluates whether a frozen embedding retains information accessible to a downstream decoder [2608.06972]. It shows that discriminative embedding quality does not establish generative recoverability, particularly for scene text and visual documents. GLIE is relevant to this distinction because its decoder is explicitly trained to recover MaxSim-relevant evidence, but the reported GLIE evaluation measures retrieval rather than answer generation.

## 7. Limitations and future directions

GLIE changes, rather than eliminates, the cost structure of late-interaction retrieval. Its principal limitations are as follows.

- **Compact-code bottleneck**: if the relevant page structure cannot be inferred from a small number of anchors, reconstruction cannot recover it. This is especially apparent at $k=2$, where regeneration adds no improvement on ViDoRe v1 and only $+0.011$ on ViDoRe v2.

- **Shortlist dependence**: pages not retrieved by compact-code MaxSim cannot be recovered during decoding. Increasing the shortlist improves the available oracle but increases decoding and reranking cost.

- **Decoder fidelity**: the gap between actual GLIE and the shortlist oracle shows that the decoder remains the principal source of headroom at small budgets.

- **Potential hallucination or overshoot**: generated vectors need not equal the original patches and may score above the full-resolution teacher. Overshoot, support, and Chamfer losses constrain but do not mathematically eliminate this behavior.

- **Encoder dependence**: the low-dimensional spherical geometry was observed for ColPali, ColQwen2, and Nemotron v2. It is not established that all future visual encoders will exhibit comparable intrinsic dimensions or that the same decoder will transfer across encoders.

- **Storage accounting**: the approximately $1.0$ GB figure for one million pages at $k=4$ applies to the compact code and associated metadata. It does not include the original full-token store if that store is retained for other purposes, nor indexing overhead.

- **Frozen-encoder scope**: GLIE does not adapt the visual-document encoder. This avoids corpus re-encoding and makes training inexpensive, but it limits the codec to information already present in the frozen representation.

- **Evaluation scope**: the reported retrieval results use ViDoRe v1 and v2, with a second-encoder evaluation on ColQwen2. Broader domains, languages, document types, and generative readout tasks remain open.

Future research directions include learned or query-conditioned decoders, larger and more diverse encoder families, improved shortlist generation, adaptive candidate budgets, approximate decoding, and integration with query-aware token allocation. A natural hybrid would combine a compact GLIE code for corpus-wide retrieval with query-aware selection or decoding for shortlisted pages. Another direction is to evaluate GLIE under generative readout protocols such as GEB, using multi-token decoder interfaces and matched byte, dimension, and computation budgets.

GLIE’s central contribution is the separation of **stored representation**, **candidate-generation representation**, and **final evidence representation**. A page can be indexed using a few spherical anchors, searched with compact MaxSim, and expanded into a richer multi-vector set only when its relevance warrants the additional computation. The resulting retrieval system preserves much of the fine-grained behavior of late interaction while shifting the primary compression problem from selecting which evidence to retain permanently toward learning how to regenerate evidence on demand.

Source: https://www.emergentmind.com/topics/generative-late-interaction-embeddings-glie