正在加载视频...

视频加载失败

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 次观看 • 4 个月前 •via X (Twitter)

5 条评论

Daniel Israel 的头像
Daniel Israel4 个月前

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.

Daniel Israel 的头像
Daniel Israel4 个月前

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.

Daniel Israel 的头像
Daniel Israel4 个月前

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.

Daniel Israel 的头像
Daniel Israel4 个月前

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.

Daniel Israel 的头像
Daniel Israel4 个月前

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

相关视频

New short course: Evaluating AI Agents! Evals are important for driving AI system improvements, and in this course you'll learn to systematically assess and improve an AI agent’s performance. This is built in partnership with Arize AI and taught by John Gilhuly, Head of Developer Relations, and , Director of Product. I've often found evals to be a critical tool in the agent development process - they can be the difference between picking the right thing to work on vs. wasting weeks of effort. Whether you’re building a shopping assistant, coding agent, or research assistant, having a structured evaluation process helps you refine its performance systematically, rather than relying on random trial and error. This course shows you how to structure your evals to assess the performance of each component of an agent and its end-to-end performance. For each component, you select the appropriate evaluators, test examples, and performance metrics. This helps you identify areas for improvement both during development and in production. (If you're familiar with error analysis in supervised learning, think of this as adapting those ideas to agentic workflows.) In this course, you'll build an AI agent, and add observability to visualize and debug its steps. You’ll learn about code-based evals, in which you write code explicitly to test a certain step, as well as LLM-as-a-Judge evals, in which you prompt an LLM to efficiently come up with ways to evaluate more open-ended outputs. In detail, you’ll: - Understand key differences between evaluating LLM-based systems and traditional software testing. - Add observability to an agent by collecting traces of the steps taken by the agent and visualizing them - Choose the appropriate evaluator - code-based, LLM-as-a-Judge, human-annotation based - for each component. - Compute a convergence score to evaluate if your agent can respond to a query in an efficient number of steps. - Run structured experiments to improve the agent’s performance by exploring changes to the prompt, LLM model, or the agent’s logic. - Understand how to deploy these evaluation techniques to monitor the agent’s performance in production. By the end of this course, you’ll know how to trace AI agents, systematically evaluate them, and improve their performance. Please sign up here:

Andrew Ng

126,587 次观看 • 1 年前