Y Combinator Startup Podcast - Jeff Dean: The 1% Rule for Building in AI
Episode Date: August 1, 2026In 2001, Jeff Dean and Sanjay Ghemawat did the math and realized Google’s entire search index would fit in RAM — then shipped it in a few days, and search got fast. In 2013, another napkin calcula...tion showed that three minutes of daily speech recognition per user would require doubling Google’s server fleet. That one became the TPU. At Startup School 2026, Google’s Chief Scientist talks with YC’s Diana Hu through the thought experiments behind both, why inference hardware is the next specialization, and where two or three people in a room can still win.Transcript: https://www.ycrootaccess.com/p/jeff-dean-the-1-rule-for-building
Transcript
Discussion (0)
All right, should we get started, Jeff?
Sure. Sounds great.
All right, Jeff, welcome.
And again, thank you so much for being here,
especially I just got a cold and thank you for being here.
Yeah, I'm afraid I've lost my voice.
I don't normally sound quite like this, but we'll do what we can.
So you built MapReduce, Big Table, TensorFlow, the TPU, and I.
We could spend a whole hour on all the things you're done.
But what I love is that you're still making bold predictions in public.
Last year, yes, last year in May 2025 at AI Ascent, you said that AI is at the level of a junior engineer.
That was about a year ago. It's been, how close are we to that prediction?
Yeah, I mean, I feel like the models have been getting a lot better at sort of agent-based, longer-running coding tasks.
And it seems pretty clear that they are now actually pretty capable.
And depending on exactly your definition of junior engineer, it seems pretty spot on, I would say.
What did you underestimate from that prediction?
I mean, I think the ability to do more and more complex tasks has been growing faster than I thought.
And I also think outside of coding these agent-based systems,
are really starting to shine in other domains.
And I think, you know, that's going to be an important trend in the future.
So give us another bold prediction.
What do you think is going to be the 2027 edition?
I think you will see a lot more automation of ML systems themselves,
basically getting ML systems to improve their capabilities by running lots of experiments,
breaking things down into sub-problems, you know, running those sub-problems in a tight
automatic experimentation loop, putting the results together, and being able to then, you know,
get some improved system out from that sort of fully automated problem decomposition and
automated experimentation. I think that's going to be really exciting. I think that also applies
not just to ML, but also to other fields of science and engineering. Basically anything where you
can have a measurable objective, I think you can actually make a lot of progress these days.
Now let's go back to a little bit in history. Back in, way back in 2001, Google search used to run
on hard drives. Yep. And you and Sanjay did the math and realized at some point the whole search
index would finally fit in all of the RAM of all the computers you have running.
And you made that radical realization.
And you basically, in a few days with Sanjay, shipped in production a whole new search version that worked in RAM rather than hard drive.
And that was the thing that got Google to be so fast. Google searches.
So history tends to remix.
What is the, it fits the memory moment right now in 2026 that everyone in this room
is still
should be thinking about and designing.
Yeah, I mean, it's a little different,
but I think you're going to see more and more
high performance and low-energy
inference hardware systems
because I think everyone is now realizing
that inference is the key to making
these agent-based systems be available to more and more people
and that latency is really important.
and that specialization of the hardware
is a really key way you can make things
that are more energy efficient
and lower latency than more general purpose
computational devices like, say, GPUs or TPUs.
Because I think everyone here is used to waiting
for responses on the models.
Yeah, waiting is no fun.
Master speed.
So you're saying, what if we don't have to wait anymore?
Yeah.
I mean, I think we'll imagine what you could do with something where the latency is, you know, 50x better.
Hmm. Interesting that. Now, what's one assumption that perhaps 6,000 people in this room hold us already false about AI?
Yeah, that's a good question. I mean, I think probably one thing is people don't quite realize how possible it is to have, you know, agent-based systems that can run not just for,
an hour or two hours on a problem you care about, but for some problem domains and with highly
capable models underlying them, you can get them to run for days or weeks and do really, really
complicated tasks. And I think that's, you know, starting, some people are starting to see
inklings of this, but I don't think everyone has really internalized this, and that's going to be
really a pretty big deal. What's a particular task that you have run that has run for weeks?
What did you tell the agents to solve?
Yeah, I mean, I think you can tell agents to go off and implement, you know,
completely new versions of software in different programming languages that might be, you know,
have better safety properties or better performance properties, that,
and then they can go off and actually do that in a, you know, pretty serious way.
That's pretty cool.
Now, one thing that you've been very well known for is you're really good at napkin math.
Sounds funny.
So one of the stories about you is that back in 2013, when speech recognition started to work at Google,
you did the napkin math, where if every Google user used their phone and talk to it and
use the speech recognition system for just three minutes a day, you've found.
found that the system requires of Google server,
you would have to double the fleet,
which would be really, really expensive
just to do speech translation.
And instead, you basically build a custom ship,
and that was the origin story of the TPU.
Yeah, yeah.
I mean, I sort of had done,
we were starting to see really good quality results
on the sort of deep learning based speech systems
speech models we were training.
But they were computationally expensive
compared to the old speech system,
but they halved the error rate.
So that was like the equivalent of 20 years
of advances in speech recognition
in just a few months of like fiddling
with the modeling, scaling it up a bit
and getting better data.
And so we started to get worried
that if speech worked a lot better,
people would use it more.
And so that back of the envelope calculation
was really about that.
Like, well, what if people
start to use speech recognition more to dictate emails or to talk to their phone or whatever.
And yeah, it turned out that we realized that we needed some better solution than running on
CPUs at the time. And so we came up with TPUs, which are sort of very specialized for essentially
low precision dense linear algebra, which is at the heart of nearly all of the modern
machine learning algorithms we use today.
And if you build a specialized chip for low precision
dense linear algebra and can't do anything else,
that turns out to be really useful for machine learning
inference, even though I can't run Chrome or Word or whatever.
And so that system produced a chip a couple years later
that was 30 to 80 times more energy efficient than CPUs
and GPUs of the day, and also much, much lower latency
like 20 to 30x lower latency.
Which is incredible what the foundation that TPU has become today.
No way you would have predicted that TPU would be so foundational now
with transformer architecture, which was invented way later
before you actually invented the TPU.
Yeah, I mean, that's sort of why we built a general purpose linear algebra system,
which is what a TPU is really, because we knew ML algorithms were still evolving,
and you didn't want to over-specialize what you want to
wanted to specialize enough that you got the dramatic performance benefits of we could have
very big multiplier units, we could have high speed memory, we could have high speed interconnect
or later TPUs that like brought many, many chips to bear on the same problem efficiently.
And, you know, we've continued to scale those up and improve the performance over many, many
generations now.
Incredible napkin math.
So what's saying?
Nafkins are good.
So actually, what's a good napkin math that everyone here who wants to be a future founder
should run tonight to potentially build something as consequential as the TPU?
Yeah, I mean, it's always hard to say.
I think about what problems you see and whatever it is you're thinking about, what bottlenecks
you see.
and are there very different ways of thinking of the solutions to some of those problems that would get you, you know, an order of magnitude or two orders in magnitude better performance or capability or whatever it is?
You know, because sometimes if you just squint at a problem and you think about not necessarily being anchored on exactly how that problem is solved today, but how you would solve it from first principles, you can come up with really good ideas that are, you know,
maybe not what other people are thinking about.
That's a good tip.
No, for everyone here who doesn't know years ago,
Jeff wrote a very famous list called
the latency numbers every engineer should know.
And these are numbers around, for example,
how long a cache miss takes,
disk seek, a network package traveling,
let's say, from California to Netherlands,
Lots of numbers like this about distributed systems and systems engineering.
And it's been sort of taped and become the viable for a lot of distributed systems engineers.
Okay.
Yeah.
Now, fast forward, that list is up for an update.
Give us the AI edition for now 2026.
Yeah, I mean, I think if you looked at what is important in AI systems these days,
you would want to know things like the bandwidth between, you know, your main memory systems.
on your accelerator to the on-chip memory, to the multiplier unit or whatever.
You want to know how much energy does it take to do a single multiplier operation?
What is the interconnect bandwidth between chips and how much does that,
how many chips can you connect with that bandwidth?
And then if you go beyond that domain, what is the fall off in network bandwidth when you need to talk to
10,000 strips instead of 500 or something.
I think these are all really important numbers to learn
and really affect how you think about solving
particular kinds of problems.
And one interesting thing that I've heard you talk about
is that nowadays, the unit that you measure everything
is energy.
You pointed out that doing a calculation of math
costs about one pic or jewel.
But moving the data and doing data AIO costs thousand times that.
Yeah, just bringing it in from HBM on an accelerator into the processor so it can actually compute on it.
Yep.
That gap cannot quietly decide what products are possible and how these algorithms in AI are built.
So what are the kinds of problems that founders keep calling model problems,
but are in fact actually energy or data I.O.
Yeah, I mean, I think the example you raised of a thousand X difference in bringing moving
data versus actually computing on it in terms of energy is a pretty significant one, and it
shapes a lot of aspects of what we do in machine learning.
Because if you didn't have that thousand X difference, then you know, you wouldn't have
to do batching, but you have to do batching of, you know, many examples or maybe many tokens
at once in order to
amortize that data movement so that you can, you know, not pay a thousand X slowdown,
but pay a 1,000x divided by batch size energy cost. And, you know, for really low latency,
batching is not really very good. So I think these kinds of things and the energy behind various
decisions in the computer hardware reuse really affects a lot of decisions we make in building
higher level systems.
A very concrete example is just how training models is done.
There's this whole concept of batching the data sets and running epochs.
That's basically people perhaps may confuse that as a model problem, but it's really a
system's data I.O. problem, right?
Yeah.
Yeah.
I mean, you have to assemble batches to get better efficiency in your hardware.
you know, ideally you might do batch size one training, but, you know, it's not as good in terms of efficiency.
So people use pretty large batches these days.
Do you think it's possible for, I know you're well known for taking off on a long week or weekend and coming up with this brilliant solution?
Is there such things of Jeff Dean going and working on it for a couple of weeks and getting batch size equals one training done?
Yeah, I've been thinking more about inference, actually.
So I think inference is a pretty interesting problem
because you do want very low latency.
Training, you don't necessarily need incredibly low latency.
And I think there's a lot of room for specializing hardware
more for inference than we are today.
What are some of those interesting things around inference
that you're really thinking a lot about?
I mean, just trying to minimize data movement,
trying to think about incredibly low precision operations
and maybe not supporting lots and lots of different kinds
of precisions.
If you feel like you have a good answer
for what kinds of precision you need,
maybe just build that into the hardware and not much else.
Which I think it brings down to a core analogy
I heard from famous computer scientists
that really the whole
process of AI is a big compression problem. Because in order to have the data to be fully lossy
and compress it and then restore it, you basically need to understand it.
Yeah. I mean, if you truly understand the data, you should be able to compress it really
well.
And now, Transformer architecture is basically one of the ways that has turned out to work really
well.
Yeah, yeah, I would say.
Working pretty well so far. Good work by my colleagues.
Yes. Now, let's zoom out a bit.
AI progress used to mean just better models.
You had more data, trained, bigger models with bigger parameters.
But increasingly in the last years or so, it's everything around the model, not just the model size and number of parameters or more data.
It's everything around things like retrieval, tools, memory, agent tools.
And it might kind of get consolidated into what people call context engineering.
right? Yeah, I mean, I think the model is really only one piece of what you're trying to do,
which is build an overall system that can solve really interesting problems. And that involves,
you know, a model that knows how to use various tools. It maybe knows how to retrieve relevant
information, maybe has a, you know, a history of other information that has retrieved for past
problems and it can put information into the context of the model.
And the nice thing about that is that information is really clear to the model.
Unlike the training data of the model was trained on, where it's all kind of like trillions
of tokens stirred together into a soup of hundreds of billions or trillions of parameters,
but it's all less clear than the actual context that the model sees directly for this particular
problem or use case. And then I think being able to understand what tools are available,
which ones are going to help me solve the, help the model solve this next, you know,
phase of the problem, how to decompose a problem into a sequence of tool calls, maybe trying
multiple approaches to solve the problem and seeing which ones work and be able to evaluate that.
You know, this is the whole, you know, orchestration of complex agent and multi-agent systems that I think
is going to be more and more important
and super exciting times over there.
And I think the fun thing about this particular problem
domain set is actually something that everyone in this room
can actually do, because before to train a model,
you needed incredible amount of resources,
incredible amount of access to GPUs and data.
But for context engineering, everyone here could do it.
You just need the API to something like Gemini
and then work on your own setup for your own retrieval,
your own tool calls.
and etc., etc.
So what are some tips for everyone here?
How does everyone get better at and become exceptional at context engineering?
Yeah, I mean, I think a really good way to do it is to use these models and sort of harnesses
and tools and so on to try to solve problems.
And then sometimes you can actually see where the models are failing.
And often you can actually make the model work better and succeed at that kind of problem by not just adjusting the model parameters, which is hard to do from the outside, but from, you know, creating better guidelines for the model, you know, writing skills for the model to know how to use different tools that would be incredibly useful for solving this particular class of problem.
And I think as you do that, you end up on this kind of improving, self-improving of the setup that you're trying to use to solve things.
And, you know, that's a really good way to get better at understanding what additional information the model would want in order to become more capable.
Can give an example of some context engineering you personally have done?
I don't know, skills you wrote, tools that really made a huge different in your own.
in your workflow. Yeah, I mean, I guess Sanjay and I were working a few weeks ago, and we, you know,
we often do some amount of, like, performance improvement for very low-level libraries, and
we have a micro-benchmark library we've written at Google where you can write micro-benchmarks
of how long different kinds of operations take or how long does it take to populate this data
structure or whatever, and sometimes those data structures are used on millions of processes across
Google, so it's actually pretty important to make sure they're high performance.
And so you can write micro benchmarks.
But then without an agent-based system, what you usually do is you measure what the current
performance is on some benchmarks you care about.
You make some modifications to improve the performance you hope.
Then you rerun the benchmarks, see where things improved.
You run maybe a broader set of benchmarks, measure the cash footprint of things.
and so we wrote a skill that basically taught the model
how to do most of those things in various sequences
so that it could actually do self-improving benchmark measurement,
benchmark code changes, measure the performance improvement,
and then iterate on that.
And that seemed to work pretty well for some kinds of problems.
And it really just is us giving the approach we would use as people
to the model in a form that it could use.
Wow, that seems very impressive.
So you're saying you have this skill that if someone got access to it, it could do perform
optimizations like Jeff Dean.
Seems like the world would love this and is worth infinite amount of money to someone
have access to this.
We actually published a document maybe a few months ago called Performance Hints.
That Sondra and I wrote that's like a 30-page document about various kinds of performance
tricks.
And some people have taken that and then given it in.
summarized form to various models and seen that they, that model can now get, you know, better at
reasoning about performance issues and kind.
So you heard it all here. You could actually get your own, optimize your own code like Jeff
Dean if you take this paper that you publish when performance hints.
Yep. This is all free available. So you should all try it. Very cool. Yeah.
You talked about agents. Everyone here is probably building one or built one at some point.
And I'm sure everyone has seen your agent go off the
rail at perhaps like step 30 or 40.
Like agents are great for like up to step, I don't know,
10 or something and then gets shaky at step 50.
What do you think is the constraint today?
Is it like context, evaluators, or just errors that compound
because it's basically an open loop system?
Yeah, I mean, obviously we want agents to be able to run
for very long periods of time because that's how they're going to solve
more and more complicated problems.
But as you observe, today,
You know, they sometimes stop working after, you know, 10 interactions with the tools and so on.
And sometimes that's because the model is trying to do something.
It doesn't have a lot of experience doing.
So it's been trained on a whole set of things.
And as soon as you get a little bit off the distribution of things it knows how to do,
then like most machine learning models, it will, you know, its performance will suddenly
will start to degrade.
And the farther you get off, the cost of the computer.
comfort zone of what it knows how to do, the more likely it is to not work as well.
So there's a bunch of things you can do.
So one is, you know, give the model skills and hints that kind of tend to keep it in the
sort of more brightly lit path of things that does know how to do.
I think, you know, having multi-agent systems where you have multiple agents trying different
approaches and you can evaluate, you have maybe another model or another agent that's
evaluating which ones of those seem promising is another way to kind of, in some sense,
search the path of possible solutions and stick to the ones that seem most promising
and discard the ones that didn't seem to work or maybe that went off the rails or whatever.
And that's a very, very useful general technique is, you know, inference time compute to perform
search over plausible ways of solving the problem that can get much, much higher performance
or much more reliability in long-running agent flows.
How are some ways you implemented this particular workflow for your agents internally?
Yeah, I mean, we have harnesses, and then we have a whole set of skills, particularly in the
internal Google development environment, we have skills so that the agents can know how to use
lots of our internal tooling for coding or for code reviews or for, you know, measuring performance
or, you know, fetching log files. And those are just skills that you can add to make the base
model more capable, even though it hasn't necessarily been trained on exactly the way that, you know,
Google internal engineers would fetch log files from our, you know, proprietary system.
With the right kind of skill definition, you can actually get it to work.
And that improves the usefulness of the agents.
Now let's talk about where startups can win.
This section is one that I personally care a lot about because also everyone here in this room
needs to decide what to build in the future of your future founder.
So the thing about Google is you co-design everything on the system from the processors to the
products. Which are the layers that someone like Google would keep building and compounding
being better and where does a two, three person team can still win? Yeah, I mean, I think
obviously Google and our Gemini models and our hardware infrastructure are really
trying to build very general models that can do almost anything. But in a lot of cases,
that means that we don't have a lot of attention on particular domains where perhaps a really well-designed
surface that and maybe a model and set of skills or maybe a specialized model that isn't in sort of the
general mix of things that our models do well and actually have a significant advantage.
Because you can build something delightful and really high accuracy, really high quality
for a domain that you are really passionate.
about. And I think that's where, you know, the two or three people in a room building that
that they're really excited about can have an advantage. But I would also caution that the general
models are definitely getting better at a broader and broader range of things. You have to
figure out, you know, is that thing you're working on? Is that going to be a durable thing? Or do you
think the models at the forefront are going to get better at that in the next six months or
or is it something they're not going to be able to do for a couple of years or three years?
And you know, you want to weigh that as you're as you're deciding what to work on you.
So let's dive deeper into this.
So the general models, of course, you're going to keep working on and keep making them all better.
And how should the audience reason about what are those areas that it doesn't?
I mean, how should founder think about things to pick on and work on?
Yeah, I mean, I mean, the most important thing is to pick something you're super excited about and want to build and you think would be useful in the world, right?
So if you do that, you're already way ahead than if you wake up and you're like, oh, I don't really want to do this or whatever, or you're going to build something that is actually not that useful to the world or to many people.
So I think that's the number one selection criteria.
I try to apply for what problem should I work on next.
Second, I think you want to look at what the current more general models can do in that problem domain.
You can test them with like, are they able to do this thing very well?
And if they're completely failing, that's probably a good sign.
If they're kind of able to do some of it, but not very well, that's maybe not a great sign,
because that's probably a sign that the capability is starting to be present in those models
and with more training data or larger scale models or whatever, it's likely to get better.
So, you know, look for something where the model succeeds 0% or 1% of the time, not 20%.
How do you find those?
I mean, are those things effectively out of distribution
from the training set?
And what exactly is the problem shape that fits that?
Yeah, I mean, I think sometimes it's a product
that you build that might have access
to particular kind of data that the underlying model might not,
a general model.
So it might be you're building something
to help users organize all their own personal information.
And the model won't necessarily have access to that.
And so there, you can have a big,
advantage because all of a sudden your model has visibility or your product has visibility into
important data. It could be some incredibly hard problem where if you get the right training data
and you can train a more specific model than a general purpose one, you can actually do that
in a very affordable way. Maybe it doesn't take that much compute to train a niche model for this
particular problem, but you can get something that's highly accurate. That can sometimes be a
really good building block for solving a important problem that is maybe not handled very well
by the general model. I think that's interesting. I think you're basically two paths. The first path
is a little bit funny is you guys are organizing the world's information. Yeah. That's probably
kind of well covered. Yeah. But organizing your personal information that's open, which is funny.
And then the second path, you talked about more specialized models in certain domains.
Can you tell us more about what are some of these domains?
Yeah, I mean, I think like if you look at my colleagues' work on, say, alpha fold,
that was a very specific model for protein folding.
And it was highly successful and was able to really handle that domain quite well
so that all of a sudden you now have this amazing tool and model that can give you answers
to questions about proteins and their structure really effectively, but it's not a general model.
It's a very specific one.
And there are other, I think, domains where that kind of approach can work really well,
maybe in material science or chip design or things like that that will enable you to leverage
the capabilities of a very accurate but niche model to do things that are hard today.
That's a good example.
So if some of you find a problem that's similar shape like Alpha Fold could be a good problem
to work on.
Now let's assume you found a problem to work on.
We're going to talk a bit about how do you become an AI native founder?
How do you really become good at it?
You in the past said that managing a fleet of agents, say 50 or 100 agents is all about writing
really good, crisp design docs or specs.
And how do people get good at that?
What did those look like?
Yeah, I mean, I think it's, you'll have a lot more success when working with your virtual agents.
If you can clearly specify what it is you want.
And the clearer you are on what it is you want, the more the agent will have sort of guidelines and sort of rules of, you know, an outline of what it is trying to accomplish.
Whereas if you don't specify very much stuff, the agent has to sort of infer what it is you meant.
And in many cases, it might infer things that are different than what you're imagined.
So we've always told computer scientists from the very beginning that really it's really important to specify what the software that you're writing is trying to accomplish before then going and writing it.
And so now we actually have agent-based systems that can do the writing, but the importance of specifying what it is you want has actually gone up.
because before you'd be handing it off to a very intelligent human who maybe has context or can ask you follow-up questions.
And agents can sometimes do that, but I think clear specifications is a really good idea.
And to give you an example of a use of a coding agent that works extremely well is you can ask today's models to translate software from one computer language to another very effectively,
because in that case, you actually have an incredibly detailed specification.
You have the whole software that says what the system is supposed to do.
And so if you have a Python implementation of something and you want a Go implementation of it,
you know, that is something that the model seem incredibly capable of doing these days
because you can, it can sort of take all the tests that are in Python,
make sure they pass in the Go version, translate the test to go,
you know, compare behavioral differences between the
implementations until there aren't any and be highly effective because that spec is so clear.
Now, let's assume now every founder gets good at running hundreds of agents at the same time
and all the code is written for them by the agents. What becomes the scarce skill?
Yeah, I mean, I think it's really having incredibly good taste in what you ask your agents to work on.
Right. That is the crux of, you know, from my background, a research problem. You know, a researcher can have all the tools and all the techniques, but often most of the battle is what problem are you going to spend your time on? And if you pick the problem well and you succeed in solving it, that's way better than if you, you know, delightfully execute a research investigation into a rather boring problem.
them. And so that high-level wisdom of what to work on, I think, is incredibly important. I think
models are not necessarily going to be that good at it. So you're going to have people steering
a lot of AI-assisted computation in order to accomplish great things and more quickly. But that essence
of what it is you want your models to do is the key thing you should focus on.
So let's talk a bit more about taste because it gets talked a lot about right now in this current area with agent decoding.
How do you exactly build taste and do that?
I mean, yeah, that sounds so esoteric.
How do you make it concrete?
Yeah, I mean, it is a difficult thing.
It's not like there's a measurable objective of taste in a lot of cases.
I think some of it is from experience, you know, working on a lot of different problems in the past.
kind of teaches you about what kinds of problems might be interesting in the future,
or what kinds of things might be just barely possible by cobbling together these previous approaches,
and then some open problems you might have to work on in order to get to something kind of magical or, you know, highly useful.
Another way you can get more experience for yourself is to just write down a bunch of things you think might be important,
in the next 12 months.
And maybe you pick one of them to work on,
but go back and evaluate in 12 months
of these other things,
which ones actually seemed important
or which ones did other people in the world
go out and create
and which ones did not seem to do yet.
That can give you a lot more samples
for your own sort of taste creation capability.
And that's an important skill to have.
I think a third way we were
talking earlier was doing very crazy thought experiments. Oh yeah, that's another good way. I mean,
I think sometimes it's good to not take as a given things that most people seem to take as a given.
So I was doing a crazy thought experiment with some colleagues the other day about, you know,
for 60 years, the whole silicon chip design,
industry, design and fabrication industry have done tremendous work to make smaller and smaller
scale transistors that are very low error rate, right? Because what the assumption that we want
is that every chip we manufacture of the same design should be identical to every other chip.
You don't want any bits to flip. No bits should flip. There's all kinds of things. There's all
kinds of error margins built into, you know, memories have ECC memory these days.
You know, at the at the macro scale, we don't make that assumption when we're building
large-scale distributed systems, right?
We, we build reliable large-scale distributed file systems out of unreliable parts, right?
Like individual disks can fail, but your data should be safe.
And so we have mechanisms at a higher level to enable us to have, you know, three
copies of the data on three different machines and three different racks so that if any rack switch
or individual machine or disk fails, you still have your data. We have Reed Solomon and
coding techniques. But we don't seem to do this at a really extreme level in the sort
of transistor level scale of the technology we're working on. So what would have basically a
interesting thought experiment is what would happen if you tried to build a system out of transistor
that might have, you know, 20 errors per day.
Oh, my God.
Rather than one every million years, right?
That would be a very different design point
and might be, might enable you to do really interesting things
in the fabrication side of things.
You have very different kind of design methodologies
because if you want to get a signal from here to there
and you have these super unreliable transistors,
you might have very different ways of signaling.
You might send it along multiple redundant paths
in order to make sure that it gets along.
One of them, and I think that would be a pretty interesting set of thought experiments.
I'm not saying we should go do this, but that's the kind of thing where you do want to, you know,
occasionally question assumptions.
Now, oftentimes these thought experiments don't work out because they're very good reasons that,
you know, for the last 50 years we've done this thing this way and not that way.
But it's good to kind of revisit those every so often.
That is so wild.
I mean, it's starting to rhyme a lot with neuromorphic computing or the human brain and how nature works.
I mean, exactly.
Like, signals in our brain are not especially reliable from getting one place to another.
And so I think in brains, when there are really important things they need to get from one place to another,
there are multiple pathways that enable you to sort of do that.
What is, I mean, you have such an impressive career.
What is one of these crazy assumptions that you threw out of the window?
that actually built a consequential system in the past.
Yeah, I mean, I guess...
That worked out, actually.
Yeah, I mean, I think, well, TPUs is a good example.
Like, being able to specialize hardware
for a very niche problem domain,
before that problem domain seemed as important as it is today,
is one thought experiment.
You know, I think the origin of MapReduce
is another good example.
So we have...
had worked, you know, Sanjay and myself
and a number of other colleagues had worked
on various iterations of the crawling and indexing system
at Google.
And, you know, we'd sort of written lots of hand parallelized code
with lots of checkpointing to make sure it would be robust
and reliable if it was running on 100 computers
or 1,000 computers and some of those died.
But that code tended to be intermixed
with the actually relatively simple thing,
often we're trying to do. Like, I just want to, like, look at all the contents of all the web pages
and then compute on the side, a mapping from URL to, you know, what language is this page
and it's the text of this page. And it would get obscured by all this kind of other code for
parallelization and reliability. And so we sort of remembered our training in functional languages
and realized we could squint at those problems and develop this map, produce abstraction,
that you could have above this implementation,
and then below the implementation,
you could put all the checkpointing and reliability mechanisms
into that lower-level library
that everything could then build on.
And so that became a hugely successful way
of dealing with very large-scale computations at Google
in a robust and reliable way
from that bot experiment of like,
well, if we squint at it,
could we find lots of problems that fit into this abstraction?
That's impressive.
So this thought experiment
led you to create MapReduce.
Awesome.
Now, let's go back to
you talked a bit about
your interest right now
and working on a lot of customized hardware.
So right now, Alpha Chip
lays out chips. Now you also
got AlphaEvolve that proposes
solutions, evaluates them
and keeps all the ones at work. Seems like
you're starting to build all these systems
that can compound and build AI
that builds AI.
Yeah, I mean, I think more generally there's this sort of the foundation of the scientific method of you propose an experiment, you implement what you need to run the experiment, and you evaluate the experiment, and then you get results from that.
And I think there are more and more problems that are now possible to implement where that whole loop of running, you know, not just a few experiments, but running many, many,
experiments because you're able to automate that loop and make the latency of that loop extremely
low is going to be really, really important.
It's going to enable us to tackle lots of different problem domains in science and engineering
and machine learning model design itself and also in engineering tasks like designing chips.
And so if you can actually do those things in an automated way and have some orchestration
framework that can take very high-level objectives and break them down into sub-problems,
and each of those sub-problems can be one of these automated loop that is exploring the best way
to solve that sub-problem, and then a orchestration framework that can put together sub-problem
solutions into the overall solution for the higher-level problem. That's going to be really
impactful and it's really, really important. And I think it'll enable us to do, you know,
accelerate machine learning progress. It'll enable us to accelerate science and enable us to
accelerate engineering. And I think that's going to be amazing. That sounds awesome. I mean,
it sounds like a lot of fields basically where you can have very good evaluators and maybe
adjacent to basically things that can be formally verified, right? Those are ripe for AI systems
that can self-improve. Yeah. I think in a lot of
cases, sometimes your evaluators need to be made much faster. So as an example, my colleagues
did some work maybe a decade ago on some problems in quantum chemistry where you're trying
to understand the properties of a particular molecule and you can generate some molecule
configuration and then you want to understand what properties it has. And so you can run a very
computationally intensive density functional theory simulator, which is something that might
take like a night of computation to tell you the answer for one thing. But what my colleagues did was
take a bunch of output from those simulation runs, the input molecule configurations, and the
outputs of the expensive simulator, and then use it to train a neural approximation to the simulator.
So this is now a validation device, but instead of it taking a night, they made something
that was 300,000 times faster.
Wow.
And nearly as accurate as running the full-scale simulator.
So now that completely changes how you would do science, right?
Because now you have 10 million things to screen.
You know, you could do that while you go to lunch,
rather than it being a six-month endeavor
where you could try to scrape together enough compute
to run all these simulations.
And I think there's a lot of room in a lot of domains
for much faster validation model.
possibly learned, validation models that can get you an approximation to the true answer much more
rapidly. And that changes how those experimental loops can be thought of and how quickly you can
go around those loops. What are some of the spaces and problems that you're super excited
that this super sped-up scientific method is going to solve or achieve, what particular problems
are spaces?
Well, clearly machine learning itself is one.
So can we have a model that is able to recursively self-improve itself by running lots of experiments?
And if you think about how models are improved today in large research teams, you know, what usually happens is people think of some ideas.
They run a bunch of small-scale experiments. They see if those small-scale experiments worked out well.
If so, they take the most promising ones of those, they try them at larger scale.
And that gets then evaluated, and then the results get integrated together into a new recipe for your model.
But I think there's no real impediment to making that be a much more automated loop,
where the model itself decides it's going to explore, or maybe with a nudge from some people at the various highest level,
like, oh, why don't you try some new ideas around model architectures that incorporate this?
And then they will go run lots of experiments, see which ones work,
and then those will get incorporated at a much more rapid rate.
And, you know, effectively you want to optimize, you know, your discoveries per unit of compute input.
Very cool.
Yeah.
Now, going back to the room, as all of you will become at some point founders or
start your careers, you will probably collect lots of rejections. That will happen.
It has happened to you too, Jeff. I mean, there's a story that in 2014, you with Jeff Hinton
and Oriol Vinalds wrote a paper on distillation. It has to do with taking a big teacher model
to train a much smaller and more efficient model
that's a lot cheaper to compute,
less model parameters.
And it has become a trick
that everyone is using right now in industry.
Yeah.
And the thing is, this paper got rejected at NIRPS.
Yeah, I mean, yeah.
I mean, I think I don't fault the program committee
because, you know, a lot of times
a paper gets three reviews
and someone will look at, one of the reviewers will look at it.
And in this case, they said, oh, it's unlikely to have significant impact.
Unlikely to have significant impact.
But, you know, I think, you know, when we wrote the paper,
we actually saw this was a super important problem
because we knew making cheaper, highly capable models
from larger-scale models was something we desperately wanted to do
because we wanted to serve models to more and more people
in many different domains like speech or vision.
But, you know, sometimes the reviewer maybe didn't have,
that experience because maybe they're not thinking about, you know, large-scale AI services
and are thinking about, you know, is this a fundamental advance? So, so, you know, it gets rejected
every so often, that's fine. We put it on archive, people read it, people use it, it's all good.
And, you know, we do use it in making our flash models, for example, from our larger scale
pro model. That's partly why our flash models, for example, in Gemini are so capable
relative to their size and speed.
They're some of the best in the benchmark for their model size class.
Yeah.
Which is impressive.
And I think part of the lesson is that even if you get rejected, keep going.
Yeah, that's the lesson I would distill from that.
Now, I think the fun thing is that you basically join,
when you join Google a 20-person startup back in 1999,
now if you were to take the young Jeff Dean from way back then to tell us
transport him to now today in this era with your skills.
I'm feeling so vigorous and young now.
What would you do? Do you join a frontier lab, start a company, I don't know.
What would you do the Jeff Dean today, 25-year-old Jeff Dean?
Yeah, I mean, it's always hard to say.
It's a very personal choice of what it is you want to spend your time on.
to me, some of the most important questions are,
are you going to work on something you really care about?
Will you're working on that?
And if you're able to make progress on it
with a bunch of colleagues you like working with,
if you're able to make collectively solve it
or make progress on it,
will that make a difference in the world in some positive way?
Right?
Like, will you suddenly be able to do something
and offer that service to, you know,
maybe it's a very niche thing,
but it will tremendously help biochemists or something.
Or maybe it's a broader thing.
It'll help programmers,
or it will help all consumers on the Internet or other things.
What you should strive to do
is to have impact in the world that is positive.
And to work with people you enjoy working with
and to, you know, work hard
and do your best.
So in terms of, say, the particular trade-off you offered joining a Frontier Lab
versus, say, starting a company with just one or two or three of you and your close friends,
I think those are different experiences, right?
In a large established organization, you have some structure.
You have lots and lots of amazing colleagues who know lots of things you don't.
you have lots of interesting problems that you can work on,
and you already have a platform for impact by your work,
you know, influencing lots and lots of people in the world already.
And then as a very small startup, you know,
you have to have something you're passionate about,
and there's a lot of risk in taking on, you know,
working on that particular problem in a way that,
you're going to succeed and you're going to grow an endeavor in order to do that.
But that can also be incredibly rewarding, I would imagine.
So I think, you know, it's really up to personal taste, but at the very least, regardless
of what path you take, ask yourself, if I work on this problem and the best possible outcome
happens, you know, will the world be a lot better in some way?
Or will the world go, eh, that's kind of cool, but whatever.
That's not the kind of thing you should spend your time on.
Now let's talk a bit about more about that second path
of working with people that you really like in a small team.
You've been able to be an incredible mentor and manager to many, many engineers,
and you've been able to build huge systems.
What are some of the lessons for everyone here
on how to get the most and how to work with smart people or find smart people?
Yeah, I mean, you always want to find people who have really good skills in some area that's needed in a team you're trying to form, whether that's inside a company or starting a company.
But you also want to find people that are people you delight being around, right?
Because you're going to spend a lot of time around people working on really hard problems.
and you want people who are low ego that are team players that, you know, have complementary skills to your own, perhaps.
I always find working in a small team where people know things that I don't know and where maybe I have some skills that other people don't have as much of, you know, is super fun because you're collectively building something or working on something that none of you could maybe do individually.
but in the process of working on that,
you actually gain a lot of new knowledge
and new skills for yourself, and so do they.
And you kind of want to view your engineering
or research career as you have an amazing tool belt of techniques,
and you always want to be adding new tools to that tool belt
because you never know when you might come across a problem
where you need these four specialized tools
rather than these three.
and adding more tools makes it more likely that the problems you encounter in the future will be solvable by you.
Now, one last thing, I'm pretty sure someone in this room or multiple people will eventually build something as consequential as you've done with MapReduce, TPU, distillation, et cetera, et cetera.
What problem do you hope they would be working on?
Oh, yeah. I mean, I think there's a lot of interesting problems in the world. And I'll just rattle off a few. This is not exhaustive because the world is a very big place and full of problems. You know, I'm particularly excited about new approaches to hardware. You know, we thought experiment there was kind of, you know, a, you know, a indication of that or much more efficient inference hardware. You know, I think there are radically different kinds of algorithms.
for machine learning that might be much much more data efficient than the approaches we're using today.
If you think about our large scale models today, they probably see a thousand times as much data
as a human does by the age of 18. Yet the human by the age of 18 is better in a lot of things
and, you know, on par with those frontier models that have seen way more data. So could you come up
with much more data efficient systems that can learn continuously, learn from their own actions,
continual learning is a really interesting thing.
I think multi-agent interactions is an interesting thing.
You know, I think, you know, creating ways of having better discourse among people in the world
could be interesting.
Are there ways to have much more civil conversations and, you know, helping people meet
other people all over the world that they should know based on their interests?
You know, these are kind of interesting things, I think.
There's lots of cool things in the world.
and we should all go and strive to make even cooler things occur.
That sounds wonderful.
Thank you so much, Jeff Dane.
That's all we have today.
Thank you.
Thank you.
Appreciate it.
Thank you all.
