MNEMOSYNEv0.1.2563

Podcasts/Lex Fridman Podcast/Keller, Jim

Keller, Jim

legendary microprocessor engineer; worked on AMD's K7/K8/K12/Zen architectures, Apple's A4/A5 chips, co-author of the x86-64 spec, and Tesla Autopilot hardware; joined Intel at time of recording

Jim Keller: Moore's Law, Microprocessors, and First Principles

Lex Fridman Podcast · Feb 5, 2020

▶ Watch on YouTube

Core ideas

Keller opens by clarifying that comparing brains to computers is currently unproductive since neuroscience hasn't established what computation individual neurons perform, whereas computer architecture has extremely well-understood abstraction layers running from atoms to transistors to logic gates to functional units to full processors to software. He explains modern out-of-order CPU design as "found parallelism": rather than executing instructions strictly in sequence (as old computers did), a modern CPU fetches hundreds of instructions at once, computes a dependency graph between them, and executes independent operations in parallel — contrasting this with GPUs' "given parallelism" (simple, explicitly parallel operations applied to millions of independent data points, like pixels). He details branch prediction's evolution from simple "predict same as last time" (85% accuracy) to counter-based history tracking (92%) to today's neural-network-like deep pattern recognition systems requiring tens of megabits of state to reach ~99% accuracy — necessary because executing 500+ instructions in parallel requires correctly predicting roughly 99 of 100 branches for that speculative window to pay off, and describes advanced techniques that preserve partially-computed results even after a mispredicted branch, since some downstream computations turn out to be invariant to the misprediction.

On chip design methodology, Keller frames much of the work as navigating a tension between "recipes" (narrow, situation-specific procedures) and genuine "deep understanding" (a transferable grasp of underlying principles, analogous to knowing how to bake bread from biology/chemistry/thermodynamics versus following a bread recipe that tells you nothing about making an omelet) — arguing skilled engineers must judge when executing familiar recipes is efficient versus when a problem demands deeper first-principles rethinking. He describes a recurring pattern in his career: incremental feature additions eventually hit diminishing returns, at which point a ground-up architectural rewrite (which he says should ideally happen roughly every five years to make real progress, faster than most organizations are comfortable with) produces something both faster and less complex than the accumulated incremental design — a choice fraught with organizational risk since quarter-by-quarter business incentives discourage the short-term regression that precedes long-term gains. He also reframes organizational design as itself a kind of computer-architecture problem, treating people as "functional units" with different specializations and interaction patterns, observing that the best individual chip architects and the best people-managers are often different personality types entirely.

On Moore's Law, Keller insists it isn't a single trend but a "cascade of diminishing return curves" spanning thousands of distinct innovations (equipment, optics, chemistry, materials science, metallurgy) that collectively produce an apparently smooth exponential — noting he's been told Moore's Law would die "in 10 to 15 years" for essentially his entire 30+ year career, and that a roadmap review he requested found a viable path to another 100x shrink (with only 15 years accounted for at the time of the conversation, meaning likely more yet undiscovered). He explains the physical scale involved (a modern transistor is roughly 1,000×1,000×1,000 atoms; quantum effects appear around 2-10 atoms, implying roughly a million-fold further shrink is theoretically conceivable) and describes his design philosophy of always assuming Moore's Law will continue delivering more transistors, since teams that don't plan architecturally for that influx get "swamped." He connects this to a broader observation (crediting a "Sutton paper" reference from the host and a colleague, Roger Godori) that each roughly 10x jump in computational capability tends to enable qualitatively new kinds of computation — citing history's progression from mainframes to minicomputers to PCs to mobile to (he speculates) an emerging "smart world" — and disputes the host's framing that neural network training is fundamentally a "search," arguing it's better understood as a hierarchical projection/feature-extraction process distinct from the "given search space" of something like chess.

On autonomous driving (drawing on his work leading Tesla's Autopilot hardware), Keller argues the core computational and hardware problem is comparatively tractable — driving doesn't require exceptional intelligence, mainly sustained attention, which computers excel at and humans don't — and that cars, roads, and physics are largely well-modeled, ballistic, and fixed, making trajectory prediction and mapping thorough and repeatable in a way human distracted, "on autopilot" driving isn't. He pushes back against the idea that a car needs a "theory of mind" about why another driver cut it off, arguing autonomous systems can instead maximize "the givens" (comprehensively modeling and remembering intersections, potholes, and object trajectories) rather than needing rich social/psychological inference — a claim the host explicitly and repeatedly disputes, arguing human behavior and scene understanding make driving substantially more complex than ballistics. Keller separately describes the engineering craft of designing automotive AI hardware as balancing specialization against flexibility (fully general-purpose compute is a baseline; GPUs get roughly 5x more throughput via given parallelism; further specialized AI accelerators can gain another 2-5x by hardcoding narrow numerical formats, but risk obsolescence if algorithms shift faster than hardware cycles), under Elon Musk's specific cost constraint of making the computer cheap enough to include in every car regardless of whether the customer buys autonomy — and frames this kind of resource-constrained engineering as satisfying "craftsmen's work," comparing it to violin-making and skilled factory assembly-line work, which he argues is undervalued and more genuinely complex than commonly assumed.

Reflecting on working with Elon Musk, Keller describes Musk's distinctive practice of relentlessly stripping away assumptions to find genuine first principles (illustrated by a friend's improved electric motor design impressing Keller but leaving Musk deliberately unimpressed, since it wasn't a first-principles reconception), and states that this kind of assumption-questioning is intellectually and emotionally demanding but can be systematically cultivated (citing his own practice of reading many books, including 20 management books before taking on an unfamiliar managerial role, as a way of rapidly absorbing distilled expertise). On existential AI risk, Keller expresses skepticism of "superintelligence takeover" fears, arguing society is already highly stratified by ability/interest without violent conflict resulting, and that vastly superior intelligence's interests and goals need not overlap with humans' in ways that would produce conflict (e.g., an ASI wouldn't necessarily care about "coffee at Starbucks" the way it fears humans might). He speculates about whether the universe itself is computational, noting that fully simulating even small physical volumes with quantum-level fidelity seems to require an implausibly, perhaps "close to infinite," amount of computation — making the simulation hypothesis, in his view, an oddly self-undermining idea — and closes reflecting that meaning is found in the very process of living with both optimism and productive uncertainty ("a jaded optimist," per his nephew) rather than in any particular achievement or goal.

Excerpts

On found parallelism versus given parallelism as the core distinction between CPUs and GPUs:

“A modern computer fetches large numbers of instructions, say 500, and then finds the dependency graph between the instructions and executes independent units in those little micro-graphs... GPUs run simple programs on pixels, but you're given a million of them, and the first order the screen you're looking at, it doesn't care which order you do it in — I call that given parallelism, [versus] found parallelism where the narrative is sequential but you discover pockets of parallelism.”

On the recipe-versus-understanding distinction underlying good engineering:

“Imagine you can make a loaf of bread — the recipe says get some flour, add some water, add some yeast, mix it up, let it rise, put it in a pan, put it in the oven. Understanding bread, you can understand biology, supply chains, grain grinders, yeast, physics, thermodynamics... if you have a really good recipe book for making bread, it won't tell you anything about how to make an omelet — but if you have a deep understanding of cooking, bread, omelets, sandwiches... there's a different way of viewing everything.”

On why he doesn't fear superintelligent AI as an existential threat:

“We already have a very stratified society... I suspect the domains of interest for things that are astronomically different are really big — the whole idea that something got 10 times smarter than us and wanted to track us all down because we like to have coffee at Starbucks... it doesn't seem plausible... it seems likely that'll create possibilities that are interesting for us, and its interests will be interesting for it.”