Owning the AI Pareto Frontier — Jeff Dean
Jeff Dean, Google's Chief AI Scientist, discusses Google's AI strategy focusing on owning the Pareto frontier through both frontier capabilities and efficiency. The conversation covers Google's approach to model distillation, hardware-software co-design with TPUs, and the evolution from specialized to unified AI models.
- Google's success comes from optimizing across the entire stack - hardware, software, and models - rather than focusing on just one component
- Distillation enables smaller models to achieve capabilities close to larger models, making AI economically viable at scale
- The future of AI will require attending to trillions of tokens through hierarchical processing systems similar to Google Search
- Energy efficiency measured in picojoules per operation is becoming the key constraint in AI system design
- Unified models that handle multiple modalities and tasks are replacing specialized domain-specific models
"To own the Pareto Frontier, you have to have like frontier capability, but also efficiency and then offer that range of models that people like to use."
"Flash powers AI mode. Oh my God."
"I think what you would really want is can I attend to the Internet while I answer my question."
"Moving data from the SRAM on the other side of the chip can be, you know, a thousand picojoules. So you better make use of that thing that you moved many, many times."
"I wrote a one page memo saying we were being stupid by fragmenting our resources."
Foreign. Welcome to the Latent Space Podcast. This is Alessio, founder of Kernel Labs, and I'm joined by Swix, editor of Late in Space. Hello.
0:00
Hello.
0:11
We're here in the studio with Jeff Dean, chief AI scientist at Google. Welcome.
0:11
Thanks for having me.
0:14
It's a bit surreal to have you in the studio. I've watched so many of your talks and obviously your career has been super legendary. So, I mean, congrats, I think the first thing must be said, congrats on owning the Pareto frontier.
0:16
Thank you. Thank you. Pareto frontiers are good and it's good to be out there.
0:30
Yeah, I mean, I think it's a combination of both. To own the Pareto Frontier, you have to have like frontier capability, but also efficiency and then offer that range of models that people like to use. And you know, some part of this was started because of your hardware work, some part of that is your model work. And you know, I'm sure there's lots of secret sauce that you guys have worked on cumulatively, but it's really impressive to see it all come together in this steadily advancing frontier.
0:34
Yeah, I mean, I think, as you say, it's not just one thing, it's like a whole bunch of things up and down the stack. And all of those really combine to help make us able to make highly capable large models as well as software techniques to get those large model capabilities into much smaller, lighter weight models that are, you know, much more cost effective and lower latency, but still, you know, quite capable for their size.
1:05
So yeah, how, how much pressure do you have on like having the lower bound of the prior frontier too? I think like the new labs are always trying to push the top performance frontier because they need to raise more money and all of that. And you guys have billions of users and I think initially when you work on the cpu, you were thinking about, you know, if everybody that used Google, we use the voice model for like three minutes a day, they were like, you need to double your CPU number. Like, what's that discussion today at Google? Like, how do you prioritize frontier versus like we actually need to deploy it if we build it?
1:31
Yeah, I mean, I think we always want to have models that are at the frontier or pushing the frontier, because I think that's where you see what capabilities now exist that didn't exist at the sort of slightly less capable last year's version or last 6 months ago version at the same time. You know, we know those are going to be really useful for a bunch of use cases, but they're going to be a bit slower and a bit more expensive than people might like for a bunch of other broader use cases. So I think what we want to do is always have kind of a highly capable, sort of affordable model that enables a whole bunch of lower latency use cases. People can use them for agentic coding much more readily and then have the high end, you know, frontier model that is really useful for, you know, deep reasoning, you know, solving really complicated math problems, those kinds of things. And it's not that one or the other is useful, they're both useful. So I think we like to do both. And also, you know, through distillation, which is a key technique for making the smaller models more capable, you know, you have to have the frontier model in order to then distill it into your, your smaller model. So it's not like an either or choice. You sort of need that in order to actually get a highly capable, more modest size model.
2:03
Yeah. And I mean, you and Jeffrey Anton came up with this solution in 2014.
3:24
Oriole Vigneoles as well.
3:28
Yeah, yeah, A long time ago. Like, yeah. I'm curious how you think about the cycle of these ideas, even like, you know, sparse models and, you know, how do you reevaluate them? How do you think about in the next generation of model, what is worth revisiting? Like a. Yeah, they're just kind of like, you know, you worked on so many ideas that end up being influential, but like in the moment they might not feel that way necessarily.
3:29
Yeah, I mean, I think distillation was originally motivated because we were seeing that we had a very large image data set at the time, you know, 300 million images that we could train on with, you know, I forget like 20,000 categories or something so much bigger than Imagenet. And we were seeing that if you create specialists for different subsets of those image categories, this one's going to be really good at mammals and this one's going to be really good at indoor room scenes or whatever, you can cluster those categories and train on an enriched stream of data. After you do pre training on a much broader set of images, you get much better performance. If you then treat that whole set of maybe 50 models you've trained as a large ensemble. But that's not a very practical thing to serve. Distillation really came about from the idea of, okay, what if we want to actually serve that and train all these independent sort of expert models and then squish it into something that actually fits in a form factor that you can actually serve. And that's not that different from what we're doing today. Often today, instead of having an ensemble of 50 models, we're having a much larger scale model that we then distill into a much smaller scale model.
3:52
Yeah. A part of me also wonders if distillation also has a story with the RL revolution. So let me maybe try to articulate what I mean by that, which is RL basically spikes models in a certain part of the distribution. And then you have to sort of. Well, you can spike models, but usually sometimes it might be lossy in other areas and it's kind of like an uneven technique, but you can probably distill it back and you can. I think that the sort of general dream is to be able to advance capabilities without regressing on anything else. And I think that whole capability merging without loss. I feel like some part of that should be a distillation process, but I can't quite articulate it. I haven't seen much papers about it.
5:09
Yeah, I mean, I tend to think of one of the key advantages of distillation is that you can have a much smaller model and you can have a very large training data set and you can get utility out of making many passes over that data set because you're now getting the logits from the much larger model in order to coax the right behavior out of the smaller model that you wouldn't otherwise get with just the hard labels. I think that's what we've observed is you can get, you know, very close to your largest model performance with distillation approaches. And that, that seems to be, you know, a nice sweet spot for a lot of people because it enables us to kind of for multiple Gemini generations. Now we've been able to make the sort of Flash version of the next generation as good or even substantially better than the previous generations Pro. And I think we're going to keep trying to do that because that seems like a good trend to follow.
6:02
Dara asks, so the original map was Flash Pro and Ultra. Are you just sitting on Ultra and distilling from that? Is that like the mother load?
7:02
I mean, we have a lot of different kinds of models. Some are internal ones that are not necessarily meant to be released or served. Some are Pro scale model. And we can distill from that as well into our Flash scale model. So I think it's an important set of capabilities to have. And also inference time scaling can also be a useful thing to improve the capabilities of a model and.
7:12
Yeah, yeah, cool.
7:35
Yeah.
7:37
And then Obviously I think the economy of Flash is what's led to the total dominance. I think the latest number is like 50 trillion tokens. I don't know. I mean obviously it's changing every day. Yeah, but you know, by market share hopefully up. No, I mean there's no. I mean just the economics wise like because Flash is so economical, like you can use it for everything. Like it's in Gmail now, it's in YouTube. Like it's, it's in everything.
7:37
We're using it more in our search products of various AI mode overviews.
8:02
Oh my God. Flash powers AI mode. Oh my God. Yeah, that's. Yeah, I didn't even think about that.
8:05
I mean I think one of the things that is quite nice about the Flash model is not only is it more affordable, it's also a lower latency. And I think latency is actually a pretty important characteristic for these models because we're going to want models to do much more complicated things that are going to involve generating many more tokens from when you ask the model to do something until it actually finishes what you ask it to do. Because you're going to ask now not just write me a for loop but write me a whole software package to do X or Y or Z. Having low latency systems that can do that seems really important in Flash is one direction, one way of doing that. Obviously our hardware platforms enable a bunch of interesting aspects of our serving stack as well like TPUs. The interconnect between chips on the TPUs is actually quite high performance and quite amenable to for example long context kind of attention operations, having sparse models with lots of experts. These kinds of things really matter a lot in terms of how do you make them servable at scale.
8:10
Yeah.
9:20
Does it feel like there's some breaking point for like the proto Flash distillation? Kind of like one generation delayed. I almost think about almost like the capability asymptote in certain tasks like the Pro model today is exaggerated, some sort of task. So next generation that same task will be saturated at the Flash price point. And I think for most of the things that people use models for at some point the Flash model in two generation will be able to do basically everything. And how do you make it economical to like keep pushing the Pro frontier when a lot of the population will be okay with the Flash model? I'm curious how you think about that.
9:20
I mean I think that's true if your distribution of what people are asking people the models to do is stationary.
9:59
Right.
10:05
But I think what Often happens is as the models become more capable, people ask them to do more. I think this happens in my own usage. I used to try our models a year ago for some sort of coding task and it was okay at some simpler things, but wouldn't work very well for more complicated things. Since then, we've improved dramatically on the more complicated coding tasks and now I'll ask it to do much more complicated things. And I think that's true not just to coding, but of, you know, now, you know, can you analyze all the, you know, renewable energy deployments in the world and give me a report on solar panel deployment or whatever? That's a very complicated, you know, more complicated task than people would have asked a year ago. And so you are going to want more capable models to push the frontier in some sense of what people ask the models to do. And that also then gives us insight into, okay, where does the, where do things break down? How can we improve the model in these particular areas in order to sort of make the next generation even better?
10:06
Yeah. Are there any benchmarks or test sets that use internally? Because it's almost like the same benchmarks get reported every time and it's like, all right, it's like 99 instead of 97. How do you have to keep pushing the team internally to. This is what we're building towards.
11:11
Yeah, I mean, I think benchmarks, particularly external ones that are publicly available have their utility, but they often kind of have a lifespan of utility where they're introduced and maybe they're quite hard for current models. I like to think of the best kinds of benchmarks are ones where the initial scores are like 10 to 20 or 30% maybe, but not higher. And then you can sort of work on improving that capability for whatever it is the benchmark is trying to assess and get it up to like 80, 90%, whatever. I think once it hits kind of 95% or something, you get very diminishing returns from really focusing on that benchmark because it's sort of. It's either the case that you've now achieved that capability or there's also the issue of leakage in public data or very related kind of data being in your training data. So we have a bunch of held out internal benchmarks that we really look at where we know that wasn't represented in the training data at all. Their capabilities that we want the model to have that it doesn't have now and then we can work on, you know, assessing, you know, how do we make the model better at these kinds of things is it we need different kind of data to train on that's more specialized for this particular kind of task. Do we need, you know, a bunch of, you know, architectural improvements or some sort of model capability improvements? You know, what would help make that better?
11:26
Is there such an example that a benchmark inspired an architectural improvement? I'm just kind of jumping on that.
12:53
Because you just, I mean, I think some of the long context capabilities of the Gemini models that came, I guess first in 1.5 really were about looking at, okay, we want to have, you.
13:01
Know, immediately everyone jumped to like completely green charts of like everyone had. I was like, how did everyone practice at the same time?
13:15
Like, right? Yeah, yeah. I mean, I think. And once you're set, I mean, as you say, that needed single needle in a haystack benchmark is really saturated for at least context lengths up to 128k or something. I think most people don't actually have, you know, much larger than 128k these days, or 256 or something. You know, we're trying to push the frontier of 1 million or 2 million context length.
13:22
I think Google's still the leader. 2 million.
13:45
Yep. Which is good because I think there are a lot of use cases where, you know, putting a thousand pages of text or putting, you know, multiple, you know, hour long videos in the context and then actually being able to make use of that is useful. But the, the single needle in a haystack benchmark is sort of saturated. So you really want more complicated, sort of multi needle or more realistic. Take all this content and produce this kind of answer from a long context that sort of better assesses what it is people really want to do with long context, which is not just, can you tell me the product number for this particular thing?
13:47
Yeah, it's retrieval. It's retrieval within machine learning. Yeah. It's interesting because I think that the more meta, lesser level I'm trying to operate at here is you have a benchmark, you're like, okay, I see the architectural thing I need to do in order to go fix that. But like, should you do it? Because sometimes, you know, that's an inductive bias basically that you're entering. And it's what Jason Wei, who used to work at Google would say, like, exactly the kind of thing, like, yeah, you're going to win short term, longer term. I don't know if that's going to scale. You might have to undo that.
14:31
I mean, I like to sort of not focus on exactly what solution one should Drive. But what capability would you want? And I think we're very convinced that long context is useful, but it's way too short today. Right. I think what you would really want is can I attend to the Internet while I answer my question. Right, but that's not going to be solved by purely scaling the existing solutions, which are quadratic. So a million tokens kind of pushes what you can do. You're not going to do that to a trillion tokens, let alone, you know, a billion tokens, let alone a trillion. But I think if you could give the illusion that you can attend to trillions of tokens, that would be amazing. You'd be find all kinds of uses for that. You would have attend to the Internet. You could attend to the pixels of YouTube and the sort of deeper representations that we can form for a single video, but across many videos. You know, on a personal Gemini level, you could attend to all of your personal state with your permission. So like your emails, your photos, your docs, your plane tickets you have. I think that would be really, really useful. And the question is, how do you get algorithmic improvements and system level improvements that get you to something where you actually can attend to trillions of tokens in some meaningful way? Yeah.
15:01
By the way, I think I did some math and if like, if you spoke all day, every day for eight hours a day, you only generate a maximum of like 100k tokens, which like very comfortably fits.
16:26
Right. But if you then say, okay, I want to be able to understand every token putting on videos.
16:38
Well, also I think the classic example is you start going beyond language into like proteins and, and whatever else is extremely information dense.
16:46
Yeah, I mean, I think one of the things about Gemini's multimodal aspects is we've always wanted it to be multimodal from the start. And so that sometimes to people means text and images and video, sort of human like and audio human like modalities. But I think it's also really useful to have Gemini know about non human modalities like LiDAR sensor data from Waymo vehicles or like robots, or various kinds of health modalities, x rays and MRIs and imaging and genomics information. And I think there's probably hundreds of modalities of data where you'd like the model to be able to at least be exposed to the fact that this is an interesting modality and has certain meaning in the world where even if you haven't trained on all the LIDAR data or MRI data, you could have, because maybe that's not you know, doesn't make sense in terms of trade offs of what you include in your main pre training data mix. At least including a little bit of it is actually quite useful because it sort of tempts the model that this is a thing.
16:55
Yeah, yeah. Do you believe, I mean since we're on this topic and something I just get to ask you all the questions I always wanted to ask, which is fantastic. Are there some king modalities, like modalities that supersede all the other modalities. So a simple example was vision can on a pixel level encode text. And Deep SEQ had this deep SEQR paper that did that. Vision has also been shown to maybe incorporate audio because you can do audio spectrograms and that's also like a vision capable thing. So maybe vision is just the king modality.
18:04
And yeah, I mean vision and motion are quite important things, right? Motion video as opposed to static images. Because I mean there's a reason evolution has evolved eyes like 23 independent ways because it's such a useful capability for sensing the world around you. Which is really what we want these models to be able to do is interpret the things we're seeing or the things we're paying attention to and then help us in using that information to do things.
18:35
Yeah, I think most, you know, I still want to shout out, I think Gemini still the only native video understanding model that's out there. So I use it for YouTube all the time.
19:05
Nice. Yeah, yeah. I mean it's actually, I think people kind of are not necessarily aware of what the Gemini models can actually do with video. Like I have an example I've used in one of my talks. It had like, it was like a YouTube highlight video of 18 memorable sports moments across the last 20 years or something. So it has like Michael Jordan hitting some jump shot at the end of the finals and you know, some soccer goals and things like that. And you can literally just give it the video and say can you please make me a table of what all these different events are, what the date is, when they happened and a short description of the event. And so you get like now an 18 row table of that information extracted from the video, which is not something most people think of as like a turn video into SQL like table.
19:15
Has there been any discussion inside of Google of like you mentioned tending to the whole Internet, right? Google, it's almost built because a human cannot tend to the whole Internet and you need some sort of ranking to find what you need. That ranking is like much different for an LLM because you can expect a person to look at Maybe the first 5, 6 links in a Google search versus for an LLM should you expect to have 20 links that are highly relevant? Like how do you internally figure out how do we build the AI mode that is maybe much broader search and span versus the more human one?
20:11
Yeah, I mean I think even pre language model based work, our ranking systems would be built to start with a giant number of web pages in our index. Many of them are not relevant. So you identify a subset of them that are relevant with very lightweight kinds of methods. You're down to 30,000 documents or something. And then you gradually refine that to apply more and more sophisticated algorithms and more and more sophisticated sort of signals of various kinds in order to get down to ultimately what you show, which is the final 10 results or 10 results plus other kinds of information. And I think an LLM based system is not going to be that dissimilar. Right. You're going to attend to trillions of tokens but you're going to want to identify what are the 30,000 ish documents with the, you know, maybe 30 million interesting tokens. And then how do you go from that into what are the 117 documents I really should be paying attention to in order to carry out the tasks that the user has asked me to do. And I think, you know, you can imagine, you can imagine systems where you have, you know, a lot of highly parallel processing to identify those initial 30,000 candidates maybe with very lightweight kinds of models.
20:47
Models.
22:10
Then you have some system that sort of helps you narrow down from 30,000 to the 117 with maybe a little bit more sophisticated model or set of models. And then maybe the final model is the thing that looks at 117 things that might be your most capable model. So I think it has to, it's going to be some system like that that really enables you to give the illusion of attending to trillions of tokens. Sort of the way Google search gives you not the illusion, but you are searching the Internet but you're finding a very small subset of things that are relevant.
22:11
Yeah, I often tell a lot of people that are not steeped in Google search history that well, Bert was used basically immediately inside of Google search and that improves results a lot. I don't have any numbers of the off the top of my head but like I'm sure you guys, that's obviously the most important numbers to Google.
22:47
Yeah, I mean I think going to an LLM based representation of text and words and so on, enables you to get out of the explicit hard notion of particular words having to be on the page. But really getting at the notion of this topic, of this page or this paragraph is highly relevant to this query.
23:07
Yeah, I don't think people understand how much LLMs have taken over all these very high traffic systems. Very high traffic. It's Google, it's YouTube. YouTube has this semantics ID thing where it was like every token or every item in the vocab is a YouTube video or something that predicts the video using a codebook, which is absurd to me for YouTube size. And then most recently grok also for.
23:28
Xai, which is like, yeah, I mean, I'll call out. Even before LLMs were used extensively in search, we put a lot of emphasis on softening the notion of what the user actually entered into the query. So that if I.
23:52
Do you have a history of what's the progression?
24:07
Yeah, I mean, I actually gave a talk in, I guess, Web Search and Data mining conference in 2009, where we never actually published any papers about the origins of Google Search. But we went through sort of four limitations generations, four or five or six generations of redesigning of the search and retrieval system from about 1999 through 2004 or 5. And that talk is really about that evolution. And one of the things that really happened in 2001 was we were sort of working to scale the system in multiple dimensions. So one is we wanted to make our index bigger so we could retrieve from a larger index, which always helps your quality in general, because if you don't have the page in your index, you're going to not do well. And then we also needed to scale our capacity because our traffic was growing quite extensively. And so we had a sharded system where you have more and more shards. As the index grows, you have like 30 shards. And then if you want to double the index size, you make 60 shards so that you can bound the latency by which you respond for any particular user query. And then as traffic grows, you add more and more replicas to each of those. And so we eventually did the math that realized that in a data center where we had, say, 60 shards and 20 copies of each shard, we now had 1200 machines with disks. And we did the math and we're like, hey, one copy of that index would actually fit in memory across 1200 machines. In 2001, we put our entire index in memory. And what that enabled, from a quality perspective was amazing, because before, you had to be really careful about how many different terms you looked at for a query, because every one of them would involve a disk seq on every one of the 60 shards. As you make your index bigger, that becomes even more inefficient. But once you have the whole index in memory, it's totally fine to have 50 terms you throw into the query from the user's original three or four word query, because now you can add synonyms like restaurant and restaurants and cafe and bistro and all these things, and you can suddenly start sort of really getting at the meaning of the word as opposed to the exact semantic form the user typed in. And that was, you know, 2001, very much pre LLM, but really it was about softening the strict definition of what the user typed in order to get at the meaning.
24:09
What are like principles that you use to like, design the systems? Especially when you have, I mean, in 2001 the Internet is like doubling, tripling every year in size. It's not like, you know, and I think today you kind of see that with LLMs too, where like every year the jumps in and size and capabilities are just so big. Are there just any principles that you use to think about this?
26:47
Yeah, I mean, I think first, whenever you're designing a system, you want to understand what are the sort of design parameters that are going to be most important in designing that. So how many queries per second do you need to handle? How big is the index you need to handle? How much data do you need to keep for every document in the index? How are you going to look at it when you retrieve things? What happens if traffic were to double or triple? Will that system work? Well, I think a good design principle is you want to design a system so that the most important characteristics could scale by factors of 5 or 10, but probably not beyond that, because often what happens is if you design a system for X and something suddenly becomes 100x, that would enable a very different point in the design space that would not make sense at X. But all of a sudden 100x makes total sense. So like going from a disk spaced index to a in memory index makes a lot of sense once you have enough traffic, because now you have enough replicas of the sort of state on disk that those machines now actually can hold, you know, a full copy of the memory index and memory, and that all of a sudden enables a completely different design that wouldn't have been practical before. So I'm a big fan of thinking through designs in your head, just kind of playing with the design space. A Little before you actually do a lot of writing of code. But as you said, in the early days of Google, we were growing the index quite extensively. We were growing the update rate of the index. So the update rate actually is the parameter that changed the most, surprisingly. So it used to be once a month. And then we went to a system that could update any particular page in like sub one minute.
27:07
Okay, yeah, because this is a competitive.
29:02
Advantage because all of a sudden news related queries, you know, if you're, if you've got last month's news index, it's not actually that useful for news.
29:04
A special beat. Was there any like you could have split it onto a separate system?
29:11
Well, we did. We launched a Google News product. But you also want news related queries that people type into the main index to also be sort of updated.
29:15
Yeah, it's interesting. And then you have to like classify whether the page is. You have to decide which pages should be updated at what rate.
29:23
Oh yeah, there's a whole like system behind the scenes that's trying to decide update rates and importance of the pages. So even if the update rate seems low, you might still want to recrawl important pages quite often because the likelihood they change might be low, but the value of having them updated is high.
29:30
Yeah, yeah, yeah. Well, you know, this mention of latency and saving things that. This reminds me of one of your classics which I have to bring up, which is latency numbers. Every programmer should know. Was it just a general story behind that digital.
29:50
I mean this has like sort of eight or ten different kinds of metrics that are like, how long does a cache miss take? How long does branch miss predict take? How long does a reference domain memory take? How long does it take?
30:06
That's fantastic. Yeah.
30:16
How long does it take to send, you know, a packet from the US to the Netherlands or something?
30:17
Why Netherlands by the way? Or is that because of Chrome?
30:22
We had a data center in there. So I mean, I think this gets to the point of being able to do the back of the envelope calculation. So these are sort of the raw ingredients of those and you can use them to say, okay, well if I need to design a system to do image search and thumbnailing or something of the result page, you know, how would I do that? I could pre compute the image thumbnails, I could like try to thumbnail them on the fly from the larger images. What would that do? How much disk bandwidth that I need? How many disseqs would I do? And you can sort of actually do thought experiments in 30 seconds or a minute with the sort of basic numbers at your fingertips. And then as you sort of build software using higher level libraries, you kind of want to develop the same intuitions for how long does it take to look up something in this particular kind of hash table I use? Or how long will it take me to sort a million numbers or something?
30:25
Yeah, the reason I bring it up actually is actually for I think like two years now, I've been trying to make numbers. Every AI programmer should know. Okay, yeah, I don't have a great one because it's not physical constants. Like you have physical constants in here. You know, it's. And, but I do think like. So a simple one would be number parameters to disk size. If you, if you need to convert that, which is a simple byte convert conversion, that's nothing interesting. I wonder if you have any. If you were to update your.
31:26
I mean, I think it's really good to think about calculations you're doing in a model either for training or inference. Often a good way to view that is how much state will you need to bring in from memory either like on chip SRAM or HBM from the accelerator, attached memory or dram, or over the network. And then how expensive is that data motion relative to the cost of say an actual multiply in the matrix multiply unit? And that cost is actually really, really low. Right. Because it's order depending on your precision. I think it's like sub picojoule, one picojoule.
31:58
Oh, okay. You measure it by energy.
32:50
Yeah, I mean it's all going to be about energy and how do you make the most energy efficient system. And then moving data from the SRAM on the other side of the chip, not even off the off chip, but on the other side of the same chip can be, you know, a thousand picojoules. Oh, and so all of a sudden this is why your accelerators require batching. Because if you move like say the parameter of a model from SRAM on the chip into the multiplier unit, that's going to cost you 1000 picojoules. So you better make use of that thing that you moved many, many times. So that's where the batch dimension comes in. Because all of a sudden if you have a batch of 250 or something, that's not so bad. But if you have a batch of one, that's really not good. Yeah, yeah, right. Because then you paid a thousand picojoules in order to do your one picojoule multiply.
32:51
I Have never heard an energy based analysis of batching.
33:46
Yeah, I mean that's why people batch. Right. Ideally you'd like to use batch size 1 because the latency would be great, but the energy cost and the compute cost inefficiency that you get is quite large.
33:50
Is there a similar trick like you did with putting everything in memory? I think obviously Nvidia has caused a lot of waves with betting very hard on SRAM with grok. I wonder if that's something that you already saw with the TPUs, right, that you had to serve at your scale. You probably saw that coming. Hardware innovations or insights were formed because of what you're seeing there.
34:04
Yeah, I mean, I think, you know, TPUs have this nice sort of regular structure of 2D or 3D meshes with a bunch of chips connected and each one of those has HBM attached. I think for serving some kinds of models, you know, you, you pay a lot higher cost and time latency bringing things in from HBM than you do bringing them in from SRAM on the chip. So if you have a small enough model, you can actually do model parallelism, spread it out over lots of chips and you actually get quite good throughput improvements and latency improvements from doing that. And so you're now sort of striping your smallish scale model over say 16 or 64 chips. Uh, but if you do that and it all fits in sram, that can be a big win. So yeah, that's not a surprise, but it is a good technique.
34:34
Yeah, but what about the TPU design? Like how much do you decide where the improvements have to go? So like this is like a good example of like, is there a way to bring the thousand pico joule down joules down to 50? Like is it worth designing a new chip to do that? The extreme is like when people say oh, you should burn the model on the asic. And that's kind of like the most extreme thing. How much of it is it worth doing in hardware when things change so quickly? Like what's the internal discussion?
35:27
Yeah, I mean we have a lot of interaction between say the TPU chip design architecture team and the sort of higher level modeling experts. Because you really want to take advantage of being able to co design. What should future TPUs look like based on where we think the sort of ML research puck is going in some sense? Because you know, as a hardware designer for ML in particular, you're trying to design a chip starting today and that design might take two years before it even lands in a data center and then it has to sort of be a reasonable lifetime of the chip to take you three, four or five years. So you're trying to predict two to six years out. What ML computations will people want to run two to six years out in a very fast changing field? And so having people with interesting ML research ideas of things we think will start to work in that timeframe or will be more important in that timeframe really enables us to then get interesting hardware features put into TPU N plus 2, where TPU N is what we have today. Oh, the cycle time is plus 2 roughly.
35:57
Wow.
37:13
Because I mean sometimes you can squeeze some changes into N plus 1, but bigger changes are going to require the chip design be earlier in its lifetime design process. So whenever we can do that, it's generally good. And sometimes you can put in speculative features that that maybe wouldn't cost you much chip area. But if it works out, it would make something ten times as fast. And if it doesn't work out, well, you burned a little bit of tiny amount of your chip area on that thing. But it's not that big a deal. Sometimes it's a very big change. And we want to be pretty sure this is going to work out. So we'll do lots of careful ML experimentation to show us this is actually the way we want to go. Yeah.
37:13
Is there a reverse of like we already committed to this chip design, so we cannot take the model architecture that way because it doesn't quite fit.
37:58
Yeah. I mean you, you definitely have things where you're going to adapt what the model architecture looks like so that they're efficient on the chips that you're going to have for both training and inference of that, of that generation of model. So I think it kind of goes both ways. Sometimes you can take advantage of lower precision things that are coming in a future generation. So you might train it at that lower precision even if the current generation doesn't quite do that.
38:07
Yeah. How low can we go in precision? Because people are saying ternary is.
38:41
Yeah. I mean I'm a big fan of very low precision because I think that gets. That saves you a tremendous amount of energy. Right. Because it's picojoules per bit that you're transferring and reducing the number of bits is a really good way to reduce that. I think people have gotten a lot of luck mileage out of having very low bit precision things, but then having scaling vectors that apply to a whole bunch of those weights. Scaling.
38:47
Okay, interesting. So low precision but scaled up weights.
39:14
Yeah.
39:18
Never considered that Interesting. While we're on this topic, I think there's a lot of this. The concept of precision at all is weird. When we are sampling at the end of this we're going to have all these chips that all do very good math and then we're just going to throw a random number generator at the start. There's a movement towards energy based models and processors. I'm just curious if you've, obviously you've thought about it, but what's your commentary?
39:20
Yeah, I mean, I think there's a bunch of interesting trends. So energy based models is one. Diffusion based models which don't sort of sequentially decode tokens is another. Speculative decoding is a way that you can get sort of an equivalent very small draft batch factor for like you predict eight tokens out and that enables you to sort of increase the effective batch size of what you're doing by a factor of 8 even. And then you maybe accept 5 or 6 of those tokens so you get 5, a 5x improvement in the amortization of moving weights into the multipliers to do the prediction for the tokens. So these are all really good techniques and I think it's really good to look at them from the lens of energy, real energy, not energy based models. And also latency and throughput. If you look at things from that lens, that sort of guides you to solutions that are going to be better from being able to serve larger models or equivalent size models more cheaply and. But lower latency.
39:50
Yeah, well, I think, I think it's appealing intellectually. Haven't seen it really hit the mainstream, but I do think that there's some poetry in the sense that we don't have to do a lot of shenanigans if we fundamentally design it into the hardware.
41:03
Yeah, yeah. I mean, I think there's also sort of the more exotic things like analog based computing substrates as opposed to digital ones. I'm, you know, I think those are super interesting because they can be potentially low power. But I think you often end up wanting to interface that with digital systems and you end up losing a lot of the power advantages in the digital to analog and analog to digital conversions. You end up doing at the sort of boundaries and periphery of that system. I still think there's a tremendous distance we can go from where we are today in terms of energy efficiency with sort of much better and specialized hardware for the models we care about.
41:22
Yeah.
42:05
Any other interesting research ideas that you've seen or maybe things that you cannot pursue at Google that You would be interested in seeing researchers take a step at. I guess you have a lot of researchers.
42:07
Yeah, we have a lot of researchers.
42:18
I guess you have a lot.
42:19
Our research portfolio is pretty broad, I would say. I mean, I think in terms of research directions, there's a whole bunch of open problems. And how do you make these models reliable and able to do much longer, more complex tasks that have lots of subtasks? How do you orchestrate maybe one model that's using other models as tools in order to build things that can accomplish, you know, much more significant pieces of work collectively than you would ask a single model to do? So that's super interesting. How do you get more verifiable? You know, how do you get RL to work for non verifiable domains? I think it's a pretty interesting open problem because I think that would broaden out the capabilities of the models. The improvements that you're seeing in both math and coding. If we could apply those to other less verifiable domains. But because we've come up with RL techniques that actually enable us to do that effectively, that would. That would really make the models improve quite a lot, I think.
42:20
I'm curious, like, when we had no one Brown on the podcast, he said they already proved you can do it with deep research. You kind of have it with AI mode in a way. It's not verifiable. I'm curious if there's any thread that you think is interesting there. Like, what is. Both are like information retrieval adjacent. So I wonder if it's like the retrieval is like the verifiable part that you can score or what are like.
43:27
Yeah, yeah.
43:53
How would you model that problem?
43:53
Yeah, I mean, I think there are ways of having other models that can evaluate the results of what a first model did. Maybe in retrieving, can you have another model that says, is this things. Are these things you retrieved relevant? Or can you rate these 2003 things you retrieved to assess which ones are the 50 most relevant or something? I think those kinds of techniques are actually quite effective. Sometimes that can even be the same model just prompted differently to be a, you know, a critic as opposed to a actual retrieval system.
43:56
Yeah, I do think, like, there is that that weird cliff where like it feels like we've done the easy stuff and then now it's. But it always feels like that every year it's like, oh, like we know, we know and the next part is super hard and nobody's figured it out and. Exactly. With this RL VR thing where like everyone's talking about, well, okay, how do we do the next stage of the non verifiable stuff? And everyone's like, I don't know, you know, I'll judge.
44:28
I mean, I feel like the nice thing about this field is there's lots and lots of smart people thinking about creative solutions to some of the, you know, problems that we all see. Because I think everyone sort of sees that the models are great at some things and they fall down around the edges of those things and are not as capable as we'd like in those areas. And then coming up with good techniques and trying those and seeing which ones actually make a difference is sort of what the whole research aspect of this field is pushing forward. And I think that's why it's super interesting. If you think back two years ago, we were struggling with GSM8K problems, right? Like, Fred has two rabbits, he gets three more rabbits. How many rabbits does he have? That's a pretty far cry from the kinds of mathematics that the models can.
44:57
And now you're doing imo.
45:44
Imo, yeah. And Erdos problems. Pure language. Yeah, yeah, pure language. So that is a really, really amazing jump in capabilities in a year and a half or something. And I think for other areas, it'd be great if we could make that kind of leap. And, you know, we don't exactly see how to do it for some, some areas, but we do see it for some other areas and we're going to work hard on making that better. Yeah, yeah.
45:45
Like YouTube thumbnail generation. That would be.
46:14
We need that. That would be AGI.
46:18
We need.
46:19
As far as content, I guess I'm not a YouTube creator, so I don't care that that much about that problem, but I guess many people do.
46:20
Yeah, it doesn't matter. People do judge books by their covers, as it turns out, just to draw a bit on the IMO gold. I'm still not over the fact that a year ago we had alpha proof and alpha geometry and all those things. And then this year we were like, screw that, we'll just chuck it into Gemini. What's your reflection? I think this question about the merger of symbolic systems and like and LLMs was a very much core belief. And then somewhere along the line people just said, nope, we'll just all do it in the LLM.
46:28
Yeah, I mean, I think it makes a lot of sense to me because, you know, humans manipulate symbols, but we probably don't have like a symbolic representation in our heads.
47:02
Right.
47:13
We have some distributed representation that Is neural net like in some way of lots of different neurons and activation patterns firing when we see certain things and that enables us to reason and plan and you know, do chains of thought and, you know, roll them back. Now that that approach for solving the problem doesn't seem like it's going to work. I'm going to try this one. And you know, in a lot of ways we're emulating what we intuitively think is happening inside real brains in neural net based models. So it never made sense to me to have completely separate discrete symbolic things and then a completely different way of thinking about those things.
47:14
Interesting. Yeah. I mean, maybe it seems obvious to you, but it wasn't obvious to me a year ago.
47:59
Yeah, I mean, I do think like that imo, with translating to lean and using lean and then the next year and also a specialized geometry model and then this year switching to a single unified model that is roughly the production model with a little bit more inference budget is actually quite good because it shows you that the capabilities of that general model have improved dramatically and now you don't need these specialized models. This is actually very similar to the 2013-16 era of machine learning. It used to be people would train separate models for lots of different, each different problem. Right. I have, I want to recognize street signs and something. So I train a street sign recognition model or I want to decode speech recognition. I have a speech model. Right. I think now the era of unified models that do everything is really upon us. And the question is how well do those models generalize to new things they've never been asked to do? And they're getting better and better.
48:06
You don't need domain experts. So I interviewed Itay, who was on that team and he was like, yeah, I don't know how they work. I don't know where the IMO competition was held. I don't know the rules of it. I just trained the models. I'm good at training models. And it's kind of interesting that people with this universal skill set of just machine learning, you just give them data and give them enough compute and they can kind of tackle any task, which is.
49:11
Right.
49:36
The bitter lesson, I guess. I don't know.
49:37
Yeah, yeah. I mean, I think general models will win out over specialized ones in most cases.
49:38
So I want to push there a bit. I think there's one hole here which is like, there's this concept of like maybe capacity of a model. Like abstractly, a model can only contain the number of bits that it has. And so God knows Like Gemini Pro is like 1 to 10 trillion parameters we don't know. But the GEMMA models, for example, right. Like a lot of people want, like the open source local models that are like that and they have some knowledge which is not necessary.
49:46
Right.
50:17
Like they can't know everything. Like, like you have the luxury of you have the big model and big model should be able to capable of everything. But like when, when you're distilling and you're going down to the small models, you know, you're actually memorizing, memorizing things that are not useful. And so how do we, I guess, do we want to extract that? Can we divorce knowledge from reasoning?
50:17
Yeah, I mean, I think you do want the model to be most effective at reasoning if it can retrieve things. Right. Because having the model devote precious parameter space to remembering obscure facts that could be looked up is actually not the best use of that parameter space. Right. Like you might prefer something that is more generally useful in more settings than this obscure fact that it has. So I think that's always a tension. At the same time, you also don't want your model to be kind of completely detached from, you know, knowing stuff about the world. Right. Like it's probably useful to know how long the Golden Gate Bridge is just as a general sense of like how long are bridges. Right. And it should have that kind of knowledge. It maybe doesn't need to know how long some teeny little bridge in some other more obscure part of the world is, but it does help it to have a fair bit of world knowledge. And the bigger your model is, the more you can have. But I do think combining retrieval with sort of reasoning and making the model really good at doing multiple stages of retrieval and reasoning through the intermediate retrieval results is going to be a pretty effective way of making the model seem much more capable. Because if you think about say a personal Gemini. Yeah, right. Like we're not going to train Gemini on my email. Probably we'd rather have a single model that we can then use and use being able to retrieve from my email as a tool and have the model reason about it and retrieve from my photos or whatever and then make use of that and have multiple stages of interaction.
50:39
Do you think the vertical models are interesting pursuit? Like when people are like, oh, we're building the best healthcare LLM, we're building the best law LLM. Are those kind of like short term stopgaps or.
52:24
No, I mean, I think vertical models are interesting. Like you want them to start from a pretty good base model, but then you can sort of, I sort of view them as enriching the data distribution for that particular vertical domain. For healthcare, say we're probably not going to train. Or for say robotics, we're probably not going to train Gemini on all possible robotics data you could train it on because we want it to have a balanced set of capabilities. So we'll expose it to some robotics data. But if you're trying to build a really, really good robotics model, you're going to want to start with that and then train it on more robotics data. And then maybe that would hurt its multilingual translation capability, but improve its robotics capabilities. And we're always making these kind of trade offs in the data mix that we train the base Gemini models on. We'd love to include data from 200 more languages and as much data as we have for those languages.
52:37
Yeah.
53:38
But that's going to displace some other capabilities of the model. It won't be as good at Perl programming, it'll still be good at Python programming because we'll include enough of that. But there's other long tail computer languages or coding capabilities that it may suffer on, or multimodal reasoning capabilities may suffer because we didn't get to expose it to as much data there. But it's really good at multilingual things. So I think some combination of specialized models, maybe more modular models. So it'd be nice to have the capability to have those 200 languages, plus this awesome robotics model, plus this awesome healthcare module that all can be knitted together to work in concert and called upon in different circumstances. If I have a health related thing, then it should enable using this health module in conjunction with the main base model to be even better at those kinds of things. Yeah.
53:39
Installable knowledge just download as a package.
54:36
And some of that installable stuff can come from retrieval, but some of it probably should come from preloaded training on 100 billion tokens or a trillion tokens of health data.
54:39
Yeah.
54:50
And for listeners, I think I will highlight the Gemma3n paper where the was a little bit of that, I think.
54:51
Yeah, yeah.
54:56
I guess the question is like how many billions of tokens do you need to outpace the frontier model improvements? You know, it's like if I have to make this model better at healthcare and the main Gemini model is still improving, do I need 50 billion tokens? Can I do it with 100? If I need a trillion healthcare tokens, it's like they're probably not out there that you don't have. You know, I think that's really like the.
54:56
Well, I mean, I think healthcare is a particularly challenging domain. So there's a lot of healthcare data that we don't have access to appropriately. But there's a lot of healthcare organizations that want to train models on their own data that is not public health care data. Not public health, but public health care data. So I think there are opportunities there to say partner with a large healthcare organization and train models for their use that are going to be more bespoke, but probably might be better than a general model trained on say, public data.
55:22
I believe, by the way, this is somewhat related to the language conversation. I think one of your favorite examples was you can put a low resource language in the context and it just learns in context.
55:59
Oh yeah. I think the example we used was Kalamong, which is truly low resource because it's only spoken BY I think 120 people in the world and there's no written text.
56:10
So you can just do it that way just to get in the context, putting your whole data set in the context.
56:21
If you take a language like Somali or something, there is a fair bit of Somali text in the world or Ethiopia, Amharic or something. We probably are not putting all the data from those languages into the Gemini based training. We put some of it, but if you put more of it, you'll improve the capabilities of those models or of those languages.
56:27
Yeah. Cool. I have a side interest in linguistics. I did a few classes back in college and part of me, if I was a linguist and I could have access to all these models, I would just be asking really fundamental questions about language itself. One is there's one very obvious one which is Sapie Wharf, like how much does the language that you speak affect your thinking? But then also there are some languages where there's just concepts that are not represented in other languages, but many others that are just duplicates. Right. Where there's also another paper that people love called the Platonic representation where an image of a cup is. If you say learn a model on that and you have a lot of text with the word cup, it eventually maps to roughly the same place in latent space. And so that should apply to languages, except where it doesn't. And that's actually very interesting. Differences in what humanity has discovered as concepts that maybe English doesn't have. I don't know. It's just like my rant on languages.
56:53
Yeah, I did some work on an early model that fused together a language based model model where you have nice word based representations and then an image model where you have trained it on imagenet. Like things.
57:58
Yes.
58:12
And then you fuse together the top layers of lingo. No, this is devise. You do a little bit more training to fuse together those representations. And what you found was that if you give a novel image that is not in any of the categories in the image model it was trained on, the model can often assign the right label to that image. So, for example, I think telescope and binoculars were both in the training categories for the image model, but microscope was not. If you're given an image of a microscope, it actually can come up with something that's got the word microscope as label that it designs, even though it's never actually seen an image labeled that.
58:12
Oh, that's nice. Useful. Cool. I think there's more general broad questions, but I guess what do you wish you were asked more in general? You have such a broad scope. We've covered the hardware, we've covered the model's research.
59:02
Yeah, I mean, I think. I think one thing that's kind of interesting is I did a undergrad thesis on neural network training, parallel neural network training, back in 1990 when I got exposed to neural nets. And I always felt kind of they were the right abstraction, but we just needed way more compute than we had then. So, like the 32 processors in the department, Parallel Computer could get you a little bit more interesting model, but not enough to solve real problems. And so starting in 2008 or nine, the world started to have enough computing power through Moore's law and larger interesting data sets to train on to actually start training neural nets that could tackle real problems that people cared about. Speech recognition, vision, and eventually language. And so when I started working on neural nets at Google in late 2011, I really just felt like we should scale up the size of neural networks we can train using large amounts of parallel computation. I actually revived some ideas from my undergrad thesis where I'd done both model parallel and data parallel training. And I compared them. I called them something different. It was like pattern partitioned and model partitioned or something.
59:22
We'll have to. Is it public? Can we go digging?
1:00:44
Yeah, it's on the web. Okay. But I think combining a lot of those techniques and really just trying to push on, scaling things up over the last 15 years has been really important. And that means improvements in the hardware. So pushing on building specialized hardware like TPU's, it also means, you know, pushing on software abstraction layers to let people express ML ideas effectively, and then also working on things like, say, sparse models. I'VE felt for a long time that sort of sparsely activated models are a really important thing because you want the models to have a lot of capacity to our earlier discussion about remembering a lot of stuff. Yeah, but you also want to be super efficient in how you activate your models. So you like, you know, trillions of parameters, but activate only, you know, 1 1% or 5% or 10% of that. And that, you know, we did a early paper on this where we really scaled up, you know, outrageously large neural networks.
1:00:45
That was the title of the paper.
1:01:52
I think that's Gnome's. Gnome's wording in the title, which is a good catchy title.
1:01:53
I mean, in 2017 he was out there talking about 1 trillion parameter models.
1:01:57
Yes. Yeah. So I mean, that is really good because that gave you like a 10x improvement in time to quality or compute cost to a given quality level relative to non sparse models. Transformers similarly gave you a 10x to 100x improvement in compute cost to a given quality level versus say LSTMS at the time. And all of those things multiply together. So I think all those things really are important to work on. The hardware, the systems infrastructure, the algorithmic aspects of model architecture, improving the data, improving the RL recipes, all these things are what are stacking together and multiplying together to give us models of 20, 26 are much more better than models of 25 and are awesomely better than 24 and 23 and 22.
1:02:01
And a huge, honestly, organizational challenge. This is like a thousand people or maybe more. I know when the first Gemini paper came out, it was like a thousand co authors.
1:02:58
Yeah, yeah, we have 10 pages of CO authors in the tech report.
1:03:08
But it was nice. I mean people want to be acknowledged. Probably a historical story. Goalpaper.
1:03:13
Yeah, I mean, I think it's perfectly good to have actually a lot of co authors and I do think organizing that number of people so that they're effectively pushing in common directions that all their work actually sort of multiplies together in the ultimate output, which is, you know, the next generation of model is actually pretty tricky and we have awesome people throughout the Gemini team to help orchestrate this. So, you know, myself, Noam and Oriole are sort of helping steer this. And then we have people thinking about, you know, what is the pre training setup look like, what does the infrastructure look like, what is the post training recipe look like and what is the data preparation and evals and you know, multimodal capabilities and i18N capabilities. You know, there's a lot of different kinds of areas, coding capabilities. All these areas are super important and it's really good to have people paying close attention to those things and then also paying close attention to all the other things.
1:03:17
Yeah. I'm told Sergey is very actively back and very much involved in the coding stuff.
1:04:18
Yep. Yeah, yeah, yeah. We all use the same micro kitchen.
1:04:24
Yeah. Oh, okay. There's so many jumping off point. So. By the way, I found out from the recent. I mean, you've probably told this story a few times, but apparently Google Brain was also started in a micro kitchen.
1:04:28
Yeah, yeah.
1:04:38
Just like your micro kitchens are very important. I don't know if people like understand.
1:04:40
Yeah, yeah. I actually bumped into Andrew Ng, who's a Stanford faculty member and I knew him from. I'd given talks at Stanford a couple years before, so I sort of knew him and I'm like, oh, what are you doing here? He's like, oh, I'm not sure yet. I just started, you know, a couple weeks ago. I'm going to spend one day week here consulting. I'm not sure what I'm working on, but my students at Stanford are starting to get good results on using neural nets for speech recognition. I'm like, oh, neural nets. I like neural nets. I remembered back to my 1990s thesis. I'm like, oh, that sounds interesting. We should train really, really big neural nets. So that was the.
1:04:45
Which you say that, and that's a very interesting first instinct, which is that we should scale this up a lot.
1:05:22
Yeah, Well, I mean, I felt like Google has lots of computational capability and so if they were seeing good results on what were effectively single GPU or models, if we were, we actually didn't have GPUs in our data centers then. We didn't have any accelerators, we had lots of CPUs. But we could build a software system that would enable you to distribute with both model parallelism and data parallelism across lots of computers. And we ended up training a pretty big model. It was 50x bigger than any previous neural net, as far as we could tell. So it's 2 billion parameters vision model trained on 16,000 CPU cores for multiple weeks. And that's what gave us really good. It gave us a 70% relative error improvement in ImageNet 22K, which is the 22,000 category thing. And that's how we really saw, okay, scaling this up actually matters. We didn't write a sophisticated scaling analysis, but we had a saying, bigger model, more data, better results. And that was our mantra for like six or seven Years of scaling, and every time we did that, we saw better results in speech, in language, in vision.
1:05:27
Speaking of bets, and this might, you know, I'll preface with like, this might be a little bit more sensitive topic, but you have obviously a lot of opinions about this. We had a previous guest, David Luan, who used to work for you, and he kind of like blames almost the Brain Marketplace as like the reason that Google didn't invest enough in language models. And I wonder if that's something you would agree with at the time or is there like a different sort of.
1:06:49
Postmortem, the Brain Marketplace for compute quotas.
1:07:15
Compute quotas, where basically he was like, okay, like David worked at OpenAI as VP engine and then he worked at Google. He was like fundamentally OpenAI was willing to go all in, like bet the farm on one thing, whereas Google was more democratic. Like everyone had a quota. And I was like, okay, if you believe in scaling as an important thing, that's an important organizational wide decision to do.
1:07:18
Yeah, yeah, I mean, I think I would somewhat agree with that. I mean, I think I actually wrote a one page memo saying we were being stupid by fragmenting our resources. So in particular at the time we had, you know, efforts within Google Research on, and the Brain team in particular on large language models. We also had efforts on multimodal models in other parts of Brain and Google Research. And then Legacy DeepMind had efforts like chinchilla models and Flamingo models. And so really we were fragmenting not only our compute across those separate efforts, but also our best people and our best ideas. Right. And so I said, this is just stupid. Why don't we combine things and have one effort to train.
1:07:41
This is the merge. Yeah.
1:08:41
To train an awesome single unified model that is multimodal from the start. That's good at everything. And that was the origin of the Gemini effort. And my one page memo worked, which is good.
1:08:42
Did you have the name? Because also for those who don't know, you named Gemini, I did.
1:08:55
There was another name proposed and I said it's sort of like these two organizations really are like twins in some sense coming together. So I kind of like that. And then there's also the NASA interpretation of the early Gemini project being an important thing on your way to the Apollo project. So it seemed like a good name. Twins coming together, right? Yeah.
1:09:00
Nice. I know we're already running out of time, but I'm curious how you use AI today to code. So, I mean, you're probably one of the most prolific engineers in the history of computer science. I was reading through the article about you and Sanjay's friendship and how you work together, and you have one quote about you need to find someone that you're going to pair program with who's compatible with your way of thinking so that the two of you together are a complementary force. And I was thinking about how you think about coding agents in this. Like, how do you shape a coding agent to be compatible with your way of thinking? Like, how would you rate the tools today? And like, where should things go?
1:09:28
Yeah, I mean, first, I think the coding tools are getting vastly better compared to where they were a year or two ago, two years ago. So now you can actually rely on them to do more, more complex things that you as a software engineer want to accomplish. And you can sort of delegate pretty complex things to these tools. And I think one really nice aspect about the interaction between a human software engineer and a coding model that they're working with is your way of talking to that coding model actually sort of dictates how it interacts with you. You could ask it, please write a bunch of good tests for this. You could ask it, please help me brainstorm performance ideas. And your way of doing that is going to shape how the model responds, what kinds of problems it tackles, how much do you want the model to go off and do things that are larger and more independent versus interact with it more to make sure that you're shaping the right kinds of things? And I think it's not the case that any one style is the right thing for everything. Some kinds of problems you actually want maybe a more frequent interaction style with a model and other ones you're just like, yeah, please just go write this, because I know I need this thing. I can specify it well enough and go off and do it and come back when you're done. And so I do think there's going to be more of a style of having lots of independent software agents off doing things on your behalf and figuring out the right sort of human computer interaction model and UI and so on. For when should it interrupt you and say, hey, I need a little more guidance here, or, I've done this thing now, what should I do? I think we're not at the end, all answer to that question. And as the models get better, that set of decisions you put into how the interaction should happen may, may change.
1:10:06
Right?
1:12:08
Like if you, if you have a team of 50 interns, how would you manage that if they were people? And I think it's not, do you want 50 interns? You might if they're really good. Right. It's a lot of management, but it, but it's a lot of. Yeah, I mean, I think that is probably within the realm of possibilities that lots of people could have 50 interns. And so how would you actually deal with that as a person? Right. You would probably want them to form small sub teams so you don't have to interact with 50 of them. You can interact with five of those teams and they're off doing things on your behalf. But I don't know exactly how this is going to unfold.
1:12:09
Yeah.
1:12:53
How do you think about bringing people like the pair? Programming is always helpful to get net new ideas in the distribution, so to speak. It feels as we have more of these coding agents write the code, it's hard to bring other people into the problem. Say you go to like, you know, you have 50 entries, right? And then you want to go to Noam Shazir, be like, hey, no, I want to like pair on this thing. But now there's like this huge amount of work that has been done in parallel that you need to catch him up on.
1:12:54
Right.
1:13:20
And I'm curious, like, if people are going to be in a way more isolated in their teams where it's like, okay, there's so much context in these 50 interns that it's just hard for me to like relay everything back to you maybe.
1:13:20
I mean, on the other hand, like imagine a classical software organization without any AI assisted tools, right? You would have, you know, 50 people doing stuff and their interaction style is going to be naturally very hierarchical because these 50 people are going to be working on this part of the system and not interact that much with these other people over here. But if you have five people each managing 50 virtual agents, they might be able to actually have much higher bandwidth communication among the five people then you would have among five people who are also trying to coordinate, you know, a 50 person software team each.
1:13:33
So how do. I'm curious how you change your just working rhythm, you know, like, do you spend more time ahead with people going through specs and design goals?
1:14:16
Like, I mean, I do think it's interesting that, you know, whenever people were taught how to write software, they were taught that it's really important to write specifications super clearly. But no one really believed that. Like it was like, yeah, whatever, I don't need to do that. I'm gonna really, I don't know, I mean, writing the English language specification was never kind of an artifact that was really paid a lot of attention to. I Mean it was important, but it wasn't sort of the thing that drove the actual creative process quite as much as if you specify what software you want the agent to write for you, you'd better be pretty darn careful of in how you specify that because that's going to dictate the quality of the output. Right. Like if you don't cover that it needs to handle this kind of thing or that this is a super important corner case or that you really care about the performance of this part of may not do what you want. And the better you get at interacting with these models. And I think one of the ways people will get better is they will get really good at crisply specifying things rather than leaving things to ambiguity. And that is actually probably not a bad thing. It's not a bad skill to have. Regardless of whether you're a software engineer or trying to do some other kind of task, being able to crisply specify what it is you want is going to be really important.
1:14:25
Yeah, my joke is good. Prompting is indistinguishable from sufficiently advanced executive communication. Like it's like writing an internal memo. Like yeah, yeah, weigh your words very carefully. And also I think very important to be multimodal. Right. I think one thing that anti gravity from Google also did was like just come out the gate. Very, very strong multimodal, including videos. And that's the highest bandwidth communication prompt that you can give the model, which is fantastic.
1:15:52
Yeah.
1:16:19
How do you collect things that you often you will have in your mind. So you have this amazing like performance hints thing that you've wrote about how to look for performance improvements. And is there a lot more value in like people writing these like generic things down so that they can then put them back as like potential retrieval artifacts for the model? Like. Or do I have like the edge cases is like a good example. Right. It's like if you're building systems you already have in your mind specific edge cases depending on it, but now you have to like every time repeat it. Like are you having people spend a lot more time writing out more generic things to bring back or I mean.
1:16:20
I do think well written guides of how to do good software engineering are going to be useful because they can be used as input to models or read by other developers so that their prompts are more clear about what the underlying software system should should be doing. You know, I think it may not be that you need to create a custom one for every situation. If you have general guides and put those into, you know, the context of a coding agent that that can be helpful. Like, and you can imagine one for distributed systems. You could say, okay, think about failures of these kinds of things. And these are some techniques you can deal with failures. You know, you can have Paxos like replication or you can send the request to two places and tolerate failure because you only need one of them to come back. A little description of 20 techniques like that in building distributed systems probably would go a long way to having a coding agent be able to cobble up more reliable and robust distributed systems.
1:16:58
Wonder when Gemini will be able to build spanner.
1:18:08
Right.
1:18:11
Probably already has the code inside.
1:18:12
Yeah. I mean that's a good example. Right. When you have like, you know, the cap theorem and it's like, well this is like truth and you cannot break that and then you build something that broke it. Like, I'm curious, like models in a.
1:18:16
Way are like, would he say he broke it? Would you say he broke cap theorem? Really? Yeah. Okay.
1:18:28
All right.
1:18:34
I mean under local assumptions.
1:18:34
Yeah, under some assumptions.
1:18:38
Yeah. And they're like, you know, good clocks. Yeah.
1:18:39
It's like sometimes you don't have to like always follow what is known to be true.
1:18:41
Right.
1:18:46
And I think models in a way, like if you tell them something, they're like really buy into that, you know.
1:18:46
Yeah.
1:18:52
So yeah, just more thinking than any answer on how to fix it.
1:18:53
Yeah. My, you know, just on this like, like big prompting and iteration. I think that coming back to your latency point, I always try to 1 A B test or experiment or benchmark or research. I would like is what is the performance difference between let's say three dumb fast model calls with human alignment because the human will correct human alignment.
1:18:57
Being human looks at the first one.
1:19:20
Exactly.
1:19:22
Produces a new prompt for the second one correct.
1:19:22
As opposed to you spec it out. You spend a long time writing a big fat prompt and then you have a very smart model do it.
1:19:25
Right.
1:19:33
Because really our lacks in performance an issue of like. Well, you just haven't specified well enough. There's no universe in which I can produce what you want because you just haven't told me.
1:19:33
Right. It's under specified. So I could produce 10 different things and only one of them is the thing you wanted.
1:19:44
Yeah. And the multi turn taking with a flash model is enough.
1:19:49
Yeah. I'm a big believer in pushing on latency because I think being able to have really low latency interactions with a system you're using is just much more delightful than something that is 10 times as slow or 20 times as slow. And I think in the future we'll see models and underlying software and hardware systems that are 20x lower latency than what we have today. 50x low lower latency. And that's going to be really, really important for systems that need to do a lot of stuff between your interactions.
1:19:53
Yeah, yeah. There's two extremes. Right. And then meanwhile, you also have dthink, which is all the way on the other side.
1:20:28
Right. But you would use deepthink all the time if it weren't for cost and latency. Right. If, if you could have that capability in a model because the latency improvement was 20x in the underlying hardware and system and costs, you know, there's no reason you wouldn't want that. Yeah. But at the same time, then you'd probably have a model that is even better, that would take you 20 times longer even on that new hardware.
1:20:33
Yeah. You know, there's the Frito curve keeps climbing.
1:21:00
Yeah. Onward and outward.
1:21:05
Onward and outward. Yeah.
1:21:07
Should we ask him for predictions to go? I don't know if you have any predictions that you like to keep. One way to do this is you have your tests whenever a new model comes out that you run. What's something that you're not quite happy with yet that you think will get done soon?
1:21:09
Let me make two predictions that are not quite in that vein. So I think a personalized model that knows you and knows all your state and is able to retrieve overall state you have access to that you opt into is going to be incredibly useful compared to a more generic model that doesn't have access to that. So, like, can something attend to everything I've ever seen, every email, every photo, every video I've watched, that's going to be really useful. I think more and more specialized hardware is going to enable much lower latency models and much more capable models for affordable prices than, say, the current status quo. That's going to be also quite important.
1:21:30
Yeah. When you say much lower latency, people usually talk in tokens per second. Is that a term? That is. Okay, okay. We're at, let's say 100 now. We can go to 1,000. Is it meaningful to go 10,000?
1:22:16
Yes.
1:22:31
Really? Okay.
1:22:32
Absolutely. Right.
1:22:32
Yeah. Because of chain of thought and all.
1:22:33
Chain of thought reasoning. I mean, you could think many more tokens, you could do many more parallel rollouts, you could generate way more code and check that the code is correct with chain of thought reasoning. So I think being able to do that at 10,000 tokens per second would be awesome.
1:22:35
Yeah. At 10,000 tokens per second. You are no longer reading code. You will just generate it.
1:22:52
You'll I'm not reading.
1:22:56
Well, remember, it may not end up with 10,000 tokens of code, maybe a thousand tokens of code with 9000 tokens of reasoning behind it, which would actually be probably much better code to read.
1:22:58
If I had more time, I would have written a shorter letter. Awesome. Jeff, this was amazing. Thanks for taking the time.
1:23:12
Thank you. It's been fun. Thanks for having me. It.
1:23:20