Video yükleniyor...
Video Yüklenemedi
When you prompt an LLM for code, you get one deterministic program. However, the LLM actually defines a distribution over many programs, and existing methods discard it‼️ PPoT uses this distribution to extract free performance and efficiency gains. 🧵👇
12,002 görüntüleme • 4 ay önce •via X (Twitter)
5 Yorum

What is probabilistic programming? 🤔 It is just like regular coding, but instead of constants, it uses random variables with probability distributions. As a result, a single probabilistic program encodes a distribution over exponentially many deterministic programs.

Normally, code generation frameworks prompt an LLM, test the output, and if the code fails, just resample from the LLM. PPoT can obtain multiple programs from just a single LLM sample by converting key tokens into random variables parameterized by the LLM's logits.

PPoT leads to significant accuracy gains in a Best-of-N setting. Extracting additional PPoT samples per autoregressive sequence drastically improves the accuracy curve with zero GPU overhead.

PPoT fundamentally alters inference scaling laws. Modeling the error rate with a power law reveals that PPoT exhibits a strictly better exponent in the number of LLM samples. The error rate drops faster, meaning the computational surplus from PPoT actually accelerates with additional test-time compute.

It was a pleasure to collaborate with @PoorvaGarg11, @renatogeh, Todd Millstein, Kyle Richardson, and @guyvdb 📰 Paper : 🖥️ Code:
