Intro0:00
Alright, hey everyone, uh, thanks for coming by over here. Hope you enjoyed the chat by part on how to measure continual learning. Now I'm here to talk about how we scale it up. So, a bit of background about me.
I, uh, went to this company called Windsurf, where I was growing the research team over there. We trained this model called SWE-1 that ended up leading to the 2 billion acquisition at DeepMind, and then I ended up giving up all the acquisition money to start Trajectory, where we're building the platform for continual learning.
So, uh,right to dive in, I think it's useful to talk a little bit about what AI progress has looked like for the past couple years. So, we've been in this mode where we've been rapidly scaling up benchmarks that have saturated within first years and then months, and that has continued on for the past couple years and will continue to grow as well.
Benchmarks1:05
The problem is it's becoming more time-consuming and more expensive. Uh, we're seeing domains where it takes 4 hours, 6 hours, 24 hours, or even several days in order to scale up benchmarks. And obviously, you guys have seen the massive amount of money that the labs are pouring into scaling up RL environments and data.
Now, the thing is, uh, we are left with a bunch of benchmarks that are getting more time-consuming, uh, more and more expensive, and perhaps more concerningly, uh, they're not tied to real-world use cases where people are using AI.
Now, the, uh, trillion, uh, token problem here is that we are actually spending hundreds of trillions of tokens every single day on inference, uh, and we're generating great amounts of data on how models in the real world are failing, how they're doing well, and that should be signal that we should be capturing and training on.
Real-world signal1:58
Uh, and this is actually how humans learn,right? We're continuously updating in the real world and getting smarter every single day. And, uh, we're seeing now the entire field talking about continual learning, from AI experts like Ilya, Karpathy, Sholto, uh, and Demis, to also many industry leaders as well.
Uh, Satya, uh, talking about how it helps companies, and, uh, there was actually a great video by Dwarkesh a couple days ago talking a lot about the intricacies of scaling up continual learning. And obviously, the goal is we started with more data training on internet skill pre-training, scaling up to benchmarks, but the real unlock moving forward will be continual learning.
So, what's the problem? Why aren't we here yet? The main thing is, uh, there's several problemsright now with our current algorithms. So, first is we have a task distribution mismatch. We're scaling up these benchmarks which might not even be tied to reality of what people are training on.
Training criteria2:51
And second, uh, oftentimes some of these methods aren't even sampling truly on policy what's happening online. Third is, uh, we have a paradigmright now where we're sending out multiple rollouts, and this requires huge amounts of infrastructure to make sure our environments are one-to-one copies of the real world, uh, and it ends up being a bias that we're adding to our training paradigm.
And then finally, third is we are shoving every single reward into one scaler in order to train on. When the real world is messy, it's noisy, and it has rich amounts of data, uh, that should be per token signal.
So, we have all of these kind of broken criteria, uh, and we're training on it. And I want to take a little bit of a step through memory lane to, to see how we've been dealing with algorithms in the past.
Past methods3:42
Um, so the first part, uh, you know, we started with SFT. These are the, the days of instruction fine-tuning, GPT-3.5, ChatGPT. And, uh, if you take a look at these four criteria, I mean, we had parallelism, uh, solved back then.
It was just one role, or one, uh, use case or example that we needed to train on. So that was a solved problem. Uh, and then the reward for SFT is per token, which is great. But we are not sampling on policy, and the task distribution is just some sort of benchmark that we've curated, or some sort of data set.
Then we moved on to the DPO, RLHF age. Uh, this is when ChatGPT really started taking off, uh, and we finally got online task distributions that we were able to train on. Uh, but sampling, it was a little bit better because we were actually sampling from a model, but it was still off policy.
But then we ended up losing some of the, uh, the key infrastructure, easy infrastructure that we had with SFT. Now we suddenly had pairs that we were training on, uh, and then the reward went back to sequence level.
Then we moved on to GRPO, which is kind of the mode that we're inright now. Uh, we basically took a Faustian bargain and wanted to max on, on policy rollouts, which is extremely powerful,right? We now have models that are capable of amazing things, uh, because they are on policy and able to grow and, and not have all of the catastrophic forgetting problems that we've had with previous methods.
But on the other hand, we're working with off-policy task distributions. Uh, our parallelism has now exploded, meaning that we need really robust environment infrastructure. And then finally, for rewards, uh, we're back to this paradigm of training on the entire sequence.
So, can we get to a world where all of these are true, where we have an online task distribution, where sampling on policy, we have one parallelism, so we don't need any of this crazy infrastructure, and then finally, uh, our reward is actually token level?
Self-distillation5:32
Well, this is what I'm excited to share and, and see how we can scale this up. So, first, le-let's just go through what our best algorithm of post-training is today. Hopefully, you guys are all familiar with how GRPO works high level.
Uh, you start off with some sort of task as an input. You do a bunch of parallel rollouts. So, we'll call these O1 through O4. And then you have some sort of end state reward. So, you classify these, let's say, as a couple numbers.
And then GRPO works on advantage, the idea that you have some sort of mean that you're calculating over. And you're trying to shift the distribution of the model to be, uh, better on the ones that you're better on, uh, and then obviously move away from the ones that were worse than the mean.
So, this is how GRPO works. Now, let's take a look at a new continual learning algorithm called self distillation, or, uh, self distillation policy optimization. Uh, or, uh, sorry, first we'll, we'll talk through why GRPO actually is, uh, still not enough.
So, uh, the first part is, uh, if you remember the tasks, so these benchmarks are obviously very different. Uh, it requires a bunch of parallelism. And then it's almost like you're jinking through a straw in order to get the reward.
The way to think about it is imagine you were trying to write an essay and your teacher just gave you a score of 87 out of 100. Uh, you would have to run through so many different examples to get to the idea of what a good essay is, and it's very simple and efficient.
Uh, and so these are the fundamental problems with RL. Now, uh, we're, we're going to go through a new algorithm, uh, called, called on policy self distillation. So, uh, you guys are probably familiar with distillation in general. Uh, there's been obviously a lot of talk about mythos and, and blocking that from happening for a lot of open source models.
Uh, the high level here is that you start with some sort of data set. Uh, it's usually, uh, off policy or not actually tied to reality, but some sort of fixed data set. And what you have is a student model and then a smarter teacher model, so usually a bigger model.
Uh, and you're trying to basically fit the log probs of the student to the teacher. And both of these are passed in with the same data. Alright, so this is normal distillation. Now, there's a new innovation called on policy distillation.
The only thing we're doing is actually swapping out the fixed data for instead a rollout of what the student would have rolled out. Alright, so we take a, a now rollout of the student that is our trajectory, and then we're trying to fit the log probs again of a smarter teacher model to the student.
Great. Now, the problem is when we're trying to push the frontier, we don't magically have some smarter model,right? Uh, like a teacher. And so now what do we do if we're, we're already at the smartest model? Well, here's the final algorithm, uh, and this is where the self distillation part comes in.
If you basically take the, the student model and give it some sort of what we call privileged information, a hint about the world, and put that into the prompt, well, suddenly that student is a little bit smarter. And that's essentially the key idea of on policy self distillation.
You take what's called this hint, put it into the beginning of the prompt, and now you match the log probs of the student without that hint to the teacher with that hint. Uh, and this is an extremely powerful algorithm.
To visualize it a little bit more, uh, let's say you have this student prompt,right? Uh, find the derivative of this function. What a hint would be is if you had some sort of environment information or, or some sort of guidance on how you should actually solve the problem.
The simplest form of this is, is literally just a example of a golden solution. You put that into the teacher prompt and then say, "Here is guidance on how you would solve the problem." And you can imagine now that solving that problem from the teacher's perspective becomes a little bit easier, and we're, we're trying to shift to those log probs had it known the answer in the first place.
Uh, and so by doing this, we've solved several key problems that existed with RL. Uh, so if you remember, uh, the task distribution, now we can suddenly take something that is truly from online without needing to have sort of benchmarks that are created.
Uh, the second part is we're still on policy sampling, which is great. Uh, but now there's no parallel rollouts. We don't need a group of eight in order to roll out, but just from a single example we're able to get information.
So that takes away the environment bottleneck and all of these other infrastructures. And then finally, the most exciting part is we're matching every single log prob of every token. So there's massively rich feedback about what this algorithm is doing.
Uh, to see it a little more in action, and this is a really exciting part of self distillation, is it's actually not just the top token that you sampled, uh, that you're actually making better, but instead the entire vocabulary.
So for every single token, there's a vocabulary of, let's say, 65K tokens that you're optimizing over. And let's say the model generated some sort of, uh, for loop or, uh, a range in Python. And essentially what we're doing is saying, "Hey, the teacher, uh, for some of these areas where it's blue, it wasn't the top sample token of the student, but instead we're pushing that distribution to sample a brand new token."
And this is really exciting because we're not just taking now a distribution like RL and slightly sharpening it, but we're instead actually shifting entire distributions. So this is a really exciting part of, uh, OPSD. Now, we might be saying, uh, you know, OPSD is, is awesome and, and we've solved this problem.
So, I mean, for a short horizon task, it works incredibly well. If you take a look at live code bench, uh, actually we found that GRPO saturates a-around sonnet level performance and, and doesn't really push the frontier. But because we're actually shifting distributions, we're able to get to brand new territory, uh, of results with a lot of data sets.
And then the really cool part is, um, with RL, a fundamental limitation, and, and if you guys have ever trained RL models, is the models like to think a lot,right? The more tokens that you expend, it's, it's just going to do better.
But with OPSD, you don't have that problem. And so the actual tokens to solve some of these really difficult challenges actually collapses, which is really exciting for token efficiency. And, uh, for some of these short horizon tasks, you can actually plug and play OPSDright now with several open source projects.
So, uh, OpenClaw is a really good example of this, OpenClaw RL. Uh, and you can actually use it to do simple chatbots, learn from your behaviors with unstructured data, uh, which is super, super awesome. Alright, so we might be thinking, "Okay, continual learning is solved.
We can all go home and, and be super happy." Uh, the thing is, this works really well for small models, short horizon tasks like something like a chatbot. Uh, but this is where academic papers kind of end, uh, and where you really need to scale things up to start to see the limitations.
Scaling walls12:15
Uh, so at Trajectory, we've been scaling up this algorithm, uh, to 120Bs to 500Bs to 1 trillion parameter models. And as soon as you get to the 120B range with not just one or two tool calls, but 50 or 100, well, things start to break apart a little bit.
So, uh, first of all, uh, eval accuracy is all over the place,right? The range is going really high. Uh, run to run variance is extremely high. And then also we start to see a lot of tool call errors.
Uh, the model is not behaving accordingly to the format that it was trained on in the first place with instruction fine-tuning. Alright, so what are the problems that we started to see with this algorithm as we were scaling it up?
But wait problem13:15
So, the first part is actually really funny and what I call the, uh, but wait problem. So, on shorter tasks, you're fitting to a distribution, everything's great. But when you move on to longer tasks, what you get is, is basically this student model, it's going off and doing whatever it thinks is on policy.
And then at some point, because you're so divergent in a long task, the teacher is going to try to course correct every single time it gets a chance. And so what you end up with is the teacher model just, uh, continuously trying to improve this token of wait or, uh, maybe or some of these kind of hedging words.
And there's this really interesting word on the, the, uh, bottom left that you can see, or word cloud, uh, that as steps go on with OPSD and you really scale it up, uh, you start to see some of these words like wait and then but, uh, start to appear.
And then you actually end up in this really interesting local suboptimal position where everything just turns into maybe. And on theright here, you can kind of see some visualization of this. As the task goes on, you get two different distributions that are really divergent.
And what you end up with is the model trying to be in the middle of both of those, uh, which is obviously really suboptimal. Alright, so there's a couple ways to solve this. Uh, one potential solution is to define step level divergence.
So, uh, in a tool calling trajectory, let's say you have 100 tool calls going on. Well, what we can do is start to look at the KL divergence of the student model and the teacher model as time goes on.
And now, uh, we can use this as a weighting factor. So not just like normal KL where we use that as a KL penalty, but instead we're actually multiplying the token weight, uh, of every single step based on this divergence property.
And now the cool part of this, uh, is that so on the left side, we have a normal trajectory that is like pretty in distribution and everything's fine,right? It's everything is a weight of one. On the second part, we have a trajectory that diverges pretty heavily.
And so in here, we're only going to modify W1 as the first step, uh, and, and so that we can train that, get thatright, and then move on, which is awesome. And then finally on the third part, and this is really cool by having independent weighting for every step, is we can actually have a scenario where, uh, the model might go off tracks.
We don't want to heavily weight that in. Uh, but then later on in the trajectory, it might get back on track again and, and we're fine with that and we'll mildly shift the distribution. So this is one way that we've been able to overcome this for a long horizon tool calling.
Hint leakage15:53
The second part, and, and this is actually really nefarious with, uh, OPSD. So with RL, the number one problem that people face is reward hacking, as you guys are, are all aware of. Uh, and that's a game that continuously RL researchers have had to play.
Well, there is an equivalent for OPSD as well, and that is hint leakage. The way you can think about it is we're, we're taking this hint,right? Putting it in the, the beginning of a prompt. Well, if the student had no way of knowing what that hint would be, uh, then you're going to end up with some weird scenarios and, and kind of skipping some steps along the way.
So the way this manifests, uh, is let's take this example here where you're trying to find the last three digits of, of this formula. Uh, and a normal hint might be, uh, actually giving the correct steps and then maybe a final answer and saying, "Hey, actually hint, the last three digits are all zeros."
Well, you can see on theright here that when you actually roll out the model, uh, you end up with something that says, "Oh, actually I know what the solution is. It's 0, 0, 0. So let me go back and put that into my reasoning trace and then figure out what's going on."
Well, you can imagine that this is not going to occur whatsoever in the real world. And so we've ended up in this really strange position. Uh, and so there's a lot of care that you have to put into how you design these hints and making sure there's not leakage of information.
So, uh, there's one kind of trivial solution to this that you can imagine, and this is just literally using an LLM to filter out these hints. So an example of this is, uh, you know, let's say a user can't log in.
You have some sort of problem like this, uh, and there might be some sort of information like, uh, exactly the solution,right? You'll find their SSO token that is expired. And you can have an LLM basically translate that into what is something reasonable that they should have known.
And that's the process of looking through the logs, but not actually giving it the solution that it would shortcut some of its vital reasoning. So this is one trivial, uh, solution and it works decently well. But there's some more satisfying algorithmic approaches too.
One of these is called residual guidance. The general idea is in a hint, uh, most of the time you need to actually get through the entire hint in order to get the full information. So what if you, let's say, cut it in half?
Residual guidance17:51
Then you have a partial hint. And then you basically say, "Okay, this is the partial teacher. We're able to get the log probs of a slightly smart teacher. And then we have the full teacher as well. And that's with the full hint."
Now what we can do is actually take the linear combination of both of these. And this gives us a good idea of how strong the hint is and how out of distribution it is for the original model. And what you end up with here is, so on the left you have normal OPD, uh, where you might be entirely shifting distributions and there's almost no overlap between your model and the original solution.
Uh, to this kind of cool world where, uh, let's say half the hint is actually quite close to your distribution, but the full hint is very off. And you take a linear combination, and so then you're not shifting the model into unknown territory.
So these are just some of the solutions to, uh, a lot of the challenges that we've had with scaling up OPSD. Uh, but it is a very, very powerful algorithm. And, uh, with a lot of these combinations together, we're actually able to scale this up to, uh, a 120B model on Mercore Apex agents, uh, which often requires 100 and plus or, or plus tool calls in order to achieve.
And it's a really powerful algorithm that has even surpassed RL as well.
So now we've finally arrived at a algorithm. It's not necessarily the algorithm to solve continual learning, but, uh, definitely one that is a huge step forward that keeps the on policy nature that makes RL so powerful. But then it also has, uh, finally the task distribution that is online.
Uh, it has parallelism, uh, that is singular, so we don't need all of this infrastructure. And then finally it is per token dense reward. So the, uh, the really exciting part for us and, and what we're really focused on at Trajectory is, uh, this just gives you one taste of the entire continual learning loop.
And there is a really exciting world that is about to come where software in general just gets smarter every single time it's used. And that is the most exciting unlock that's going to happen in 2026, 2027, and as we scale up.
Trajectory20:11
So a little bit about Trajectory. We are, uh, building the platform that turns every interaction into model improvement, harness improvement, uh, and the entire agentic loop just getting smarter over time. Um, and we're, we're building this platform where we take in agent traces data from production.
We're able to optimize that, uh, as a self-serve loop and then deploy that, uh, as a continually learning system. And, uh, we have a control plane that goes over all of that. Um, so very quickly, our team is super awesome.
We're from, uh, DeepMind, Meta Superintelligence, OpenAI, uh, and a lot of great product builders as well. Um, and we're, we've given early access to a lot of companies, so Harvey, Decagon, Rogo, um, and they're super excited about what we're doing.
Uh, if you're interested in any of the research that we're doing, uh, or any of the product that we're building, uh, definitely let me know, keep in touch, and, uh, happy to answer any questions.
Q&A21:13
How long does the, uh, how long does the training day? Is it continual in the sense of like very little latency so that you can run in real time, or is this something that happens?
Yeah, that's a great question. Uh, so what I would say is as a research communityright now, we're in this zone of what I call pseudo-continual learning, uh, where there's some still level of like batch updates offline, uh, and then re-uploading the model.
I, I think it's partly an infrastructure question. It's partly still an algorithmic question as well of how do you truly get when you have 10,000 rollouts going out in a product, merging those together, the infrastructure to pull all of those together.
So those are some of the problems that we are solving at Trajectory. Uh, but I wouldn't say we're anywhere close to the, the end-end solution.
How about the, how about questions, uh, about harness? Uh, have you studied the effect of using different harnesses in terms of effectiveness of the?
Totally. I, I think that's actually one of the most underexplored and most exciting questions is not only just harness improvement,right? And, and I think there's some literature out there now starting to explore that. But the really exciting part is how does the model and the harness interplay with each other as you're both updating them.
That's some of the stuff that we're now exploring with our current customers and, and really doing those things online. Uh, but it's completely underexplored territory and there's some really exciting innovations to be made there as well.
Do you always questions outside? So we can get up for the next thing.
Cool. Allright. Thanks so much, guys.





