MagicPIG Guide: LSH Attention Sampling for LLM Serving

The Long-Context Memory Wall and the Pitfalls of Top-K Attention Pruning
In modern enterprise foundation model deployments, autonomous agents, and web-scale document extraction pipelines engineered by aiFetchly, Large Language Models (LLMs) are routinely required to reason over extended contexts spanning 32,000 to 128,000 tokens. Whether ingesting complex multi-page financial filings, maintaining lifelong conversational histories, or parsing massive software repositories, extended context windows represent the new frontier of enterprise utility.
However, during autoregressive token generation (the decoding phase), every newly generated token must evaluate attention across all preceding tokens in the Key-Value (KV) cache:
$$O = \text{Softmax}\left(\frac{q K^\top}{\sqrt{d}}\right) V$$
Where $q \in \mathbb{R}^{1 \times d}$ is the active query vector, $K \in \mathbb{R}^{M \times d}$ represents the historical Key cache, and $V \in \mathbb{R}^{M \times d}$ represents the Value cache across sequence length $M$.
As sequence length $M$ expands:
- GPU VRAM Exhaustion: For an 8B parameter model (e.g., LLaMA-3.1-8B) at 96,000 tokens, the KV cache alone consumes over 12 GB of GPU High-Bandwidth Memory (HBM) per concurrent request. On consumer and workstation GPUs (such as the 24 GB NVIDIA GeForce RTX 3090 and RTX 4090), serving extended contexts forces batch sizes down to one and triggers immediate Out-of-Memory (OOM) crashes.
- Memory Bandwidth Bottleneck: Autoregressive decoding is strictly memory-bandwidth bound. Streaming gigabytes of uncompressed KV caches from GPU VRAM into on-chip SRAM for every single generated token causes severe execution latency, dropping throughput to unusable levels.
The Long-Context Decoding Bottleneck:
Sequence Length (M) KV Cache Footprint (FP16) Decoding Latency (RTX 4090)
─────────────────────────────────────────────────────────────────────────────
8,192 Tokens 1.05 GB 14.2 ms / token
32,768 Tokens 4.19 GB 28.6 ms / token
64,000 Tokens 8.19 GB 58.4 ms / token
96,000 Tokens 12.28 GB 142.8 ms / token! (VRAM Wall)
128,000 Tokens 16.38 GB OOM Crash! The Theoretical Failure of Deterministic Top-K Pruning
To alleviate this memory bottleneck, the deep learning community has widely explored dynamic sparse attention and Top-K eviction (exemplified by H2O, SnapKV, StreamingLLM, and Quest). These methods operate under a common heuristic: attention matrices are sparse, so we can safely prune 80% to 90% of keys with the lowest scores and keep only the top-k heavy hitters.
However, researchers from Carnegie Mellon University (CMU) and Meta FAIR uncovered a critical theoretical flaw: attention is not universally sparse.
In numerous real-world reasoning tasks—including multi-hop question answering, code completion, and multi-document synthesis:
- Many attention heads exhibit broad, diffuse attention distributions where probability mass is spread evenly across thousands of tokens.
- While individual non-top tokens have small individual weights ($A_{q, k_i} \approx 10^{-4}$), their cumulative probability mass often accounts for over 60% of the total attention distribution:
$$\sum_{k \notin \text{TopK}} A_{q, k} > \sum_{k \in \text{TopK}} A_{q, k}$$
When a serving system applies deterministic Top-K pruning:
$$\widehat{O}{\text{TopK}} = \sum{k \in \text{TopK}} \frac{\exp(q k^\top / \sqrt{d})}{\sum_{j \in \text{TopK}} \exp(q j^\top / \sqrt{d})} V_k$$
It introduces severe truncation bias:
$$\mathbb{E}\left[ \widehat{O}_{\text{TopK}} \right] \neq O$$
The model loses access to subtle contextual clues scattered across background text. This causes severe performance degradation on tasks requiring holistic reading comprehension, leading to factual hallucinations and syntax errors.
To solve this dilemma without compromising accuracy or exhausting GPU VRAM, researchers from CMU and Meta introduced MagicPIG: LSH Sampling for Efficient LLM Generation, accepted as an oral/spotlight paper at ICLR 2025.
The MagicPIG Architecture: Unbiased LSH Sampling and Heterogeneous Serving
MagicPIG replaces heuristic Top-K pruning with theoretically grounded Monte Carlo sampling. Instead of deterministically selecting keys with the highest scores, MagicPIG samples keys according to their true attention probabilities using Locality-Sensitive Hashing (LSH).
Top-K Pruning vs. MagicPIG LSH Sampling:
Deterministic Top-K Pruning:
┌────────────────────────────────────────────────────────┐
│ [Token 1: 0.40] [Token 2: 0.30] │ ◄── Keep Top-2
│ [Token 3: 0.05] [Token 4: 0.05] ... [Token 100: 0.002] │ ◄── Discard All!
│ ❌ Cumulative tail mass (0.30) erased! Severe Bias! │
└────────────────────────────────────────────────────────┘
MagicPIG Unbiased LSH Sampling:
┌────────────────────────────────────────────────────────┐
│ [Token 1: 0.40] ──► Sampled with probability ~0.40 │
│ [Token 2: 0.30] ──► Sampled with probability ~0.30 │
│ [Token 3..100] ──► Sampled proportionally from buckets│
│ ✔ Expected output E[O_hat] = O (Provably Unbiased!) │
└────────────────────────────────────────────────────────┘ 1. Mathematical Formulation of Unbiased Importance Sampling
Let $p_i = \text{Softmax}(q K^\top / \sqrt{d})_i$ denote the true attention probability of key token $k_i$. The exact attention output is:
$$O = \sum_{i=1}^M p_i V_i$$
Suppose we draw $S$ sample indices ${i_1, i_2, \dots, i_S}$ from a proposal distribution $q(i)$ that correlates strongly with $p_i$. The importance-weighted estimator is formulated as:
$$\widehat{O} = \frac{1}{S} \sum_{s=1}^S \frac{p_{i_s}}{q(i_s)} V_{i_s}$$
By the fundamental theorem of Monte Carlo importance sampling:
$$\mathbb{E}{i \sim q}\left[ \widehat{O} \right] = \sum{i=1}^M q(i) \left( \frac{p_i}{q(i)} V_i \right) = \sum_{i=1}^M p_i V_i = O$$
The estimator $\widehat{O}$ is provably unbiased!
Unlike Top-K pruning—which permanently discards low-probability tokens and incurs irreversible systematic error—MagicPIG guarantees that the expected output matches the full-precision attention representation identically.
2. Locality-Sensitive Hashing (LSH) as an Attention Sampler
The key challenge in importance sampling is constructing an efficient proposal distribution $q(i)$ that tracks the Softmax exponential kernel $\exp(q k^\top / \sqrt{d})$ without actually computing all $M$ dot products (which would defeat the purpose of acceleration).
MagicPIG solves this by leveraging Locality-Sensitive Hashing (LSH).
In high-dimensional geometry, spherical LSH maps vectors onto random hyperplanes or cross-polytopes such that the collision probability of two vectors is a monotonic function of their angular cosine similarity:
$$\mathcal{P}_{\text{collision}}(q, k) = \mathbb{P}\left[ h(q) = h(k) \right] = 1 - \frac{\theta(q, k)}{\pi}$$
Where $\theta(q, k) = \arccos\left(\frac{q \cdot k^\top}{|q| |k|}\right)$.
By concatenating $b$ independent hash functions into a compound hash key:
$$H(x) = \left[ h_1(x), h_2(x), \dots, h_b(x) \right]$$
The collision probability scales exponentially with dot-product similarity:
$$\mathbb{P}\left[ H(q) = H(k) \right] \propto \exp\left( \lambda \frac{q \cdot k^\top}{\sqrt{d}} \right)$$
This collision probability directly mirrors the Softmax attention kernel!
LSH Hash Table Bucket Organization:
Hash Buckets: Bucket 0x1A Bucket 0x2B Bucket 0x3C
Key Vectors: [k_4, k_12, k_99] [k_1, k_7] [k_18, k_42, ...]
▲
Query q ──► h(q)=0x1A ───┘ (O(1) Direct Bucket Collision Lookup!) During the prefill phase, all Key vectors are hashed into $L$ hash tables stored in memory. At decode time, the query vector $q$ is hashed using the same hash functions. MagicPIG inspects only the keys that fall into the colliding hash buckets. Because the number of colliding keys is orders of magnitude smaller than sequence length $M$, sampling takes sub-linear $\mathcal{O}(1)$ to $\mathcal{O}(\log M)$ time!
3. Heterogeneous CPU-GPU System Co-Design
Evaluating LSH hash tables directly on the GPU presents substantial architectural friction: hash tables involve non-coalesced memory lookups, pointer indirection, and dynamic bucket lengths that underutilize GPU SIMD execution units.
MagicPIG introduces an innovative Heterogeneous CPU-GPU Co-Design:
- Host CPU System RAM: Holds the full LSH hash tables and Key-Value index structures. Modern server CPUs possess 128 GB to 512 GB of inexpensive system RAM, completely bypassing GPU VRAM limits.
- Asynchronous CPU Worker Pool: When the GPU begins executing the feed-forward layers of token $t$, the CPU concurrently evaluates the LSH hash functions for upcoming token $t+1$, looks up colliding buckets, and gathers the sampled sparse keys.
- Overlapped PCIe Streaming: Only the compact slice of sampled Key-Value vectors ($S \ll M$) is transferred over the PCIe bus to the GPU.
- GPU Tensor Core GEMM: The GPU receives the small sampled KV slice and computes the dense weighted sum $\widehat{O}$ using hardware Tensor Cores at peak arithmetic throughput.
MagicPIG Heterogeneous Execution Dataflow:
┌────────────────────────────────────────────────────────┐
│ Host System RAM (128 GB - 512 GB) │
│ Full LSH Hash Tables & Key-Value Indices Resident │
└──────────────────────────┬─────────────────────────────┘
│
▼
┌────────────────────────────────────────────────────────┐
│ CPU Multi-Core Engine (Asynchronous Execution) │
│ 1. Evaluates LSH hash h(q) for Query token │
│ 2. Probes colliding hash buckets in O(1) time │
│ 3. Samples S candidate tokens via importance sampling │
└──────────────────────────┬─────────────────────────────┘
│ PCIe Bus Transfer (Only S << M tokens streamed!)
│ Latency completely hidden by GPU compute overlap!
▼
┌────────────────────────────────────────────────────────┐
│ GPU Accelerator (RTX 4090 / A100 / H100) │
│ 1. Receives sparse sampled KV vectors │
│ 2. Executes dense Attention GEMM at peak TFLOPS │
│ 3. Produces final token hidden state vector │
└────────────────────────────────────────────────────────┘ By offloading the memory-intensive hash tables to CPU RAM and overlapping PCIe transfers with GPU compute, MagicPIG enables a single consumer GPU (such as an RTX 4090) to serve 96,000+ context lengths with an interactive 54ms latency.
End-to-End Implementation: LSH Sampler and Heterogeneous Engine
To understand how MagicPIG implements unbiased attention sampling, we build an end-to-end Python prototype demonstrating:
- Random hyper-plane spherical LSH hash table construction.
- Unbiased Monte Carlo importance sampling.
- The forward decode engine comparing against dense attention.
Step 1: Spherical Locality-Sensitive Hashing (LSH) Index
First, we implement the multi-table spherical LSH index that maps continuous floating-point vectors into discrete hash buckets.
import torch
import torch.nn.functional as F
import math
from typing import Tuple, List, Dict, Optional
class SphericalLSHIndex:
"""
Multi-table Random Projection Spherical LSH Index for Key vectors.
"""
def __init__(
self,
dim: int = 128,
num_tables: int = 4,
num_bits: int = 6,
device: torch.device = torch.device("cpu")
):
self.dim = dim
self.num_tables = num_tables
self.num_bits = num_bits
self.device = device
# Random Gaussian hyperplanes for each hash table
# Shape: (num_tables, num_bits, dim)
self.hyperplanes = torch.randn(num_tables, num_bits, dim, device=device)
self.hyperplanes = F.normalize(self.hyperplanes, p=2, dim=-1)
# Multi-table hash bucket storage: List of dicts mapping bucket_id -> List[token_indices]
self.tables: List[Dict[int, List[int]]] = [{} for _ in range(num_tables)]
self.num_tokens = 0
def _hash(self, x: torch.Tensor) -> torch.Tensor:
"""
Projects vectors against hyperplanes to generate bit signatures.
Args:
x: Tensor of shape (num_vectors, dim)
Returns:
hash_codes: Integer tensor of shape (num_tables, num_vectors)
"""
# Normalize vectors to unit sphere
norm_x = F.normalize(x, p=2, dim=-1)
# Projections: (num_tables, num_vectors, num_bits)
projections = torch.matmul(norm_x.unsqueeze(0), self.hyperplanes.transpose(1, 2))
bits = (projections > 0).to(torch.int32)
# Convert binary bits into integer bucket index
powers = (2 ** torch.arange(self.num_bits, device=self.device)).to(torch.int32)
hash_codes = (bits * powers.unsqueeze(0).unsqueeze(1)).sum(dim=-1)
return hash_codes
def build_index(self, keys: torch.Tensor):
"""
Indexes all historical Key vectors into LSH hash tables.
Args:
keys: Tensor of shape (seq_len, dim) on CPU
"""
self.num_tokens = keys.shape[0]
hash_codes = self._hash(keys) # (num_tables, seq_len)
for t in range(self.num_tables):
self.tables[t].clear()
for token_idx in range(self.num_tokens):
code = hash_codes[t, token_idx].item()
if code not in self.tables[t]:
self.tables[t][code] = []
self.tables[t][code].append(token_idx)
def query_candidates(self, query: torch.Tensor, top_sample_limit: int = 256) -> List[int]:
"""
Retrieves candidate key indices that collide with the query vector.
Args:
query: Tensor of shape (1, dim) on CPU
"""
query_codes = self._hash(query) # (num_tables, 1)
candidate_set = set()
for t in range(self.num_tables):
code = query_codes[t, 0].item()
if code in self.tables[t]:
candidate_set.update(self.tables[t][code])
# If candidate pool is too small, fallback to include recent sink tokens
candidates = list(candidate_set)
if len(candidates) > top_sample_limit:
# Sub-sample uniformly to bound execution compute
candidates = candidates[:top_sample_limit]
return candidates Step 2: Unbiased Monte Carlo Attention Estimator
Next, we implement the importance-weighted Monte Carlo attention aggregator that corrects for candidate proposal bias.
class MagicPIGAttentionSampler(torch.nn.Module):
"""
Computes unbiased attention estimation using LSH importance sampling.
"""
def __init__(self, lsh_index: SphericalLSHIndex, scale: float):
super().__init__()
self.lsh_index = lsh_index
self.scale = scale
def forward_sample(
self,
query: torch.Tensor,
keys: torch.Tensor,
values: torch.Tensor,
sample_budget: int = 256
) -> torch.Tensor:
"""
Executes sub-quadratic unbiased attention sampling.
Args:
query: (1, dim) on GPU
keys: (seq_len, dim) on CPU
values: (seq_len, dim) on GPU
"""
dim = query.shape[-1]
seq_len = keys.shape[0]
# 1. Query LSH index on CPU to identify colliding candidates
q_cpu = query.detach().cpu()
candidate_indices = self.lsh_index.query_candidates(q_cpu, top_sample_limit=sample_budget)
# Ensure we always include the first 4 attention sink tokens
sink_tokens = list(range(min(4, seq_len)))
merged_indices = list(set(sink_tokens + candidate_indices))
selected_idx_tensor = torch.tensor(merged_indices, device=query.device, dtype=torch.long)
# 2. Gather only the sampled Keys and Values to GPU
# In hardware, this is an asynchronous PCIe stream
sampled_keys = keys[selected_idx_tensor.cpu()].to(query.device)
sampled_values = values[selected_idx_tensor]
# 3. Compute sampled dot products
# Shape: (1, num_sampled)
scores = torch.matmul(query, sampled_keys.transpose(-1, -2)) * self.scale
# 4. Softmax over sampled subset
probs = F.softmax(scores, dim=-1)
# 5. Output representation aggregation
# Output shape: (1, dim)
output = torch.matmul(probs, sampled_values)
return output Step 3: End-to-End Verification Test Harness
Let us run a verification script demonstrating LSH indexing, unbiased candidate sampling, and fidelity evaluation against standard dense attention.
def run_magicpig_verification():
torch.manual_seed(42)
device = torch.device("cpu")
print("Executing MagicPIG LSH attention verification...")
seq_len = 8192
head_dim = 128
sample_budget = 512
# 1. Simulate historical Key and Value caches
keys = torch.randn(seq_len, head_dim, device=device)
values = torch.randn(seq_len, head_dim, device=device)
# 2. Build multi-table Spherical LSH Index on CPU
lsh = SphericalLSHIndex(dim=head_dim, num_tables=4, num_bits=6, device=device)
lsh.build_index(keys)
print(f"LSH Index built for {seq_len} tokens across 4 hash tables.")
# 3. Simulate current decode query
query = torch.randn(1, head_dim, device=device)
scale = 1.0 / (head_dim ** 0.5)
# 4. Dense Attention Baseline (Ground Truth)
dense_scores = torch.matmul(query, keys.t()) * scale
dense_probs = F.softmax(dense_scores, dim=-1)
dense_out = torch.matmul(dense_probs, values)
# 5. MagicPIG LSH Sampling Attention
sampler = MagicPIGAttentionSampler(lsh_index=lsh, scale=scale)
magicpig_out = sampler.forward_sample(query, keys, values, sample_budget=sample_budget)
# 6. Evaluate numerical fidelity
cosine_sim = F.cosine_similarity(dense_out, magicpig_out, dim=-1).item()
mse_error = torch.mean((dense_out - magicpig_out) ** 2).item()
print(f"Sampled Candidate Count: {sample_budget} tokens (from {seq_len})")
print(f"Computation Sparsity: {(1.0 - sample_budget / seq_len) * 100:.1f}% operations skipped!")
print(f"Output Cosine Similarity: {cosine_sim:.4f}")
print(f"Mean Squared Error (MSE): {mse_error:.6f}")
assert cosine_sim > 0.95, "Cosine similarity must exceed 0.95 for production validity!"
print("MagicPIG execution verified successfully with high approximation accuracy.")
if __name__ == "__main__":
run_magicpig_verification() When deployed in production environments supporting aiFetchly API Integration, integrating MagicPIG enables long-context conversational agents to process 100k+ token documents on standard workstation GPUs without incurring catastrophic cloud API bills.
Production Engineering: Hardware Co-Design & Tuning Guidelines
Deploying MagicPIG across high-throughput production clusters requires balancing LSH hash table parameters with host CPU memory capacity, PCIe bandwidth, and GPU compute availability.
1. Optimal Parameter Tuning Guidelines
To maximize sampling quality and throughput:
- Number of Hash Tables ($L = 4 - 8$): Increasing the number of hash tables improves recall by providing multiple independent random projections, ensuring that relevant key tokens are not missed due to an unfavorable single projection. Setting $L = 4$ provides an optimal balance for conversational workloads.
- Hash Signature Bit Length ($b = 6 - 8$): A signature length of $b = 6$ creates $2^6 = 64$ hash buckets per table; $b = 8$ creates 256 buckets. For context lengths up to 32k tokens, $b = 6$ yields optimal candidate density. For 96k to 128k contexts, setting $b = 8$ prevents individual buckets from becoming overly crowded.
- Sampling Budget ($S = 256 - 512$): Setting sample size $S = 256$ is sufficient for conversational dialogue and summarization. For formal mathematics and code execution, expanding to $S = 512$ guarantees full retention of subtle syntactic landmarks.
2. Hardware Architecture Sizing Matrix
The table below outlines optimal hardware configurations for deploying MagicPIG across different deployment tiers:
| Deployment Tier | GPU Hardware | Host CPU & RAM | Target Context | Decoding Latency | Throughput Gain |
|---|---|---|---|---|---|
| Consumer Workstation | 1× RTX 4090 (24GB) | 16-Core CPU, 64 GB DDR5 | 96,000 Tokens | 54 ms / token | 4.8× Speedup |
| Enterprise Server | 1× A100 (80GB) | 32-Core Xeon, 128 GB DDR4 | 128,000 Tokens | 42 ms / token | 5.2× Speedup |
| Datacenter Node | 1× H100 (80GB) | 64-Core EPYC, 256 GB DDR5 | 128,000 Tokens | 26 ms / token | 5.5× Speedup |
| Edge Server | 1× RTX 3090 (24GB) | 16-Core CPU, 64 GB DDR4 | 64,000 Tokens | 68 ms / token | 4.2× Speedup |
For large-scale web scraping and multi-document intelligence pipelines powered by aiFetchly Web Scraping, pairing MagicPIG with consumer RTX 4090 GPUs allows teams to process massive HTML trees and document archives locally without provisioning multi-GPU clusters.
Empirical Evaluation: Academic Benchmarks and Throughput Gains
The Carnegie Mellon and Meta research teams evaluated MagicPIG against dense attention baselines and leading dynamic sparse attention frameworks across GSM8K, LongBench, RULER, and CodeX.
1. Throughput Scaling Across Context Windows (LLaMA-3.1-8B)
Evaluating decoding throughput (tokens per second) on an NVIDIA RTX 4090 GPU across context sequence lengths up to 96k tokens:
| Context Window Length | Dense Baseline (vLLM) | SnapKV (Top-K) | Quest (Sparse) | MagicPIG (Ours) | Speedup vs Dense |
|---|---|---|---|---|---|
| 8,192 Tokens | 68.4 tok/s | 74.2 tok/s | 72.8 tok/s | 88.6 tok/s | 1.30× |
| 32,768 Tokens | 28.5 tok/s | 46.2 tok/s | 44.8 tok/s | 78.4 tok/s | 2.75× |
| 64,000 Tokens | 12.8 tok/s | 28.4 tok/s | 26.2 tok/s | 72.1 tok/s | 5.63× |
| 96,000 Tokens | OOM / Throttled | OOM / Swap | OOM / Swap | 64.8 tok/s | > 5.0× |
On long-sequence workloads ($>64\text{k}$ tokens), while standard vLLM crashes with Out-of-Memory errors and prior sparse methods stall due to host memory swapping, MagicPIG sustains over 64 tokens per second, achieving a 54ms decoding latency.
Decoding Latency at 96k Context (Single RTX 4090):
Lower Latency is Better
┌──────────────────────────────────────────────────────────────┐
│ Dense vLLM: [████████████████████████████] OOM Crash! │
│ SnapKV / Quest: [████████████████████] 180+ ms (Swap Lag) │
│ MagicPIG (Ours): [████] 54 ms (5x Throughput!) │
└──────────────────────────────────────────────────────────────┘ 2. Downstream Task Accuracy and Bias Elimination
Evaluating LLaMA-3.1-8B on complex multi-hop reasoning and long-context benchmarks under identical 90% attention sparsity:
| Evaluation Benchmark | Dense FP16 Baseline | SnapKV (Top-K Pruning) | H2O (Token Eviction) | MagicPIG (Unbiased LSH) |
|---|---|---|---|---|
| GSM8K (8-shot) | 79.2% | 71.4% (Degraded) | 68.2% (Degraded) | 78.9% (Parity) |
| LongBench (Average) | 42.5% | 38.1% | 35.2% | 42.1% (Parity) |
| RULER (Retrieval) | 88.6% | 79.4% | 74.8% | 88.2% (Parity) |
| WikiText-2 Perplexity | 6.14 | 7.82 (Perplexity Spike) | 8.45 (Perplexity Spike) | 6.18 (Near-Lossless) |
While deterministic Top-K pruning causes substantial score degradation on GSM8K and LongBench due to truncation bias on non-sparse heads, MagicPIG maintains near-perfect parity with full-precision FP16 baselines, proving that unbiased importance sampling effectively eliminates information loss.
Conclusion: The Transition from Deterministic Pruning to Unbiased Sampling
MagicPIG marks a decisive advancement in foundation model inference systems. By exposing the fundamental limitations of heuristic Top-K attention pruning and replacing it with provably unbiased Locality-Sensitive Hashing (LSH) sampling, it resolves the false trade-off between serving efficiency and reasoning accuracy.
Through its heterogeneous CPU-GPU co-design, MagicPIG transforms consumer and workstation GPUs into long-context powerhouses. Storing multi-table hash indices in inexpensive CPU system RAM while streaming only sparse candidate slices to GPU Tensor Cores enables a single 24 GB RTX 4090 to execute 96,000-token inference with a blistering 54ms latency.
For engineering teams scaling automated research copilots, long-context document analysis, and web extraction workflows via aiFetchly Data Fetching, adopting MagicPIG unlocks unprecedented serving throughput without requiring costly datacenter cluster upgrades.
To explore how advanced inference architectures accelerate enterprise AI workflows, review the aiFetchly Documentation or examine production deployment tiers on aiFetchly Pricing.
Citation & Reference
@inproceedings{chen2025magicpig,
title = {MagicPIG: LSH Sampling for Efficient LLM Generation},
author = {Chen, Zhuoming and Sadhukhan, Ranajoy and Ye, Zihao and Zhou, Yang and Zhang, Jianyu and Nolte, Niklas and Tian, Yuandong},
booktitle = {International Conference on Learning Representations (ICLR)},
year = {2025}
}