paper-with-me

Papers

Fast Partitioned Learned Bloom Filter

2023-09-21 · NeurIPS 2023 11

A Bloom filter is a memory-efficient data structure for approximate membership queries used in numerous fields of computer science. Recently, learned Bloom filters that achieve better memory efficiency using machine learning models have attracted attention. One such filter, the partitioned learned Bloom filter (PLBF), achieves excellent memory efficiency. However, PLBF requires a $\mathcal{O}(N^3k)$ time complexity to construct the data structure, where $N$ and $k$ are the hyperparameters of PLBF. One can improve memory efficiency by increasing $N$, but the construction time becomes extremely long. Thus, we propose two methods that can reduce the construction time while maintaining the memory efficiency of PLBF. First, we propose fast PLBF, which can construct the same data structure as PLBF with a smaller time complexity $\mathcal{O}(N^2k)$. Second, we propose fast PLBF++, which can construct the data structure with even smaller time complexity $\mathcal{O}(Nk\log N + Nk^2)$. Fast PLBF++ does not necessarily construct the same data structure as PLBF. Still, it is almost as memory efficient as PLBF, and it is proved that fast PLBF++ has the same data structure as PLBF when the distribution satisfies a certain constraint. Our experimental results from real-world datasets show that (i) fast PLBF and fast PLBF++ can construct the data structure up to 233 and 761 times faster than PLBF, (ii) fast PLBF can achieve the same memory efficiency as PLBF, and (iii) fast PLBF++ can achieve almost the same memory efficiency as PLBF. The codes are available at this https URL.

📄 PDF Abstract BibTeX

Code (1)

atsukisato/fastplbf 공식 구현

Methods 이 논문이 사용한 방법론

BLOOM BLOOM is a decoder-only Transformer language model that was trained on the ROOTS corpus, a dataset comprising hundreds of sources in 46 natural and 13 programming languages…

Similar Papers 제목 키워드 기반

Partitioned Learned Bloom Filters

2021-01-01 · ICLR 2021 1 · Kapil Vaidya, Eric Knorr, Michael Mitzenmacher, Tim Kraska

Bloom filters are space-efficient probabilistic data structures that are used to test whether an element is a member of a set, and may return false positives. Recently, variations referred to as learned Bloom filters we…

Partitioned Learned Bloom Filter

2020-06-05 · Kapil Vaidya, Eric Knorr, Tim Kraska, Michael Mitzenmacher

Bloom filters are space-efficient probabilistic data structures that are used to test whether an element is a member of a set, and may return false positives. Recently, variations referred to as learned Bloom filters wer…

Cascaded Learned Bloom Filter for Optimal Model-Filter Size Balance and Fast Rejection

2025-02-06 · Atsuki Sato, Yusuke Matsui

Recent studies have demonstrated that learned Bloom filters, which combine machine learning with the classical Bloom filter, can achieve superior memory efficiency. However, existing learned Bloom filters face two critic…

A Model for Learned Bloom Filters, and Optimizing by Sandwiching

2019-01-03 · Michael Mitzenmacher

Recent work has suggested enhancing Bloom filters by using a pre-filter, based on applying machine learning to determine a function that models the data set the Bloom filter is meant to represent. Here we model such lear…

BIG-bench Machine Learning

A Model for Learned Bloom Filters and Optimizing by Sandwiching

2018-12-01 · NeurIPS 2018 12 · Michael Mitzenmacher

Recent work has suggested enhancing Bloom filters by using a pre-filter, based on applying machine learning to determine a function that models the data set the Bloom filter is meant to represent. Here we model such lea…

BIG-bench Machine Learning