# Google AI Strategy: Distillation, Hardware, and Scaling

**Podcast:** Latent Space: The AI Engineer Podcast
**Published:** 2026-02-12

## Transcript

Hey everyone, welcome to the Laden Space Podcast.
This is Alessio, Funder Kernel Labs, and I'm joined by Swips, editor of Laden Space.
Hello, hello.
We're here in the studio with Jeff D in chief AI Science of Google.
Welcome.
Thanks for having me.
It's a bit surreal to have you in the studio.
I've I've watched so many of your talks, uh, and obviously uh you your career has been super legendary.
So uh I mean congrats.
I I think the the first thing must be say congrats on owning the Pareto Frontier.
Thank you, thank you.
Pareto Frontiers are good, and it's good to be out there.
Yeah, I mean, I I think it's a combination of both uh your you have 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.
Uh and you know, some part of this was started because of your hardware work, some part of that is your model work.
And uh, you know, I'm sure there's lots of secret sauce that you guys uh have worked on uh accumulatively, but like it's it's really impressive to see it all come together in like this steadily advancing frontier.
Yeah, 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 uh, you know, all of those really combine to help make UNOS able to make highly capable large models as well as you know 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.
So how how much pressure do you have on like having the lower bound of the private 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 worked 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?
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 six months ago version.
Um at the same time, you know, we know there's those are going to be really useful for a bunch of use cases, but they're going to be uh 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 um kind of a highly capable uh sort of uh affordable model that enables a whole bunch of you know lower latency use cases, people can use them for agentic coding much more readily.
Um, and then have the the high end, you know, frontier model that is really useful for um, you know, uh deep reasoning, you know, solving really complicated math problems, those kinds of things.
And you know 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.
Yeah.
And I mean, you and Jeffrey and Ton came up with this solution in 2014.
I guess L'Oreal vineyards as well.
Yeah, yeah.
A long time ago, like I'm curious how you think about the cycle of these ideas, even like, you know, sparse models and uh, you know, how how do you re-evaluate them?
How do you think about in the next generational model what is worth revisiting?
Like a yeah, they're just kind of like a, 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.
Yeah, I mean, I 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 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, you know, this one's gonna be really good at sort of mammals, and this one's gonna be really good at sort of indoor room scenes or whatever.
And you can cluster those categories and train on an enriched stream of data after you do pre-training on 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.
Um, but that's not a very practical thing to serve.
Right.
So 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 you know, not that different from what we're doing today.
You know, often today we're 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.
Yeah.
Uh a part of me also wonders if distillation also has a story with the RL um revolution.
So what let me let me maybe try to articulate what I mean by that, uh, which is you can uh RL basically spikes models in a certain uh 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.
Uh and you can uh I think that the sort of general um dream is to be able to advance capabilities without regressing on anything else.
Right.
And I think like that that whole capability merging without loss, uh uh, I feel like it's it's like you know, some part of that should be a distillation process, but I can't quite articulate it.
I haven't seen much papers about it.
Yeah, I mean, I I 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 uh you know 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 sort of sort of coax the right behavior out of the smaller model uh that you don't wouldn't otherwise get with just the hard labels.
Uh and so um, you know, I think that's what we've observed is you can get you know clo 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 uh for multiple Gemini generations now, we've been able to make the sort of flash version of the next generation b as good or even substantially better than the previous generations pro.
And I think we're gonna keep trying to do that because that seems like a good uh trend to follow.
Um Dara asked uh so there was it was the original map was Flash Pro and Ultra.
Uh is ultra are you just sitting on Ultra and distilling from that?
Is that like the model?
Uh 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, you know, our pro scale model, and we can distill from that as well into our flash scale model.
So I think you know, uh it's uh 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 yeah.
Yeah, cool.
Yeah, and then uh obviously I think the economy of flash is what it's led to the total dominance.
I think like the the latest number is like 50 trillion uh tokens.
I I don't know.
I mean, obviously it's changing every day.
Yeah, yeah.
But uh, you know, by marketing.
Hopefully up.
No, I mean, there's no I mean, just the economics wise, like uh 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 in it's in everything we're using it more in our search products are very AI mode AI overviews.
Oh my god flash power oh my god yeah that's yeah I didn't even think about that um I mean I think one of the things that is uh 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 gonna want models to do much more complicated things that are going to involve you know 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 gonna ask now not just write me a for loop but like write me a a whole software package to do X or Y or Z.
And so having low latency systems that can do that seems really important and Flash is one direction one one way of doing that.
Yeah you know obviously our hardware platforms enable a bunch of interesting aspects of our you know serving stack as well like TPUs uh the interconnect between chips on the TPUs uh is actually quite quite high performance and quite amenable to, for example, long context kind of attention operations, you know, having sparse models with lots of experts.
These kinds of things really really matter a lot in terms of how do you make them uh servable at scale.
Yeah.
Does it feel like there's some breaking point for like the proto-flash distillation, kind of like one generation delayed?
I I almost think about almost like the capability asymptote in certain tasks.
Like the pro model today is as saturated as 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 generations 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.
I mean, I think that's true if your distribution of what people are asking people, the models to do is stationary, right?
But I think what often happens is as the models become more capable, people ask them to do more, right?
So I mean, I think this happens in my own usage.
Like 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 do work very well for more complicated things.
And since then, we've improved dramatically on the more 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 of coding, but of you know, now, you know, can you analyze all the, you know, renewable energy uh 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 gonna 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 these particular areas uh in order to sort of um make the next generation even better?
Yeah.
Are there any benchmarks or like test sets they 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.
Like how do you have to keep pushing the team internally to it, or like this is what we're building towards?
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.
You know, I I I like to think of the best kinds of benchmarks are ones where the initial scores are like 10 to 20 or 30 percent maybe, but not higher.
And then you can sort of work on improving that capability for uh whatever it is the benchmark is trying to assess and get it up to like 80, 90%, whatever.
I 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 being in your training data.
Um, 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.
They're 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 um you know a bunch of uh you know architectural improvements or some sort of uh model capability improvements?
You know, what would help make that better?
Is there is there such an example that you uh a benchmark inspired an architectural improvement?
Like uh I mean just kind of jumping on that because you just uh I mean I think some of the long context capabilities of the of the Gemini models that came, I guess, first in 1.5 really were about looking at okay, we want to have um you know.
Right, everyone had I was like, how did everyone crack this at the same time?
Right.
Yeah, yeah, yeah.
I mean, I think um, 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.
Um, you know, we're trying to push the frontier of one million or two million context lengths.
I think Google's still the leader, two million.
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 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, you know, can you tell me the product number for this particular thing.
Yeah, it's retrieval.
It's it's uh retrieval within machine learning.
Uh yeah it's it's interesting because like I I think that the more meta lesser level I'm trying to operate at here is uh 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 in this what Jason Way who used to work at Google would say like exactly the kind of thing like yeah you're gonna have win short term.
Longer term I don't know if that's gonna scale you might have to undo that.
I mean I I 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 you know long context is useful but it's way too short today.
Right.
Like I think what you would really want is can I attend to the internet while I answer my question.
Oh god 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 uh 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 um 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 um 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 uh on a personal Gemini level you could attend to all of your personal state with your permission.
So like your emails, your photos, your your docs, your plane tickets you have um I 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.
But by the way I I think I I did some math and if like if you spoke all day every day for eight hours a day um you only generate a maximum of like 100k tokens, which like very comfortably fits.
Right.
But if you then say, okay, I want to be able to um understand every tokens people are putting on video exactly well also I think the the classic example is um you start going beyond language into like proteins and whatever else is extremely information dense.
Yeah.
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, you know, that sometimes to people means text and images and video, sort of human like and audio, audio, human like modalities.
But I think it's also really useful to have Gemini know about non-human modalities.
So like lidar sensor data from rainmo vehicles or like robots, uh, or you know, various kinds of health modalities, X-rays and MRIs and imaging and genomics information.
Um, 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, uh, 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, it doesn't make sense in terms of trade-offs of you know what you include in your main pre-training data mix, at least including a little bit of it is actually quite useful.
Yeah.
Because it sort of uh tempts the model that this is a thing.
Yeah, yeah.
Do you do you believe, I mean, since they're on this topic, and something I I just get to ask you all the questions I always wanted to ask, which is fantastic.
Uh like there are there are there some king modalities, like modalities that supersede all the other modalities.
So the a simple example was vision.
Um can on a pixel level encode text.
And Deep Cat that had this uh Deep SQL CR paper that did that.
Uh vision has also been shown to maybe incorporate audio because you can do audio spectrograms and that's that's also like a vision uh capable thing.
So so maybe vision is just the king modality and like yeah I mean vision and motion are quite important things right motion uh well like 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 we're paying attention to and then help us in uh using that information to to do things.
Yeah.
I I think motion uh you know I still want to shout out I think Gemini uh still the only native video understanding model that is out there uh so I use it for YouTube all the time.
Uh-huh nice yeah yeah I mean it's actually I think people kind of d are not necessarily aware of what the Gemini models can actually do with video.
Like uh I have an example I've used in one of my talks it had like uh 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 uh 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 when 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 you know not something most people think of as like a turn video into SQL like table.
Has there been any discussion inside of Google of like you mentioned tending to the whole internet right Google it's almost built because the a human cannot tend to the whole internet and you need some sort of ranking to fit find what you need.
Yep.
Their ranking is like much different for an LLM because you you can expect the person to look at maybe the first five six 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 you know how do we build the AI mode that is like maybe like much broader search and span versus like the more human one.
Yeah I mean I think even pre-language model based work, you know, 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 know, you're down to like 30,000 documents or something.
And then you have 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 you know, the final 10 results or you know, 10 results plus other kinds of information.
And I think in LLM-based system is not going to be that dissimilar, right?
You're gonna attend to trillions of tokens, but you're gonna want to identify, you know, what are the 30,000-ish documents that are with the you know uh 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.
Um, and I think you know, you can imagine you can imagine systems where you have you know a lot of uh highly parallel processing to identify those initial 30,000 candidates, maybe with very lightweight kinds of models.
Um, then you have some system that sort of helps you narrow down from 30,000 to the 117 uh with maybe a little bit more sophisticated um model uh or set of models, and then maybe the final model is the thing that looks at the 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 is really enables you to give the illusion of attending to trillions of tokens.
Um, sort of the way Google search gives you, you know, not the illusion, but you are searching the internet, yeah, but you're finding, you know, a very small subset of things that are that are relevant.
Yeah.
I I often tell a lot of people uh that are not steeped in like Google search history that uh well, you know, like BERT was like used like basically immediately inside of Google search, uh, and that improves results a lot, right?
Like I don't I don't have any numbers uh on top of the top of my head, but like I'm sure you guys that's obviously the most important numbers to in to Google.
Yeah, I mean I 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.
Yeah, yeah.
I I don't think people understand how much LLMs have taken over all these very high traffic, very high traffic.
Yeah, like it's Google, uh it's YouTube.
Uh YouTube has this like semantics uh ID thing where it's just like every token, every uh item in the vocab is a YouTube video or something that predicts the video using a code book, which is absurd to me for YouTube size.
And then uh most recently Grok also for 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 do have like a history of like what's the proposal.
Yeah, I mean, I actually gave a talk in uh, I guess uh web search and data mining conference in 2009.
Okay.
Uh where we never actually published any papers about the origins of Google search, uh, sort of, but we went through sort of four or five limitations generations, four or five or six generations of uh redesigning of the search and retrieval system uh from about 1999 through 2004 or five.
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.
Uh because if you don't have the page in your index, you're gonna not do well.
Um and then we also needed to scale our capacity because we were our traffic was growing quite extensively.
Um and so we had you know 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.
Um 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 um, you know, 20 copies of each shard, we now had 1200 machines uh 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.
So in 2001, we introduced uh, 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 you know how many different terms you looked at for a query, because every one of them would involve a disk seek on every one of the 60 shards.
And so you 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 uh bistro and all these things, and you can suddenly start uh sort of really uh 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.
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, is not like uh, you know, and I think today you kind of see that with LLMs too, where like every year the jumps in size and like capabilities are just so big.
Are there just any you know principles that you use to like think about this?
Yeah, I mean, I think uh, you know, 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 deciding that, you know.
So, you know, 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 gonna look at it when you retrieve things?
Um, what happens if traffic were to double or triple?
You know, will that system work well?
And I think a good design principle is you're gonna want to design a system so that the most important characteristics could scale by like factors of five or ten, but probably not beyond that, because often what happens is if you design a system for X and something suddenly becomes a hundred X, that would enable a very different point in the design space that would not make sense at X, but all of a sudden at 100x makes total sense.
So like going from a disk-based 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 uh you know a full copy of the memory uh index in memory.
Yeah.
And that all of a sudden enables a completely different design that wouldn't have been practical before.
Yeah.
Um, so I'm I 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 you know, as you said, in the early days of Google, we were you growing the index uh 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.
Yeah.
And then we went to a system that could update any particular page in like sub one minute.
Okay.
Yeah, because this is a competitive advantage, right?
Right.
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 top of the special beast.
Was there any like you could have split it onto a separate system?
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.
So it's interesting.
And then you have to like class classify whether the page is you have to decide which pages should be updated at what frequency.
Oh yeah, there's a whole like uh 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 uh the likelihood they change might be low, but the value of having them updated is high.
Yeah, yeah.
Yeah, yeah, yeah.
Uh well, you know, this uh you know mention of latency and 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.
Uh-huh.
Um was there a st is it just a just general story behind that?
Did you like just write it down?
I mean, this has like sort of eight or ten different kinds of metrics that are like how long does a cache myth take, how long does branch myth predict take?
How long does a reference domain memory take?
How long does it display?
It's fantastic.
Yeah, at least how long does it take to send you know a packet from the US to the Netherlands or something?
Um Netherlands, by the way, or is it is that because of Chrome?
Uh we had a data center in the center.
Um so I mean I think this gets to the point of being able to do the back at 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 disk seeks would I do.
Um you can sort of actually do thought experiments in you know 30 seconds or a minute with the sort of uh basic uh basic numbers at your fingertips.
Uh 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 you know look up something in this particular kind of hash table I use, or you know, how long will it take me to sort a million numbers or something?
Yeah.
The 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.
Uh I don't have a great one.
Uh because this is it's not it's it's not physical constants like you have physical constants in here.
You know, it's uh I and uh but I do think like uh so as a simple one would be number of parameters to um uh disk size if you if you need to convert that, uh which is a simple byte conversion.
That's not that's nothing interesting.
I wonder if you have any.
If you want if you if you were to update your I mean, I think uh it's really good to think about uh calculations you're doing in a model, either for training or inference.
Um often a good m way to view that is how much uh state will you need to bring in from memory, either like on chip SRAM or HBM from the accelerator attached uh memory or DRAM or over the network.
Um and then how expensive is that data motion relative to uh the cost of say an actual multiply in the matrix multiply unit.
Yeah.
And that cost is actually really, really low, right?
Because it's you know, order you know, uh depending on your precision, I think it's like sub pico one picajoul.
Oh, okay.
You measure it by energy.
Yeah, yeah.
I mean, it's all gonna be about energy and how do you make the most energy efficient system.
Um and then moving data from the SRAM on the other side of the chip, not not even off the off chip, but on the other side of the same chip can be, you know, a thousand picajoules.
Oh.
Yeah.
And so all of a sudden, this is why your accelerators uh require batching.
Because if you move, like say the parameter of a model from SRAM on the on the chip into the multiplier unit, that's gonna cost you a thousand picojoules.
So you better make use of that that thing that you moved many, many times.
So that's where the batch dimension comes in because all of a sudden, you know, if you have a batch of 25x 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 picajoules in order to do your one picajoulle multiplier.
I have never heard a energy based analysis of batching.
Yeah.
I mean, that's why people batch, right?
Yeah, ideally you'd like to use batch size one because the latency would be great.
But the energy cost and the compute cost inefficiency that you get is quite large.
So is there a symmetric like uh like like you did with uh you know uh putting everything in memory?
Like, you know, I think uh obviously NVIDIA has caused a lot of waves with uh betting very hard on SRAM with Grok.
Uh I I I wonder if like that's something that you already saw with with the TPUs, right?
Like that that you had to uh this to serve at your scale, uh you you probably sort of saw that coming.
Like what what what hardware uh innovations or insights were formed because of what you're seeing there?
Yeah, I mean, I think, you know, TPUs have this nice uh sort of regular structure of 2D or 3D meshes with a bunch of chips connected.
Yeah and each one of those has HBM attached.
Um I think for serving some kinds of models uh you know, you you pay a lot higher cost and time latency um bringing things in from HBM than you do bringing them in from uh S RAM 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.
But as 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.
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 picoules down joules down to 50?
And 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?
Yeah I mean we we have a lot of interaction between, say, the TPU chip design architecture team and the sort of higher level modeling uh experts because we 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 uh, 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 where 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 time frame or will be more important in that time frame, uh, really enables us to then get you know interesting hardware features put into you know TPU N plus two, where TPU N is what we have today.
Oh, the cycle time is plus two.
Roughly.
I mean because uh I mean, sometimes you can squeeze some changes into N plus one, but you know, bigger changes are gonna require the chip design be earlier in its lifetime design process.
Um so whenever we can do that, it's generally good.
And sometimes you can put in speculative features that maybe won't cost you much chip area, but if it works out, it would make something you know 10 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.
Uh sometimes it's a very big change, and we want to be pretty sure this is gonna work out.
So we'll do like lots of careful uh ML experimentation to show us uh this is actually the the way we want to go.
Yeah.
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.
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 gonna have for both training and inference of that of that uh uh generation of model.
So I think it kind of goes both ways.
Um, you know, sometimes you can take advantage of you know lower precision things that are coming in a future generation, so you can might train it at that lower precision, even if the current generation doesn't quite uh do that.
Yeah.
How low can we go in precision?
Because people are saying like ternary is like 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 picajoules per bit that you're transferring, and reducing the number of bits is a really good way to reduce that.
Um, you know, I think people have gotten a lot of luck uh mileage out of having very low bit precision things, but then having scaling factors that apply to a whole bunch of uh those those weights.
Scaling how does it okay.
Interesting.
You so low, low precision but scaled up weights.
Yeah.
Huh.
Yeah, never considered that.
Interesting.
Uh well while we're on this topic, you know, I think there's a lot of um uh i th this the concept of precision at all is weird when we're sampling, you know.
Uh if maybe we just at the end of this, we're gonna have all these like chips that all do like very good math, and then we're just gonna throw a random number generator at the start.
And so I mean, I th there's a movement towards uh energy based uh models and and processors.
Yeah.
I'm just curious if you've uh obviously you've thought about it, but like what's your commentary?
Yeah, I mean, I think there's a bunch of interesting trends.
So energy-based models is one, you know, diffusion-based models which don't sort of sequentially decode tokens is another.
Yes.
Um, you know, speculative decoding is a way that you can get sort of an equivalent very small draft batch factor uh 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 eight, even and then you maybe accept five or six of those tokens so you get five a five X improvement in the amortization of moving weights uh 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 uh energy, uh real energy, not energy-based models.
Um and and also latency and throughput, right?
If you look at things from that lens, that sort of guides you to solutions that are gonna be uh you know, better from uh you know, being able to serve larger models or you know equivalent size models more cheaply and with lower latency.
Yeah.
Well, yeah, I think I think uh um it's appealing intellectually.
Uh haven't seen it like really hit in the mainstream, but um I do think that uh there's some poetry in the sense that uh you know we don't have to do uh a lot of shenanigans if like we fundamentally design it into the hardware.
Yeah, yeah.
I mean I think there's still a there's also sort of the more exotic things like analog-based uh uh computing substrates as opposed to digital ones.
Uh I'm you know, I think those are super interesting because they can be potentially low power.
Uh 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 uh at the sort of boundaries and periphery of that system.
Um I still think there's a tremendous distance we can go from where we are today in terms of energy efficiency with sort of uh much better and specialized hardware for the models we care about.
Yeah.
Um any other interesting research ideas that you've seen, or like maybe things that you cannot pursue at Google that you will be interested in seeing researchers take a step at?
I guess you have a lot of researchers.
Yeah, yeah.
I guess you have enough, but our our research portfolio is pretty broad, I would say.
Um I mean, I think uh in terms of research directions, there's a whole bunch of uh, you know, open problems and how do you make these models reliable and able to do much longer, kind of uh more complex tasks that have lots of subtasks?
How do you orchestrate, you know, all maybe one model that's using other models as tools in order to sort of build uh things that can accomplish uh you know much more significant pieces of work uh collectively than you would ask a single model to do.
Um so that's super interesting.
How do you get more verifiable uh, 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 uh if we could apply those to other less verifiable domains because we've come up with RL techniques that actually enable us to do that uh effectively.
That would that would really make the models improve quite a lot, I think.
I'm curious.
Like when we had Noah Brown on the podcast, he said um they already proved you can do it with deep research.
Um 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 it?
Both are like information retrieval adjusting.
So I wonder if it's like the retrieval is like the verifiable part that you can score, or what are like yeah, yeah, how how would you model that that problem?
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 2,000 things you retrieved to assess which ones are the 50 most relevant or something.
Um 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 uh actual retrieval system.
Yeah.
Um I 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.
Like 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 uh like that 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 it's like, I don't know, you know, Ellen judge.
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.
Uh, because I think everyone sort of sees that the models you know are great at some things and they fall down around the edges of those things and 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 is pushing forward.
And I think that's why it's super interesting, you know, if you think of back two years ago we were struggling with GSMAK problems, right?
Like you know Fred has two rabbits, uh 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 now you're doing IMO IMO and goals.
Yeah and Erdosh problems pure language yeah yeah pure language.
So that is a really really amazing jump in capabilities in you know a year and a half or something.
And I think um for other areas it'd be great if we could make that kind of leap uh 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 gonna work our hard on making that better.
Yeah yeah like YouTube thumbnail generation that would be very we need that that would be AGI.
We need for as far as content creators go.
I guess I'm not a YouTube creator so I don't care that much about that problem but I guess uh many people do.
It does yeah it doesn't it doesn't matter people do judge books by their covers, as it turns out.
Um just to draw a bit on the iMO gold.
Um, 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 into Gemini.
Yeah.
What's your reflection?
Like, I think this this question about like the merger of like symbolic systems and like and and LLMs uh 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.
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.
Right?
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.
No, that that approach for solving the problem doesn't seem like it's gonna work.
I'm gonna try this one.
And you know, in a lot of ways, we're emulating what we intuitively think uh is happening inside real brains in neural net-based models.
So it never made sense to me to have like completely separate discrete uh symbolic things and then a completely different way of of uh you know thinking about those things.
Interesting.
Yeah.
Uh I mean uh it it's that maybe seems obvious to you, but it wasn't obvious to me a year ago.
Yeah, I mean, I do think like that IMO with you know translating to lean and using lean, and then the next year and 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, uh, is actually you know quite good because it shows you that the capabilities of that general model yeah have improved dramatically and and now you don't need the specialized models.
This is actually sort of very similar to the two thousand thirteen to sixteen era of machine learning, right?
Like 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 recognition model, or I wanna you know 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.
And y you don't need domain experts.
Like one might uh so I interviewed E Tay, who was on who was on that team, uh and he was like, Yeah, I 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 train the models and do the trading models.
Yeah.
Yeah.
And it's kind of interesting that like people with these this like universal skill set of just like machine learning, you just give them data and give them uh enough compute and they can kind of tackle any task, which is Yeah.
Right.
And the bitter lesson, I guess.
I don't know.
Yeah, yeah.
I mean, I think uh general models uh will win out over specialized ones in most cases.
Uh so I want to push there a bit.
I think there's one hole here, which is like uh there's this concept of like uh maybe capacity of a model.
Like abstractly, a model can only contain the number of bits that it has.
And uh and so it you know, God knows like Gemini Pro is like one to ten trillion parameters, we don't know.
But uh the Gemma models, for example, right?
Like a lot of people want uh the open source local models that are like the that that and and uh they have some knowledge which is not necessary, right?
Like they can't know everything.
Like you have the luxury of you have the big model and the big model should be able to be capable of everything.
But like when you when you're distilling and you're going down to the small models, you know you're actually memorizing things that are not useful.
Yeah, and so like how do we I guess do we want to extract that?
Can we ext can we divorce knowledge from reasoning, you know?
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.
Um, so I think that's always attention.
At the same time, you also don't want your model to be kind of completely detached from you 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 uh 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 uh it does help it to have a fair bit of world knowledge.
And the bigger your model is, the more you can have.
Uh, 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 models seem much more capable.
Because if you think about say a personal Gemini, yeah, right.
Like we're not gonna train Gemini on my email, probably.
We'd rather have a single model that uh we can then use and use being able to retrieve from that email as a tool and have the model reason about it and retrieve from my photos or whatever, uh, and then make use of that and have multiple uh, you know, uh stages of interaction.
That makes sense.
Do you think the vertical models are like uh 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 no?
I mean, I think I think vertical models are interesting.
Like you want them to start from a pretty good base model, but then you can sort of uh I sort of viewing them, view them as enriching the data distribution for that particular vertical domain for healthcare say.
Um we're probably not gonna train or for say robotics.
We're probably not gonna train Gemini on all possible robotics data.
We you could train it on because we want it to have a balanced set of capabilities.
Um, 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 uh you know, trade-offs in the data mix that we train the base Gemini models on.
You know, we'd love to include data from 200 more languages and as much data as we have for those languages.
Yeah, but that's gonna displace some other capabilities of the model.
It won't be as good at um, you know, Perl programming.
You know, 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 multi uh 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 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 uh module that all can be knitted together to work in concert and called upon in different circumstances, right?
Like 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.
Installable knowledge.
Yeah.
Just download as a as a pattern.
And some of that installable stuff can come from retrieval.
Yeah.
But some of it probably should come from training on, you know, uh a hundred billion tokens or a trillion tokens of health data.
Yeah.
And for listeners, I think uh I will highlight the Gemma 3N paper where the there's a little bit of that, I think.
Yeah.
Yeah, 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 challenge.
Well, I mean, I think healthcare is a particularly challenging domain.
So there's a lot of healthcare data that you know we don't have access to appropriately, but there's a lot of, you know, uh healthcare organizations that want to train models on their own data that is not public healthcare data.
Uh not public health, but public healthcare data.
Um, so I think there are opportunities there to say partner with a large healthcare organization and train models for their use that are gonna be, you know, more bespoke, but probably uh might be better than a general model trained on say public data.
Yeah, I I believe uh by the way, also this is like somewhat related to the language conversation.
Uh I think one of your your favorite examples was you can put a low resource language in the context and it just learns in context.
Oh, yeah.
I think the example we used was calamang, which is truly low resource because it's only spoken by I think 120 people in the world and there's no written text.
So you can just do it that way just to get in the context.
Yeah, yeah.
But I'm putting your whole data set in the context.
If you if you take a language like uh you know Somali or something, there is a fair bit of Somali text in the world that uh or Ethiopian amaric or something, um, you know, 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.
Yeah.
So or of those languages.
Uh yeah, cool.
Uh it's uh that I I have a side interest in linguistics.
I I I did uh uh a few classes in back in college, and like uh part of me, like if I was a linguist and I could have access to all these models, I I would just be asking really fundamental questions about language itself.
Like uh one is there's one very obvious one which is superior warfare, like how much does like the language that you speak affect your thinking?
But then also there's some languages where there's just concepts that are not represented in other languages, but some others, many others that are just duplicates, right?
Where uh there's also another paper that people love called the platonic representation, where you know, like the the an image of a cup is uh if you would say learn a model on that, and you you you have a lot of text with the word cup, it eventually maps to like roughly the same place and late in space.
And so like that should apply to languages, except where it doesn't.
And that's actually like very interesting differences in what humanity has discovered as concepts that maybe English doesn't have.
I I don't know, it's just like my my rant on languages.
Yeah, I mean we I I did some work on uh early model that fused together a language-based model with you have you know nice word-based representations, and then an image mod model where you have trained it on im image net like things.
Yes.
And then you fuse together the top layers of-go.
Uh no, this is devise.
Device.
Uh the 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 assigns kind of the right cat the right label to that image.
Um so for example, um I think uh telescope and uh binoculars were both in the training uh categories for the image model, but um microscope is not.
And so if you give it an image of a microscope, it actually can come up with something that's uh got the word microscope as the label that are designed, even though it's never actually seen an image labeled that.
Oh, that's nice to know that.
That's kind of cool.
Yeah, um, so yeah.
Useful.
Um cool.
Uh I think there's more general, like broad questions, but like I guess what what do you uh wish you were asked more in in general?
Like, you know, like you you have such a broad scope.
We've covered the hardware, we've covered the the models research.
Uh yeah, I mean, I think uh one thing that's kind of interesting is you know, I I did a undergrad thesis on neural network uh training, uh uh parallel neural network training uh back in 1990 when I got exposed to 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, you know, could get you a little bit more interesting uh model, but not enough to solve real problems.
And so starting in 2008 or nine, you know, the world started to have enough computing power through Moore's Law and you know, larger interesting data sets to train on to actually you know start training neural nets that could tackle real problems that people cared about, speech recognition, vision, and eventually uh language.
Um so um when I started working on neural nets at Google in in late 2011, um, you know, I really just felt like we should scale up the size of neural networks we can train using you know large amounts of parallel capitation.
And so uh I actually uh revived some ideas from my undergrad thesis where I'd done both model parallel and data parallel uh training and I compared them.
Um I called them something different.
There was like pattern partitioned and you know, model partitioned or something.
We'll have to get is it is it public?
Can we go together?
Yeah, it's on it's on the web.
Okay.
Um, I think combining a lot of those techniques and really just trying to push on scaling things up over the last you know 15 years has been you know really important.
And that means you know, improvements in the hardware.
So, you know, pushing on building specialized hardware like TPUs.
Uh it also means you know, pushing on software abstraction layers to let people express ML ideas uh effectively.
Um and then also working on things like uh say sparse models.
I've 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 model.
So you'd like, you know, trillions of parameters, but activate only, you know, one, 1% or five percent or 10% of that.
And um, that, you know, we did uh early uh paper on this where we really scaled up uh, you know, outrageously large neural networks.
Uh, that was the title of the paper.
I think that's Gnome's uh GNOME's wording in the title, which is a good catchy title.
I mean, in 2017, he was out there talking about one trillion parameter models.
Yeah.
So I mean that that that is really good because that gave you like a 10x improvement in time to quality or compute cost to qual a given quality level relative to non-sparse models.
Um Transformers similarly gave you a 10x to 100x improvement in, you know, uh compute cost to a given quality level uh versus say LSTMs at the time.
And all of those things multiply together.
Um so I think all those things really are important to work on, you know, the hardware, the systems infrastructure, the, you know, algorithmic aspects of model architecture, the improving the data, you know, improving the RL recipes, all these things uh are what are stacking together and multiplying together to give us models of 2026 are much more better than models of 25 and are awesomely better than 24 and 23 and 22.
And the huge um is honestly, like organizational challenge.
Like this is like a thousand people or maybe more, I have some idea.
Like I know it, I know when the first Gemini people came out, it was like a thousand co-authors.
Yeah, yeah.
We have uh 10 pages of co-authors in the tech report.
But yeah, that's nice.
I mean, you know, people want to be acknowledged on the probably a historical paper.
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 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 uh throughout the Gemini team to help orchestrate this.
So, you know, myself, Noam and Oriel are sort of helping steer this.
And then we have people thinking about, you know, what is the pre-training uh setup look like?
What is the infrastructure look like?
What is the post-training recipe look like, and what is the data preparation and vowels and you know multimodal capabilities and IT and N capabilities.
Um, you know, there's a lot of different kinds of areas, coding capabilities, all these areas are are super important, and it's really good to have people uh paying close attention to those things and then uh also paying close attention to all the other things.
Yeah, I'm told Sergei is like very actively back and like very much involved in the coding stuff.
Yep, yeah, yeah, yeah.
We all use the same micro kitchen.
Yeah.
Uh oh, okay.
Like there's so many of them jumping off.
Uh so by the way, I found out from uh the recent uh I mean you've probably told this story a few times, but apparently Google Brain was also started in a micro kitchen.
Yeah, yeah, yeah.
Your micro kitchens are very important.
Yeah, yeah.
I don't know if people like understand.
Yeah.
Uh yeah, I actually bumped into Andrew Ng, who's a Stanford faculty member, and uh 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 gonna spend one day a week here consulting.
Um, I'm not sure what I'm working on, but my students at Stanford are starting to get good results um on using uh neural nets for speech uh recognition.
I'm like, oh neural nets, I like neural nets.
Like I remembered back to my 1990 thesis.
I'm like, oh, that sounds interesting.
We should train really, really big neural nets.
So that was the which you say that, and I think that's a very interesting first instinct, which is that we should scale this up a lot.
Yeah, well, I mean, I felt like Google is is has lots of computational uh capability.
And so if they were seeing good results on you know what were effectively single GPU or uh models, you know, if we were uh we actually didn't have GPUs in our data centers, then we didn't have any accelerators.
We had lots of CPUs.
But you know, 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 of 50x bigger than any previous neural net, as far as we could tell.
Um, so it's two billion parameters uh vision model uh trained on 16,000 CPU cores for like multiple weeks.
Uh 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 you know uh sophisticated scaling analysis but we had a a saying bigger model more data better results and that was our mantra for like six or seven years of scaling and we every time we did that we saw better results in speech, in language, in in yeah vision uh speaking of um bets and this might and this you know I'll preface with like this might be a little bit more sensitive topic, but you have uh obviously a lot of opinions about this.
We had a previous guest David Lan who used to work for you and uh he 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 uh something you would you would agree with at the time or uh is there like a different sort of postmortem the brain marketplace for for compute quotas compute quotas yeah where basically he was like okay the like David worked at OpenAI against the VPN then 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 had a quota.
And I was like, okay, like if if you believe in scaling as an important thing, that's it, that's an important organizational-wide decision to do.
Yeah.
Uh yeah, I mean, I think uh I would somewhat agree with that.
I mean, I think I actually wrote a one-page memo saying we were being stupid by uh fragmenting our resources.
Uh huh.
Um so in particular at the time we had uh, you know, uh efforts within Google Research on uh and in and in the brain team in particular on large language models.
We also had efforts on multimodal models um in uh other parts of brain and and Google research.
And then Legacy DeepMind had uh efforts like um chinchilla models and uh flamingo models.
Uh and so really we were fragmenting not only our compute uh across those separate uh 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 uh train the merge, yeah, 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 uh effort.
And so I uh my one-page memo worked, which is good.
Did you have the name?
Because uh also for those who don't know, you named Gemini.
I did.
Yeah, yeah.
There was there was another name proposed, and I I said, you know, it's sort of like these two organizations really are like uh twins in some sense coming together.
Um so I kind of like that.
And then there's also the NASA interpretation of you know the early Gemini project uh being uh an important thing on your way to um you know the Apollo project.
So it seemed like a good name.
Twins coming together.
Right, yeah, nice.
Um 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.
Um I was reading on through the article about you and Sanjay's friendship and how you work together.
And you had one quote about you need to find someone that you're gonna 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 how would you rate the tools today, like where should things go?
Yeah, I mean, first I think the coding tools are you know 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 complex things that you as a as a software engineer want to accomplish and you can sort of delegate, you know, pretty complex things to these tools.
And I think one really nice aspect about the uh interaction between uh uh human uh software engineer and uh uh a coding model that they're working with is your way of talking to that uh coding model actually sort of uh dictates how it interacts with you, right?
Like 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 gonna shape how the model responds, what kinds of uh problems it tackles, you know, how much do you want the model to go off and do things that are larger and more independent versus interact with it uh 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, right?
Like some kinds of problems you actually want uh maybe a more frequent interaction style with the model, and other ones you're just like, yeah, please just go write this because I 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 gonna be more of a style of having lots of independent uh 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 I now what should I do?
Um, I think we we're not at the end all answer to that question.
And as the models get better, that uh set of decisions you put into how the interaction should happen may change.
Right.
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 uh uh yeah, I mean, I think that is probably within the realm of possibilities that lots of people could have 50 interns.
Yeah.
And so how would you actually deal with that as a person, right?
Like you would probably want them to form small subteams so you don't have to interact with 50 of them.
You could interact with five of five of those teams and they're off doing things on your behalf.
But I don't know exactly what the how this is gonna unfold.
How do you think about bringing people like the pair programming is always helpful to like 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 interns, right?
And then you want to go to Gnome Shazir, be like, hey, no, I'm 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.
Right.
And I'm curious, like if people are gonna 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.
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 gonna be naturally very hierarchical because uh, you know, these 50 people are gonna be working on this part of the system and not interact that much with these other people over here.
But if you have, you know, five people each managing 50 virtual agents, you know, they might be able to actually have much higher bandwidth communication among the five people than you would have among five people who are also trying to coordinate, you know, a 50-person software team each.
So how do you 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?
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 gonna dictate the quality of the output, right?
Like if you if you don't cover that it needs to handle this kind of thing, or that this isn't a super important corner case, or that you know, you really care about the performance of this part of it, you know, it may uh not do what you want.
And the better you get at interacting with these models, and 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 a you know, trying to do some other kind of uh task, you know, being able to crisply specify what it is you want, it's gonna be really important.
Yeah, my my joke is um you know, good prompting is in uh 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 uh one thing that uh anti-gravity from from Google also did was like just come out of the gate to very, very strong multimodal, including videos, and that's the highest bandwidth communication prompt that you can give to the model, which is fantastic.
Yeah, how 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 wrote about how to look for performance improvements and is there a lot more value in like people writing these slight generic things down so that they can then put them back as like potential retrieval artifacts for the model?
Like, 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 um, I mean, I do think well-written guides of of how to do good software engineering are going to be useful because they can be used as input to models or you know, read by other developers so that their prompts are you know more clear about what the the underlying software system should should be doing.
Um, 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 in 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 uh you know, Paxos like replication, or you know, you can uh send the request to two places and tolerate failure because you only need one of them to come back.
You know, 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 sort of cobble up more reliable and robust distributed systems.
Yeah.
Yeah.
Wonder when Gemini will be able to build spanner.
Right?
Well, probably already has the code inside, you know.
Yeah, that 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 way are like what do you say he broke it?
Would you say you broke cap theorem?
Really?
Yeah, okay, all right.
I mean under local assumptions.
Yeah, under some assumptions.
Yeah, and they're like, you know, good clocks.
Yeah, it's like some sometimes you don't have to like always follow what is known to be true.
Right.
And I I think models, in a way, like if you tell them something, they'll like really buy into that, you know.
Um yeah, just more thinking than any answer on how to fix that.
Yeah.
My my uh, you know, just on this like like big prompting and and uh iteration, you know, I think that coming back to your latency point.
Um I always I always try to one one A B test or experiment or benchmark or research I would like is what is the uh performance difference between let's say three dumb fast model calls with human alignment, because the human will correct human alignment being human.
Exactly produces a new prompt for the second one.
Correct, okay, as opposed to like you spec it up, you know, spend a long time writing it's a pro a big big fat prompt, and then you have a very smart model do it.
Right, right.
You know, because uh really is is uh our lacks in performance uh 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.
Right.
It's underspecified, so I can produce 10 different things and only one of them is the thing you wanted.
Yeah, and the multi-turn taking with a flash model is enough.
Yeah.
Yeah, I'm 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 you know 10 times as slow or 20 times as slow.
And I think you know, in the future we'll see models that are and and underlying software and hardware systems that are 20x lower latency than what we have today, 50x lower latency.
And that's going to be really, really important for systems that need to do a lot of stuff uh between your interactions.
Yeah, yeah.
There's two extremes, right?
And then meanwhile, you also have D Think, which is all the way on the other side.
Right, but you would use deep think 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 uh 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.
Yeah.
Uh you know, that there's uh the Frito curve keeps climbing.
Um onward and outward.
Onward and outward.
Yeah.
Should we ask him for predictions to to go?
I don't know if you have any predictions that you that you like to keep.
This isn't, you know, like uh one one way to do this is you have your tests whenever a new model comes out that you run.
Uh what's something that you're you're not quite happy with yet that you think will get done soon.
Um let me make two predictions that are not quite in that vein.
Yeah.
So I think a personalized model that knows you and knows all your state and is able to retrieve over all state you have access to that you opt into is gonna 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 gonna be really useful.
Uh I think uh more and more specialized hardware is gonna enable much lower latency models and much more capable models for affordable prices uh than say the current current status quo.
Uh that's gonna be also quite important.
Yeah, when you say much lower latency, uh people usually talk in tokens per second.
Is that a term that is okay?
Okay.
Uh you know, we're at let's say a hundred now.
We can go to the thousands.
Is it meaningful to go ten thousands?
Yes.
Really?
Okay.
Absolutely, right?
Yeah.
Because of chain of thought and all the things.
Chain of thought reasoning.
I mean, you could think, you know, uh many more tokens, you could do many more parallel rollouts, you could generate way more code uh and check that the code is correct with uh chain of thought reasoning.
So I think you know, being able to do that at 10,000 tokens per second would be awesome.
Yeah.
At 10,000 tokens per second, you are no longer reading code.
Yeah, like you will just generate it.
You'll there's not reading the code.
Well, remember, it may not, it may not end up with 10,000 tokens of code.
Yeah, reason a thousand tokens of code that with nine thousand tokens of reasoning behind it.
Yeah, yeah.
Which should actually be probably much better code to read.
Yeah, yeah.
Yeah, yeah.
If I had more time, I would have read in a shorter letter.
Yeah, yeah, yeah.
Um awesome, Jeff.
This was amazing.
Thanks for taking the time.
Thank you.
It's been uh fun.
Thanks for having me.
