N-Gram Memories at Two Bits: Quantizing Lookup Tables in Large Language Models
Donghoon Han, Minseop Jung, Dong Woo Kwak, SeungJae Lee, Junhoo Lee
Dnotitia Inc. · KAIST
Published October 16, 2026 · on the feed October 20, 2026 · ▲ 8 · arXiv 2610.21810
The abstract
Conditional memory expands language-model capacity through selective lookup, but the full embedding table must remain available for every possible input. We introduce Conditional Program (CP), a compressed representation that reconstructs only the rows an input requests. CP represents each row by a short code and a local scale, with a reconstruction program shared across the table. We instantiate this representation with a Gaussian trellis, norm restoration and independently decodable row records. CP's two-bit code lowers output KL by 41--63\% relative to 2-bit round-to-nearest. Analysis across three trained n-gram memory families shows that Gaussian-like coordinate statistics coexist with learned relationships among rows; at matched storage budgets, the shared trellis outperforms the fitted codebooks and low-rank residual variants we test. For DeepSeek, it reduces table storage from 203GB to 51GB, leaving room for larger workloads when the table is kept on GPU.
The Brief
1:41A short podcast summary of the paper. Written and voiced by AI.
Transcript
N-Gram Memories at Two Bits. Quantizing Lookup Tables in Large Language Models. By Donghoon Han and four others, from Dnotitia and KAIST. Published on the sixteenth of October. No code repository is linked to it.
Conditional memory gives a language model more capacity through selective lookup: an input fetches only the rows of an embedding table that it needs. The catch is that the full table must stay available, because any possible input might ask for any row. The memory is read sparsely but has to be kept whole.
Conditional Program, or CP, is a compressed representation built so that only the rows an input requests are reconstructed. Each row is stored as a short code plus a local scale, and a single reconstruction program is shared across the entire table.
The authors instantiate this with three components: a Gaussian trellis, norm restoration, and row records that can each be decoded independently. Analysis across three trained families of n-gram memory supports the design. Their coordinate statistics look Gaussian, yet learned relationships among rows coexist with that. At matched storage budgets, the shared trellis outperforms both the fitted codebooks and the low-rank residual variants the authors tested.
At two bits, CP's code lowers output KL by between forty-one and sixty-three percent, relative to two-bit round-to-nearest. For DeepSeek, table storage falls from two hundred and three gigabytes to fifty-one gigabytes, which leaves room for larger workloads when the table is kept on the GPU.
The bet is that a lookup table does not need to be stored as a table. Keep a short recipe per row and one shared program, and the memory shrinks to roughly a quarter of its size while each row stays individually reachable on request.
More with an account
Listen to every day’s papers
Daily playlists, deep dives, quests for the papers, and quizzes on their key terms.
Join free