190

Parallel Sampling via Counting

Symposium on the Theory of Computing (STOC), 2024
Main:27 Pages
Bibliography:4 Pages
Appendix:5 Pages
Abstract

We show how to use parallelization to speed up sampling from an arbitrary distribution μ\mu on a product space [q]n[q]^n, given oracle access to counting queries: PXμ[XS=σS]\mathbb{P}_{X\sim \mu}[X_S=\sigma_S] for any S[n]S\subseteq [n] and σS[q]S\sigma_S \in [q]^S. Our algorithm takes O(n2/3polylog(n,q))O({n^{2/3}\cdot \operatorname{polylog}(n,q)}) parallel time, to the best of our knowledge, the first sublinear in nn runtime for arbitrary distributions. Our results have implications for sampling in autoregressive models. Our algorithm directly works with an equivalent oracle that answers conditional marginal queries PXμ[Xi=σi    XS=σS]\mathbb{P}_{X\sim \mu}[X_i=\sigma_i\;\vert\; X_S=\sigma_S], whose role is played by a trained neural network in autoregressive models. This suggests a roughly n1/3n^{1/3}-factor speedup is possible for sampling in any-order autoregressive models. We complement our positive result by showing a lower bound of Ω~(n1/3)\widetilde{\Omega}(n^{1/3}) for the runtime of any parallel sampling algorithm making at most poly(n)\operatorname{poly}(n) queries to the counting oracle, even for q=2q=2.

View on arXiv
Comments on this paper