Intros0:00
This is a discussion that I'm particularly excited about because the field is moving so fast, and we have two people that kind of have this unique vantage point on the field. And what I want to do is kind of ask questions to see if we can learn from that.
So I want to start off with intros, talk a little bit about your role, what you're thinking about, what you're working on. Maybe Dan, if you can go first.
Hey everyone. I'm Dan. I'm the VP of Kernels at Together AI. I lead inference, GPU optimization, trying to figure out how to use GPUs most effectively to serve AI models.
Yeah. So one of the things that I wanted to dive in with Dan about is, like, your model drops. What is everything that goes on behind the scenes to serve it so that everybody here—there's a lot of builders here that can use it.
Olive, I want to throw it over to you to talk about your role and what you're focusing on.
Yeah. I'm Olive, and I am the research lead of RL at MiniMax. And I am responsible for the final training of the model and the shipping of the model. So basically everything before the inference train.
Okay. Awesome. So maybe I wanted to start off—this panel is focusing on open source. I wanted to start off with, this is your strongest model yet, MiniMax M3. Why open source it? What's the kind of idea behind that as a company as you're releasing these models?
Open Source1:13
We do believe that the open source community as a whole is very strong and powerful. While we open source the model, everyone can use it. So it aligns with our mission that we want to have intelligence with everyone, and also different developers can contribute to the model through feedbacks, through their own PRs, and we can build the models even stronger.
And also, like, for example, then you will be able to optimize on our open weight model and make it inference faster and then serve better for everyone.
Yeah. Yeah, we're big believers in open source at Together. And yeah, I think when we—we've been, you know, following you guys for a while, I think from way older MiniMax models. So seeing M3 and seeing how far it's come is really impressive and really great.
Yeah. So I wanted to kind of pick on this a little bit more. Can you explain—so we've got the model creators themselves, MiniMax, we've got experts on the inference side of things. How did this partnership come to be?
Partnership2:28
So they launch an open source model, and we're now distributing it. I checked this morning, we have the lion's share of token usage for MiniMax M3. How does this partnership come to be, and how do we serve a model like this at scale?
Yeah, yeah, great question. So at Together, I think one of the things that we're really interested in is how do you make intelligence abundant. So how do you get more tokens for more people to do more useful things and get all these capabilities into more people's hands.
So we follow all the open models very closely. I don't remember when exactly we started partnering—oh, actually, I think I do know this. We had a car event in Las Vegas sometime last year, and someone from MiniMax came, and there he was like, "Guys, you really got to serve our next model.
It's going to be really, really great." So I think from there we started talking. We were serving MiniMax 2.5 and I think 2.7 for a while. And then when leading up to the launch of M3, we were quite excited about it.
I think we were seeing the usage and what people were doing with it. It was really quite exciting. And so from there, that's really where we partner. We start working on the model, the architecture, optimizing it, figuring out, you know, what's the best way to serve inference on it, and all those great pieces.
Capabilities3:49
Yeah. I wanted to actually get into more on the model side of things. And so as the creator of a model, as somebody who's, like, post-training this thing, the model lands and all the builders that are here start using it.
From your perspective, what are the kind of unique capabilities that you love to see people use it for? And what are maybe some of the hidden gems that you haven't—you thought, "Oh, people would love to build this," but you haven't seen a little bit.
Could you shed more light on that?
Mm-hmm. So MiniMax M3, which was different from the M2 series, was that it was actually multimodal. So it not only understands text and it not only writes code, it also understands videos and images. So we did see a lot of applications on agentic multimodal agents, which is very cool.
And I would say there are a couple that we can highlight. For example, computer uses. The model is able to navigate through a computer and then do some pretty good creations with the tools that they can utilize. And also you can develop games with the model.
It's very fun that I don't—I think that's one of the hidden gems is that we actually worked on game development. So the model can help you develop real cool games. Yeah.
Yeah. One—so when the blog dropped and then the paper dropped, one of the things I noticed was that you guys highlighted SVG bench, you guys highlighted kernel bench, you also touched on OS World. Can you talk more about, like, what does it take to post-train, especially for those particular domains?
Kernel Benchmarks5:03
Mm-hmm. I would say the very important thing is the data and how we define the problems. And it could be very different from different tasks. For example, let's say the kernel one,right? It would be very important to design the environments of the data so that we can deliberately train reinforcement learning in those very complex environments and let the model optimize the kernels themselves and iteratively improve the performance.
Dan, one aspect that I wanted to talk to you about on the kernel development side of things, where are you seeing open models when it comes to kernel development? You recently released a benchmark specifically for this. So I was wondering if you could talk on that a little bit as well.
Yeah, yeah, it's a great question. So I think we're seeing all sorts of models. So the closed frontier models and the open models get increasingly better at writing kernels. So we use models all the time when we are developing kernels and writing the optimization frameworks.
I think the interesting thing that we are starting to look at is this benchmark that we recently released called parallel kernel bench. So it actually has a bunch of unsolved problems in it. So we went around, surveyed all the different ways they can serve model inference.
And one of the interesting things that we found is that there's a lot of things that we can think of that would actually speed models up that there don't exist good kernels for. So one of the reasons that we put that benchmark out was, you know, one thing that people worry about is, like, benchmarking or overfitting to particular benchmarks.
One of our intentions with this benchmark was if you overfit to it, that's great, because we'll go take those kernels and use them to accelerate the inference and the development.
Yeah, this is a really interesting point. A lot of people have problems with benchmarking, but the way I think about it is if researchers like you put all the really useful benchmarks out and we benchmark on all of them and everything is in distribution, then that's a perfect world,right?
That's a very useful model that we can then use. Okay, cool. So I wanted to touch on the inference side of things now as well. So, like, a new model drops like this. What does it take? Could you take me, like, behind the scenes at the inference stack?
Inference Stack7:29
And what does it take to go from day zero launch and then optimizing it week over week, month over month?
Yeah, yeah, great question. So when we partner with someone like MiniMax, we will get some early model details. So for M3, for example, there are things like the MiniMax sparse attention and some of those choices that were a little bit different from any model that's out there.
And I think if you look at any of the open models now, they're all quite different from each other in different ways. So there's different attention, different MOE choices, differences in quantization and all these pieces. So as soon as we get those details, we start writing kernels, benchmarking, figuring out, is there existing kernels that work for it?
Do we need to modify something? Do we need to write something from scratch? And then so day zero, we're trying to think about things like quality. So when this model launches, is it going to have the quality that we all expect?
Are we going to be able to provide theright user experience? And then from there, as soon as it launches that day zero, we have a long list of things that we know, "Hey, we have to do this with the KV cache, we have to do this with the attention kernels, we have to do, we're going to look at this part of the quantization," and things like that.
So we have that list, and then we start working on it and start optimizing over the course of weeks so that when you use these models, they actually get faster between day zero and day seven and day 14 and et cetera.
Yeah, I was just talking to Ingrid actually yesterday, and I asked her, "Have we been improving the performance of M3?" And I meant over the last month, and she said, "Oh, did you mean from last night?" And this is the pace at which these guys work.
So it's very real. One aspect that I wanted to touch on with this is we're seeing the workloads shift. We're going from kind of predominantly chat workloads where you have turns coming in now to agentic workloads where you've got this thing sitting inside a harness and you're doing hundreds and hundreds of multi-turn tool calls.
Does that change the way you build the inference stack?
Yeah, it definitely does. So these agentic turn-based workloads, they go into everything from informing your KV cache, your prompting, your pieces like that. So it informs what part of the stack you want to go optimize. Because now I think when we're in the chat world, you have a system prompt of a few thousand, and then you just have the chat logs.
Now with the coding-based agentic workflows, you upload your whole codebase to the model. And that's a very different optimization and routing and kernel challenge than just the chat-based workload. So yeah, we follow these workloads very closely. It's really interesting to see how they evolve and how to adapt the inference stack and the inference engines to really serve them well.
Not only do you have agentic workloads, but you've also got multimodal workloads in there. So what I like to do often with these coding agents is get them to optimize a web app and then get it to use it and then do a feedback loop.
So one thing that I wanted to come to you, Olive, for is MiniMax M3 is multimodal. M2.7, all the ones before that were not multimodal. And, like, can you talk a little bit about the optimizations and how you trained it for that aspect?
Multimodality10:28
And then also I want to get into the architecture of it afterwards as well.
Right. Definitely. So what's different from before was that it was trained multimodal from scratch. So from step zero, we trained not only text data, we also trained image data. And it was normal for many other labs that the model would collapse after training a little bit, and we managed to solve that problem.
And what we find was actually that with this kind of training from scratch, if you look at the attention map, it actually the text tokens would attend to the visual tokens so that they're naturally combined together, they naturally understand each other.
So for example, we are developing, for example, websites,right? It is better if we train with both modalities. Also, like, for example, it can look at the website, it can understand how it looks and then better optimize for it, like, for example, during reinforcement learning.
So yeah, I think that is pretty cool.
Inference Tuning11:43
So one thing that kind of stuck out with this model for me was the fact that it introduced a lot of new things. The multimodality, the increase of context to 1 million, the fact that you have sparse attention now.
So if you go to the inference side, it's almost a nightmare, isn't it? You get this new model and there's so many things that you could optimize to speed up inference. Practically, what are the things that you focus on?
There's like a thousand things that you could optimize, but where do you get the most bang for your buck?
I mean, you focus on a thousand or one thing, Zane. Like, you just go and you keep doing it. You find every edge that you can and you go and you push on it. So yeah, I think there's no stone that you leave unturned and you just keep going.
Got it. If someone tells me you can't do the thousand first thing, like, I don't know, try harder. Yeah. And then up a little later.
Go ahead.
No, I know.
So the other thing that I wanted to ask is there's a whole kind of zoo of open source models. As you're talking about speeding up inference, are there things that, are there lessons that you can take from one model and apply it to MiniMax M3?
Or do you have to, like, restart from scratch as you're thinking about the inference engine, the kernels? Like, how does that work?
Right. Yeah, so there's definitely things that you learn from optimizing one model that you take to another. So I think sparse attentions are something that have become quite popular now. So the MiniMax sparse attention is a little bit different from the DeepSeek and those and the ones that you find in GLM.
But there's still similar lessons that you can take from that optimization process and that kernel writing process that you can then bring to the new sparse attentions. And, you know, we've been in some form or another, I've been thinking about this problem for many years.
So going all the way back to my PhD. So it's great to see some validation that folks can now train it at scale and people are using it and it's going pretty well.
Yeah. Yeah, one of the interesting things, especially about open source, is you've got all these labs that are learning from each other, kind of taking the wins from each other,right? So if one lab figures out that MiniMax does this really well, then that becomes the golden standard.
Long Context14:03
One of the things on model launch that I, in the blog post that you guys go into, is that this model was actually able to replicate a 12-hour run where it could reproduce an iClear paper. And so somebody who's training this model to do this thing, how do you actually go about that?
Because that seems like a pretty ludicrous task.
Right. So letting the model to do cool stuff like replicating papers, optimizing kernel frameworks, and stuff like that is always exciting for us researchers because it's, like, very related to our job. But training it can be very tricky because it's very long horizon.
And, like, the task itself would require GPUs. It has hardware constraints. So it's very interesting to train tasks like that. And I would say the key there is still the environments and the data and how you formulate the problem, how you formulate the rewards, how you formulate the environment, and how you change the reinforcement learning algorithm a little bit so that it's trained more efficiently so that you can see cool things emerging through the iterations of RL runs.
Can you talk, maybe if I keep pulling on this thread a little bit, how do you do evaluation over these longer scale runs? So if you want the thing to do a 12-hour task, yes, it might or might not do it at the end, but are there, like, intermediate things that you can also look at?
Yes, we do. For these tasks, there are iterations,right? So the model can submit several times and we would evaluate each of them. Some of the times, the models would hack and we do, like, validation and test split for it to test if it's really improving on the performance or it's hacking.
And also we design our internal evaluations. So, for example, for the release of M2.7, we touched a bit on self-evolution,right? So we're actively using the model to improve the speed of development internally, which, like, out of it, we can build our own evaluations that are closely related to our own work that we can evaluate the models on.
Yeah. So when we start talking about these long horizon tasks that are 12 hours long, we gave an entire workshop on this on Monday, but what I wanted to come to you, Dan, for is KV cache. So if, let's say, you have concurrent requests that are 500 to a million thousand context length long, how do you deal with the KV cache that just keeps on growing?
And how does the inference engine deal with that?
Yeah, so there's a lot of different pieces that you put there. Like, in some sense, it's like recreating a distributed file system. So we're in some sense building something like that or a very big database. It's pretty simple in theory.
It's like the type of thing that you should have done in your third year of undergrad or something like that. But most of us actually skipped that class, so now we're rediscovering it live in industry. But it's all about where do you store that cache?
How do you know, have you seen this before? How do you fetch it? How do you send it from one place to another? So yeah, it's not that complicated, but you do have to make sure that you do a good job.
Yeah, one thing I noticed, you gave a lecture at Stanford recently, and one thing that stood out was that if you fast forward, like, two, three years, two, three years is a long time in AI, and if you look back, you said that we'll realize that how early we areright now.
So from your vantage point, we're three years out, what do you think we'll look back on and be like, why were we doing it this way?
Future Outlook17:33
Great question. Some things that I hope for. So I think we underutilize our GPUs a lotright now. You know, SpaceX said they would have, like, 10% flop utilization or something like that. I hope in three years, well, they should already be embarrassed by it, but I hope in three years they're extra embarrassed by it.
So certainly training should be pretty good. I think at inference we can do a lot better with the hardware that we're using that we have today. So I hope in a few years we'll say, we'll have seen the light on some of those pieces.
And I think there will be a lot more models. There'll be a lot better. I hope finally by then we've put to bed this question about the open models. You know, there's every few months there's someone like, "Oh, Anthropic, OpenAI, they're so ahead," yada, yada.
But I think we're seeing with models like M3 and GLM and Gemini and all those models that the open source frontier really can't catch up. And it's not even that far behind. So I think that that's quite exciting.
Yeah. I wanted to throw that same question over to you, Olive, but you mentioned that for the M2 series and the M3 series, you're using this idea of self-evolution where the model is building its own harness and then it's training inside of that.
And then you get the next checkpoint. If you look back three years out and then you say, like, what in RL or post-training do you think made the biggest difference? What do you think that is from this vantage point?
Great question. But three years ago I was still in school. I actually didn't start this industry yet. So I wouldn't have imagined what's happeningright now today. So it's really exciting. But I can see how models that were developed were already improving the speed of development maybe a year ago or even further than a year ago.
So I could see how this speed is actually accelerating, how the development is accelerating. And that's how, like, open weight models can really catch up with frontier labs. And yeah, that's how we think we are more efficient to bring this model to everyone so that everyone can use it.
Yeah.
Awesome. Thank you, guys. Thank you, Dan. Thank you, Olive. Thank you, guys, so much. Have a great day.
Very cool. Thanks so much.
Thank you.





