GenSQL: A Probabilistic Programming System for Querying Generative Models of Database Tables

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Huot, Mathieu, Ghavami, Matin, Lew, Alexander K., Schaechtle, Ulrich, Freer, Cameron E., Shelby, Zane, Rinard, Martin C., Saad, Feras A., Mansinghka, Vikash K.
Format: Preprint
Published: 2024
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866913401610960896
author Huot, Mathieu
Ghavami, Matin
Lew, Alexander K.
Schaechtle, Ulrich
Freer, Cameron E.
Shelby, Zane
Rinard, Martin C.
Saad, Feras A.
Mansinghka, Vikash K.
author_facet Huot, Mathieu
Ghavami, Matin
Lew, Alexander K.
Schaechtle, Ulrich
Freer, Cameron E.
Shelby, Zane
Rinard, Martin C.
Saad, Feras A.
Mansinghka, Vikash K.
contents This article presents GenSQL, a probabilistic programming system for querying probabilistic generative models of database tables. By augmenting SQL with only a few key primitives for querying probabilistic models, GenSQL enables complex Bayesian inference workflows to be concisely implemented. GenSQL's query planner rests on a unified programmatic interface for interacting with probabilistic models of tabular data, which makes it possible to use models written in a variety of probabilistic programming languages that are tailored to specific workflows. Probabilistic models may be automatically learned via probabilistic program synthesis, hand-designed, or a combination of both. GenSQL is formalized using a novel type system and denotational semantics, which together enable us to establish proofs that precisely characterize its soundness guarantees. We evaluate our system on two case real-world studies -- an anomaly detection in clinical trials and conditional synthetic data generation for a virtual wet lab -- and show that GenSQL more accurately captures the complexity of the data as compared to common baselines. We also show that the declarative syntax in GenSQL is more concise and less error-prone as compared to several alternatives. Finally, GenSQL delivers a 1.7-6.8x speedup compared to its closest competitor on a representative benchmark set and runs in comparable time to hand-written code, in part due to its reusable optimizations and code specialization.
format Preprint
id arxiv_https___arxiv_org_abs_2406_15652
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle GenSQL: A Probabilistic Programming System for Querying Generative Models of Database Tables
Huot, Mathieu
Ghavami, Matin
Lew, Alexander K.
Schaechtle, Ulrich
Freer, Cameron E.
Shelby, Zane
Rinard, Martin C.
Saad, Feras A.
Mansinghka, Vikash K.
Programming Languages
This article presents GenSQL, a probabilistic programming system for querying probabilistic generative models of database tables. By augmenting SQL with only a few key primitives for querying probabilistic models, GenSQL enables complex Bayesian inference workflows to be concisely implemented. GenSQL's query planner rests on a unified programmatic interface for interacting with probabilistic models of tabular data, which makes it possible to use models written in a variety of probabilistic programming languages that are tailored to specific workflows. Probabilistic models may be automatically learned via probabilistic program synthesis, hand-designed, or a combination of both. GenSQL is formalized using a novel type system and denotational semantics, which together enable us to establish proofs that precisely characterize its soundness guarantees. We evaluate our system on two case real-world studies -- an anomaly detection in clinical trials and conditional synthetic data generation for a virtual wet lab -- and show that GenSQL more accurately captures the complexity of the data as compared to common baselines. We also show that the declarative syntax in GenSQL is more concise and less error-prone as compared to several alternatives. Finally, GenSQL delivers a 1.7-6.8x speedup compared to its closest competitor on a representative benchmark set and runs in comparable time to hand-written code, in part due to its reusable optimizations and code specialization.
title GenSQL: A Probabilistic Programming System for Querying Generative Models of Database Tables
topic Programming Languages
url https://arxiv.org/abs/2406.15652