Optimizing Evidence Retrieval for Generative Search
Listen to the summary
Uses a voice available on your device
Audio options
On this page 5 sections
Related concepts 6 concepts
Key Takeaways
- Iterative compute allocation across multiple sequential generations increases recall by 16.8 to 20.5 absolute percentage points.
- Evidence utilization in models follows a calibrated width elasticity of -0.68 (0.02), highlighting the challenge of evidence dilution.
- The Ascp scheduler outperforms seven common selection-style baselines in portfolio recall metrics.
- The approach scales robustly across model sizes up to 32B parameters, though it increases autoregressive latency and probe overhead.
Summary & Methodology Analysis
The researchers address the inefficiency of monolithic context widening by moving to an iterative orchestration approach. By deploying a causal leave-one-out probe using teacher-forced forward passes, the system quantifies document-level attribution to identify which pieces of information the model actually consumes. This feedback drives an attribution-steered submodular scheduler that selects context greedily while minimizing redundancy, effectively breaching the extraction ceiling typically seen in single-pass models.
Interactive System Flowchart
Illustrative Implementation
A short sketch of the paper's core idea, not the authors' own code.
# Illustrative sketch (not from the paper)
import torch
from torch.nn import functional as F
def causal_loo_probe(model, docs, query):
# teacher‑forced forward pass on full context
base_logits = model(query, context=docs)
attributions = []
for i, doc in enumerate(docs):
# leave‑one‑out context
loo_context = docs[:i] + docs[i+1:]
loo_logits = model(query, context=loo_context)
# attribution as KL divergence change (placeholder)
delta = F.kl_div(base_logits, loo_logits, reduction='batchmean')
attributions.append(delta.item())
return attributions
def induce_facets(docs, embedder):
# obtain sentence embeddings and extract semantic facets (placeholder)
embeddings = embedder.encode(docs) # shape [N, D]
# simple selection of first few embeddings as facet prototypes
centroids = embeddings[:3]
return centroids
def submodular_scheduler(attributions, docs, budget):
selected = []
while len(selected) < budget:
# greedy pick highest marginal gain (attribution) ignoring already selected
gains = [a for idx, a in enumerate(attributions) if idx not in selected]
idx = gains.index(max(gains))
selected.append(idx)
return [docs[i] for i in selected]
def contrastive_decode(model, query, selected_docs, apc):
# generate logits conditioned on selected context
logits = model(query, context=selected_docs)
# apply a contrastive penalty bounded by an adaptive‑plausibility constraint (APC)
penalty = torch.tensor(apc)
adjusted = logits - penalty
token = torch.argmax(F.softmax(adjusted, dim=-1), dim=-1)
return token
# ----- Example usage (placeholders) -----
model = ... # LLM instance
embedder = ... # sentence‑embedding encoder
query = "..."
docs = ["doc1", "doc2", "doc3", "doc4"]
atts = causal_loo_probe(model, docs, query)
facets = induce_facets(docs, embedder)
selected = submodular_scheduler(atts, docs, budget=2)
answer = contrastive_decode(model, query, selected, apc=0.1)// Illustrative sketch (not from the paper)
const torch = require('torch-js'); // placeholder for tensor ops
function causalLooProbe(model, docs, query) {
// teacher‑forced forward pass on full context
const baseLogits = model.forward(query, { context: docs });
const attributions = [];
docs.forEach((doc, i) => {
const looContext = docs.slice(0, i).concat(docs.slice(i + 1));
const looLogits = model.forward(query, { context: looContext });
// attribution as KL divergence change (placeholder)
const delta = torch.nn.functional.klDiv(baseLogits, looLogits, { reduction: 'batchMean' });
attributions.push(delta.item());
});
return attributions;
}
function induceFacets(docs, embedder) {
// obtain sentence embeddings and pick prototype facets (placeholder)
const embeddings = embedder.encode(docs); // shape [N, D]
const centroids = embeddings.slice(0, 3); // first three as facets
return centroids;
}
function submodularScheduler(attributions, docs, budget) {
const selected = [];
while (selected.length < budget) {
// greedy selection of highest marginal gain
const gains = attributions.filter((_, idx) => !selected.includes(idx));
const maxGain = Math.max(...gains);
const idx = attributions.indexOf(maxGain);
selected.push(idx);
}
return selected.map(i => docs[i]);
}
function contrastiveDecode(model, query, selectedDocs, apc) {
// generate logits conditioned on selected context
const logits = model.forward(query, { context: selectedDocs });
// apply contrastive penalty bounded by adaptive‑plausibility constraint
const penalty = torch.tensor(apc);
const adjusted = torch.sub(logits, penalty);
const probs = torch.nn.functional.softmax(adjusted, -1);
const token = torch.argmax(probs, -1);
return token;
}
// ----- Example usage (placeholders) -----
const model = /* LLM instance */ null;
const embedder = /* sentence encoder */ null;
const query = "...";
const docs = ["doc1", "doc2", "doc3", "doc4"];
const atts = causalLooProbe(model, docs, query);
const facets = induceFacets(docs, embedder);
const selected = submodularScheduler(atts, docs, 2);
const answer = contrastiveDecode(model, query, selected, 0.1);
Cross-Examination & FAQs
A deeper dive clarifying mechanics, constraints, and baseline evaluations.
Q1. What is the primary problem this paper addresses?
The paper tackles the limited understanding of how LLMs use context, which leads to poor evidence utilization and inefficient inference budget allocation.
Q2. Does this method work on existing models?
Yes, the researchers validated the method using Qwen2.5-7B, Llama-3.1-8B, and Mistral-7B-v0.3 in half-precision.
Q3. How much does the system improve recall?
The iterative allocation strategy delivers recall gains of 16.8 to 20.5 absolute percentage points over standard monolithic context widening.
Q4. What is calibrated width elasticity?
It is a measurement of attention decay where evidence utilization is empirically observed at -0.68 (0.02).
Q5. What are the primary operational drawbacks?
The approach incurs higher autoregressive latency and increased probe overhead compared to monolithic generation.
Q6. How does the system prevent hallucination when overriding model distribution?
It uses an adaptive-plausibility constraint (APC) to strictly bound the model output when it is steered away from its default distribution.
Q7. Which benchmarks were used to test the system?
The researchers evaluated performance on ASQA, QAMPARI, and ELI5.
Q8. How does the scheduler compare to existing methods?
The Ascp scheduler consistently outperforms seven evaluated selection-style baselines in portfolio recall.
Q9. Is there a limit to the model size this can support?
The structural supremacy of this sequential approach is verified up to the 32B parameter scale.