Reachability Is Not Ranking: Finite Beams, Continuous Queries, and One TIGER-Style Baseline
A close read of continuous-query generation for generative recommendation, and why "can the target be found?" and "is it ranked well?" need separate measurements.
The problem: two questions hidden inside one Recall number
Our earlier post on FLASH argued that you can’t judge a semantic tokenizer on its own; you have to judge it together with the decoder and the search procedure. This post follows from that. The new paper, Beyond Semantic IDs: Finite-Beam Reachability and Continuous-Query Generation in Generative Recommendation [1], takes the search procedure as its subject.
Semantic-ID (SID) recommenders in the line of TIGER [2] turn each item into a short sequence of discrete codes. A sequence model is then trained to emit the next item’s codes, and inference runs beam search over valid code prefixes. A beam is finite. Even when the held-out item has a valid and almost unique code, its path can be pruned before it reaches the returned list. In that case no downstream ranker can recover the item.
The authors of [1] separate four quantities that people often blur together:
Unique-code assignment: does each item get its own code?
Target-conditioned beam support: for a given user, does the held-out target appear anywhere in the returned list of size B?
Catalog-wide scoreability: can the model assign a score to every item at all?
Union-of-output coverage: across all users, what fraction of the catalog shows up in at least one top-K list?
The paper’s main claim is that these are different things. In its closer T5/RQ-VAE-style reproduction on Amazon Beauty, 99.48% of generated sequences are valid SIDs, yet the union of top-100 outputs covers only 44.0% ± 13.7% of the catalog. Coverage is 14.0% for the rarest quartile and 88.7% for the most popular [1]. Valid codes don’t buy reachability.
My aim here is to keep two questions apart all the way through: can the target be reached under a finite search budget, and how well is it ranked once it can be. The paper’s numbers answer the two differently.
Mechanism
The SID interface being replaced
Let ℐ be a catalog of N items. User u has a chronological history sᵤ = (i₁, …, iₜ), and the task is to retrieve iₜ₊₁. An SID system maps item i to a code sequence zᵢ = (z_i,1, …, z_i,L) and trains an autoregressive model. In the standard left-to-right factorization:
Here L is the code length and z_i,<ℓ is the prefix decoded so far. Beam search keeps only the highest-scoring prefixes at each level, so whether an item gets through depends on its whole path surviving every pruning step.
In TIGER [2], the codes come from an RQ-VAE over content embeddings. A residual r₀ is matched to its nearest codeword e_c₀ in the level-0 codebook. The residual r₁ = r₀ - e_c₀ is then quantized at the next level, and so on:
Here d indexes the level, e^(d)ₖ is the k-th codeword at level d, and c_d is the selected code. The reported setup uses Sentence-T5 embeddings, three levels of 256 codewords each, and a fourth code to break collisions [2].
To make the support quantity concrete, I’ll write the paper’s verbal definition as a formula. This is my notation, not an equation from [1]:
O_B(u) is the deduplicated, history-filtered list of B items returned for user u, and i^*ᵤ is that user’s held-out target. For a fixed checkpoint and budget, this is the highest Recall that any reranker working only on O_B(u) can reach. The paper is explicit that this ceiling depends on the budget, not on the architecture: raising B raises it [1].
CQG-Single: one continuous query
Both proposed methods share a frozen item matrix E ∈ ℝ^N × d. Each row eᵢ is an L2-normalized item vector, and in the main experiments it comes from a two-layer SASRec pretrained with BPR (d = 64). A generator f_θ maps user context cᵤ (history, plus demographics where available) to a single query:
Top-K comes from exact dense scoring or approximate nearest-neighbor (ANN) search. There is no codebook, no code-to-item lookup, and no beam. Every encoded item can be scored by construction. As the authors point out, that doesn’t mean every item will actually show up in a finite top-K [1].
CQG-AR: autoregression without a token vocabulary
CQG-AR keeps step-by-step decoding but emits continuous residuals instead of tokens:
with ê⁽⁰⁾ᵤ = 0. D_φ is a causal Transformer decoder, W_AR projects the hidden state into item space, and only the final query ê^(L)ᵤ (with L = 3, to match three SID levels) is used for retrieval. The two variants form a controlled pair. CQG-Single removes both the vocabulary and serial decoding. CQG-AR removes only the vocabulary.
Training objective
The primary loss is cross-entropy over the full catalog with temperature τ= 0.07:
q_b is the generated query for example b and e_b⁺ is the target item’s embedding. Every item appears in the denominator of every update, which costs O(N) per step [1]. This matters later: the continuous models see the whole catalog during training, while the SID decoder gets token-level supervision.
Scoped results
Setup. The datasets are ML-1M (6,040 users, 3,416 items), Amazon Beauty (22,363 / 12,101), and Amazon Sports (21,519 / 10,693, a processed split that the authors say differs from the usual 5-core split). Evaluation is leave-one-out, with history items excluded from ranking. The comparator labeled “TIGER” is the authors’ own hierarchical-k-means SID model built on the same frozen SASRec embeddings, decoded with valid-prefix constraints. It is not the published TIGER system, which uses an RQ-VAE over Sentence-T5 content embeddings. The authors state that this baseline is weaker than published SID systems [1].
Ranking quality (Table 3 of [1]). Values are the mean over seeds 42–48 on ML-1M and 42–44 on Beauty and Sports.
Method · Trainable params · ML-1M R@10 · ML-1M N@10 · Beauty R@10 · Sports R@10
SASRec (full-rank, 1 checkpoint) · 0.32–0.88M · 0.2797 · 0.1535 · 0.0558 · 0.0390
TIGER-style SID · 5.78M · 0.2996 · 0.1739 · 0.0477 · 0.0236
CQG-Single · 3.2M · 0.3104 · 0.1822 · 0.0605 · 0.0363
CQG-AR (L=3) · 5.62M · 0.2976 · 0.1735 · 0.0571 · 0.0355
CQG-Single beats the TIGER-style model in all seven ML-1M runs. The mean paired gain in R@10 is 0.0107 (about 1.1 percentage points), with a 95% paired t-interval of [0.0021, 0.0193] and an exact sign-flip p = .0156. It uses 55.3% as many trainable parameters. CQG-AR roughly ties on ML-1M and is higher on both Amazon sets. On Beauty, the training-run intervals for the three models overlap. On Sports, both continuous models’ intervals lie above the TIGER-style interval [1]. Full-rank SASRec is still the best of all on Sports. Removing the beam doesn’t automatically produce a better ranker.
Reachability (Table 2 and §6 of [1]). This is the result I think matters most. On ML-1M seed 42, with returned-list sizes matched, TargetInOutput@100 is 66.7% for TIGER-style, 67.3% for CQG-Single and 66.4% for CQG-AR. In other words, the method with no beam reaches only 0.6 percentage points more targets than the beam-search model, and CQG-AR reaches fewer. About a third of held-out targets are missing from every method’s top-100. At this budget the reachability ceiling is a ceiling on retrieval quality in general, not something specific to SIDs. Separately, raising TIGER’s list from 100 to 200 lifts its support from 66.7% to 76.3% (seven-seed means 0.6667 and 0.7593).
Coverage and popularity. Union-of-output coverage (Table 4 of [1]) depends on the dataset:
Beauty: CQG covers much more of the catalog (89.5% vs 74.4% at top-10).
ML-1M: the methods are nearly tied (97.6% vs 97.0% at top-100).
Sports: it reverses. TIGER-style covers 94.0% at top-10 against CQG-Single’s 63.1%.
Across popularity quartile × depth cells on ML-1M, CQG-Single leads in 38 of 48. It wins every Q2–Q3 cell, while TIGER-style keeps some rare-item (Q1) advantages at shallow depths. That diagnostic uses a separately selected checkpoint, and Beauty doesn’t reproduce the rare-item pattern [1].
Ablations. On ML-1M, the CQG-AR depth sweep from L = 1 to 4 moves R@10 only between 0.2909 and 0.2944, and the trend isn’t monotonic. Training CQG-AR with 256 sampled negatives instead of the full softmax drops R@10 from 0.2982 to 0.2895. So seeing the whole catalog during training explains part of the gap, by the authors’ own account [1].
Cost scope. The reported cost evidence is the parameter counts and the O(N) per-step training cost. Latency, memory, ANN behavior and index-update cost are not measured [1].
How it relates to the other two papers
TIGER [2]: the foundation, and not the baseline
TIGER introduced the interface that [1] analyzes: RQ-VAE semantic IDs, a Transformer encoder–decoder, and beam search over IDs. It already flagged the right concerns. Invalid IDs made up roughly 0.1–1.6% of top-10 predictions, and the suggested fixes were a wider beam plus filtering. The authors also noted that autoregressive beam decoding can cost more than ANN retrieval [2]. What it didn’t measure was whether valid targets survive the beam, and [1] fills that gap.
TIGER is not the comparator in [1]. For context, published TIGER reports Beauty Recall@10 of 0.0648 [2]. That is numerically above both the TIGER-style 0.0477 and CQG-Single’s 0.0605 in [1]. The Beauty user and item counts match, but the item representation (content vs collaborative embeddings), quantizer, filtering and evaluation pipeline all differ, so this isn’t a matched comparison in either direction. The only safe reading is the one the authors give: within one shared frozen item space, continuous queries beat one hierarchical-k-means SID implementation.
FLASH [3]: discrete IDs without a beam
FLASH [3] is the useful contrast, because it removes beam search while keeping discrete IDs. Each item’s frozen LLM text embedding xᵢ is hashed at code position j using B = ⌈log₂ M ⌉ Gaussian hyperplanes r_j,b:
M is the codebook size (a power of two) and m is the number of positions. Separate heads predict all positions in parallel, and inference scores every item from cached per-position distributions:
The total cost is O(mMd + Nm) [3]. Here hₜ₋₁ is the final history state, E^(j) is the position-j code-embedding table, and fⱼ is head j. The product over positions is a modeling factorization, not a claim that the codes are statistically independent. FLASH also adds an alignment loss -(1)/(|S|)Σ_i ∈ Scos(zᵢ, φ(xᵢ)) that ties learned item representations back to the projected LLM embedding.
For reachability, this means the finite-beam ceiling belongs to beam decoding, not to discrete IDs as such. A SID model scored across the whole catalog can score every item just as CQG can. The paper’s title, “Beyond Semantic IDs,” therefore claims more than its experiments isolate. The paired CQG design separates autoregression from a discrete vocabulary. It does not separate a discrete vocabulary from beam search. FLASH’s own numbers (for example, Beauty R@10 of 0.0832 under protocols adapted from TIGER and RPG [3]) come from a different setup and can’t be ranked against [1].
What the evaluation does not show
Superiority over strong SID systems. There is one TIGER-style comparator, built on k-means over SASRec embeddings. Published TIGER, LETTER and EAGER appear only as context. The closer RQ-VAE reproduction is a coverage diagnostic, and the authors note that its ranking accuracy is below the reference implementation [1].
That the ranking gain comes from removing the beam. At a matched list of 100, support differs by 0.6 points, while R@10 differs by about 1.1 points. The sampled-negative control shows that full-catalog training accounts for part of the gap. The gain is real for this setup. The mechanism isn’t settled.
A compute-matched search comparison. Beam width, returned-list size and FLOPs are not traded off against each other on a single curve. List size alone moves TIGER-style support by about 9.6 points.
Scale or serving cost. ML-1M has 3,416 items, so exact scoring is trivial there. There are no latency, memory or ANN-recall-loss numbers, and no billion-item training. The O(N) softmax is evaluated only at these sizes.
Updatability and cold start. The item space is a frozen SASRec table. A brand-new item has no collaborative embedding until something produces one, so the claim that the output dimensionality doesn’t change as items are added doesn’t answer how new items are represented. Cold-item accuracy is listed as unmeasured [1].
Causal popularity effects. The quartile analysis is observational, depends on the checkpoint, and doesn’t fully replicate across datasets.
One concrete experiment
Run a 2 × 2 factorial on a shared item space, with output type crossed with search procedure:
1. Arms. (a) RQ-VAE SID with beam search; (b) the same SID checkpoint scored across the whole catalog by teacher-forcing every valid code path, so each item gets an exact sequence log-probability. At these catalog sizes, a trie-batched pass is feasible; a FLASH-style parallel SID is the cheaper variant; (c) CQG-Single with exact top-K; (d) CQG-Single with production ANN at a fixed recall target.
2. Controls. Use the same backbone width and the same item embedding source (run once with content embeddings and once with collaborative ones). Use the same training-time catalog visibility: either full softmax for every arm, or 256 sampled negatives for every arm.
3. Budget axis. Sweep returned-list size B ∈ {50, 100, 200, 500} and record p50/p99 latency and accelerator-seconds per 1,000 users at each point. Compare arms at matched latency, not only at matched B.
4. Report three numbers separately. Report TargetSupport@B (reachability), Recall/NDCG@10 conditional on the target being reachable (ranking), and catalog coverage by popularity quartile. Include paired intervals over at least five seeds.
5. Decision rule for deployment. In a shadow run, feed each arm’s top-B into the existing production ranker. Ship the continuous-query retriever only if it raises the ranker’s achievable recall at equal p99 latency. If arm (b) closes most of the gap with (c), the fix is to change the SID search procedure, not to remove the IDs.
If (a) → (b) captures most of the support gain while (b) → (c) captures most of the conditional-ranking gain, then reachability and ranking quality have been separated, which neither [1] nor [3] does on its own.