Loading video...

Video Failed to Load

Go Home

MIPROv2, our new state-of-the-art optimizer for LM programs, is live in DSPy Stanford NLP Group! It's even faster, cheaper, and more accurate than MIPRO. MIPROv2 proposes instructions, bootstraps demonstrations, and optimizes combinations. Let’s dive into a visual 🧵of how it works!

156,809 views • 2 years ago •via X (Twitter)

10 Comments

Michael Ryan's profile picture
Michael Ryan2 years ago

First, MIPROv2 tries to understand your task. It reads your DSPy code, analyzes your dataset, and runs your program a few times to produce example traces.  These will inform the proposal LM to write better and more grounded instructions!

Michael Ryan's profile picture
Michael Ryan2 years ago

Next, MIPROv2 generates demonstrations of your program. It runs your program several times and keeps traces whose output is scored highly.  These traces form the basis for optimizing few-shot demonstrations.  Besides what your metric requires, no labels necessary!

Michael Ryan's profile picture
Michael Ryan2 years ago

Given the instructions & demonstrations it proposed, the MIPROs build a Bayesian surrogate model to sample combinations and assign a belief over their utility. To make MIPROv2 faster & cheaper than v1, the updates happen on small *mini-batches* of your data.

Michael Ryan's profile picture
Michael Ryan2 years ago

MIPROv2 is already live in DSPy 2.4.10+! Check out this notebook, where we show how to optimize a program for ScoNe, an NLI benchmark with just over 1000 LM calls — an order of magnitude fewer than MIPROv1!

Michael Ryan's profile picture
Michael Ryan2 years ago

If you want more details, read our paper release thread or join the community at Joint work with an amazing team: @kristahopsalong @JoshPurtell @DavidKarlBroman @matei_zaharia @ChrisGPotts @lateinteraction

Omar Khattab's profile picture
Omar Khattab2 years ago

Amazing release, @michaelryan207. These are some of the best visuals I saw in a very long time!

Mike Taylor's profile picture
Mike Taylor2 years ago

@stanfordnlp Can't wait to try this

Nirant's profile picture
Nirant2 years ago

@stanfordnlp What tooling did you use to make these visuals? The edit and story is quite high quality

Michael Ryan's profile picture
Michael Ryan2 years ago

@stanfordnlp Thanks Nirant! The visuals were all produced in Keynote

Karthik Kalyanaraman's profile picture
Karthik Kalyanaraman2 years ago

@stanfordnlp Awesome work as always! Looking forward to trying this out.

Related Videos