Effective Sequential Monte Carlo for Language Model Probabilistic Programs
summary
LLaMPPL implements Sequential Monte Carlo for language-model probabilistic programs, using SMC with auto-batching of LLM calls and activation caching to run hundreds of particles efficiently on GPU. Users get three tunable levers—step granularity, intermediate target (twist) functions, and proposal distributions—and can also use LMs as proposals, twists, or stop predictors. Experiments with Llama 2 on tasks like Kali, infilling, constrained generation and reversible-phrase generation report higher-quality, more diverse generations that outperform prompt-only baselines and some state-of-the-art constrained methods.
AI-written summary · about
chapters (8)
- 0:00Probabilistic programming intro
- 2:09Language model programs semantics
- 3:56Kali task with SMC example
- 5:41How SMC algorithms work
- 6:23Optimizing SMC for efficiency
- 8:29SMC algorithm design degrees
- 9:33Parameterizing SMC with LMs
- 10:18Preliminary results
related talks
12mLanguage-Model Probabilistic Programming for Improving Autoformalization via Cycle(…)
14mSequential Monte Carlo Program Synthesis with Refinement Proposals
45mLarge language models are not a paradigm shift
16mWLB-LLM: Workload-Balanced 4D Parallelism for Large Language Model Training
22mSmarter word generation in LLMs: Guiding sampling through output probability distributions
11mllama.cpp - faster and easier for everyone!
41mThe Fantastic Small Language Models (SLMs) and When to Use Them
30mLearning to wield large language models
