Lex Fridman PodcastGeorge Hotz: Comma.ai, OpenPilot, and Autonomous Vehicles | Lex Fridman Podcast #31
EVERY SPOKEN WORD
150 min read · 30,032 words- 0:00 – 2:11
Simulation hypothesis, virtual machines, and provability limits
- LFLex Fridman
The following is a conversation with George Hotz. He's the founder of Comma.ai, a machine learning based vehicle automation company. He is most certainly an outspoken personality in the field of AI and technology in general. He first gained recognition for being the first person to carrier unlock an iPhone and since then, he's done quite a few interesting things at the intersection of hardware and software. This is the Artificial Intelligence podcast. If you enjoy it, subscribe on YouTube, give it five stars on iTunes, support it on Patreon, or simply connect with me on Twitter @lexfridman, spelled F-R-I-D-M-A-N. And I'd like to give a special thank you to Jennifer from Canada for her support of the podcast on Patreon. Merci beaucoup, Jennifer. She's, uh, been a friend and an engineering colleague for many years since I was in grad school. Your support means a lot and inspires me to keep this series going. And now here's my conversation with George Hotz. Do you think we're living in a simulation?
- GHGeorge Hotz
Y- yes, but it may be unfalsifiable.
- LFLex Fridman
What do you mean by unfalsifiable?
- GHGeorge Hotz
So if the simulation is designed in such a way that they did like a formal proof to show that no information can get in and out, and if their hardware is designed to, for the, anything in the simulation to always keep the hardware in spec, it may be impossible to prove whether we're in a simulation or not.
- LFLex Fridman
So they've designed it such that it's a closed system, you can't get outside the system?
- GHGeorge Hotz
Well, maybe it's one of three worlds. We're either in a simulation which can be exploited, we're in a simulation which not only can't be exploited but like the same thing's true about VMs. Um, a really well-designed VM, you can't even detect if you're in a VM or not.
- LFLex Fridman
(laughs) That's brilliant. So we're, uh, it's, yeah, so the simulation's running on a, on a virtual machine?
- GHGeorge Hotz
Yeah. But now i- in reality all VMs have ways to detect.
- LFLex Fridman
That's the point. I mean, is it, uh, y- you've done quite a bit of hacking yourself, uh, and so you should know that, uh, really any complicated system will have ways in and out.
- 2:11 – 3:55
Formal methods and dependently typed languages as “unhackable” systems
- GHGeorge Hotz
So this isn't necessarily true going forward. I spent my time away from Comma, I learned, uh, Coq.
- LFLex Fridman
Mm-hmm.
- GHGeorge Hotz
It's a dependently typed, like, uh, it's a language we're writing math proofs in.
- LFLex Fridman
Mm-hmm.
- GHGeorge Hotz
And if you write code that compiles in a language like that, it is correct by definition. The, the types check its correctness.
- LFLex Fridman
Mm-hmm.
- GHGeorge Hotz
So it's possible that the simulation is written in a language like this, in which case, you know...
- LFLex Fridman
Yeah, but that, that can't be sufficiently expressive a language like that.
- GHGeorge Hotz
Oh, it can.
- LFLex Fridman
It can be?
- GHGeorge Hotz
Oh, yeah.
- LFLex Fridman
Okay. Well so you, uh, hm, all right, so-
- GHGeorge Hotz
The simulation doesn't have to be Turing-complete if it has a scheduled end date. Looks like it does actually with Entropy.
- LFLex Fridman
I, uh, I don't think that, uh, a simulation as, that results in, uh, something as complicated as the universe wo- would have a form of proof th- of correctness, right? Uh, it's possible of course, uh...
- GHGeorge Hotz
We have no idea how good their tooling is, and we have-
- LFLex Fridman
True.
- GHGeorge Hotz
... no idea how complicated the universe computer really is. It may be quite simple.
- LFLex Fridman
It's just very large, right?
- GHGeorge Hotz
It's very, it's definitely very large.
- LFLex Fridman
But the fundamental rules might be super simple.
- GHGeorge Hotz
Yeah. Conway's game of life kind of stuff.
- LFLex Fridman
Right. (laughs) So if you could hack, so imagine a simulation that is hackable, if you could hack it, what would you change about the univ- like how would you approach hacking a simulation?
- GHGeorge Hotz
The reason I gave that talk-
- LFLex Fridman
I've, uh, by the way, I'm not familiar with the talk you gave, I just read that you talked about-
- GHGeorge Hotz
What's it...
- LFLex Fridman
... escaping the simulation or something like that.
- GHGeorge Hotz
Yeah.
- LFLex Fridman
So maybe you can tell me a little bit about the theme and the message there too.
- 3:55 – 6:32
“Thinking upwards”: narratives, VR as a new frontier, and non-zero-sum gratitude
- GHGeorge Hotz
It wasn't a very practical talk about how to actually escape a simulation. It was more about a way of restructuring, uh, an us versus them narrative. If we continue on the path we're going with technology, I think we're in big trouble, like as a species, and not just as a species but even as me as an individual member of the species. So if we could change rhetoric to be more like to think upwards, like to think about that we're in a simulation and how we could get out, already we'd be on the right path. What you actually do once you do that, well, I assume I would have acquired way more intelligence in the process of doing that, so I'll just ask that.
- LFLex Fridman
So the th- the thinking upwards, what kind of ideas, what kind of breakthrough ideas do you think thinking in that way could ins- inspire? And why did you say upwards?
- GHGeorge Hotz
Upwards-
- LFLex Fridman
Into space? Are you thinking sort of exploration in all forms?
- GHGeorge Hotz
The space narrative, uh, that held for the modernist generation doesn't hold as well for the postmodern generation.
- LFLex Fridman
What's the space narrative? Are we talking about the same space? The three-dimensional space?
- GHGeorge Hotz
Yeah. No, no, no, space-
- LFLex Fridman
Like literally space, yeah.
- GHGeorge Hotz
... like going up in space. Like building, like Elon Musk, like we're gonna build rockets, we're gonna go to Mars, we're gonna colonize the universe.
- LFLex Fridman
And the narrative you're referring... I, I was born in the Soviet Union.
- GHGeorge Hotz
Sure.
- LFLex Fridman
You're referring to the race to space-
- GHGeorge Hotz
The race to space, yes.
- LFLex Fridman
... ex- explore, okay.
- GHGeorge Hotz
That was a great modernist narrative.
- LFLex Fridman
Yeah.
- GHGeorge Hotz
It doesn't seem to hold the same weight in today's culture.
- LFLex Fridman
Hmm.
- GHGeorge Hotz
I'm hoping for good postmodern narratives that replace it.
- LFLex Fridman
So think, let's think, so you work a lot with AI, so AI is one formulation of that narrative. There could be also, I don't know how much you do in VR and AR.
- GHGeorge Hotz
Yeah.
- LFLex Fridman
That's another... I, I know less about it but every time I play with it and, and I research, it's fascinating that virtual world. Are you, are you interested in the virtual world?
- GHGeorge Hotz
I would like to move to virtual reality.
- LFLex Fridman
Uh, in terms of your work or in terms-
- GHGeorge Hotz
No, I would like to physically move there. The apartment I can rent in the cloud is way better than the apartment I can rent in the real world.
- LFLex Fridman
Well, it's all relative, isn't it? Because others will have very nice apartments too, so you'll be inferior in the virtual world as well.
- GHGeorge Hotz
No, that's not how I view the world, right? I don't view the world... I mean, that's a very like, like almost zero summish way to view the world, say like, my great apartment isn't great because my neighbor has one too.
- LFLex Fridman
Right.
- GHGeorge Hotz
No, my great apartment is great because, like, look at this dishwasher, man.
- LFLex Fridman
Yeah.
- 6:32 – 9:25
Origins of Geohot: iPhone unlock, hardware-first hacking, and learning to code
- LFLex Fridman
Yeah. So you have fundamental gratitude. The- the world first learned of, uh, Geohot, George Hotz, in August 2007, maybe before then, but certainly in August 2007, when you were the first person to, uh, unlock, carry unlock an iPhone.
- GHGeorge Hotz
Mm-hmm.
- LFLex Fridman
How did you get into hacking? What was the first system you discovered vulnerabilities for and broke into?
- GHGeorge Hotz
So, that was really kind of the first thing.
- LFLex Fridman
Really?
- GHGeorge Hotz
I had a- I had a book in- in 2006 called Gray Hat Hacking, and I guess I realized that if you acquired these sort of powers, you could control the world.
- LFLex Fridman
Mm-hmm.
- GHGeorge Hotz
But I didn't really know that much about computers back then. I started with electronics. The first iPhone hack was physical.
- LFLex Fridman
Hardware, yeah.
- GHGeorge Hotz
Um, you had to open it up and pull an address line high. And it was because I didn't really know about software exploitation. I learned that all in the next few years and I got very good at it. But back then, I knew about like how memory chips are connected to processors and stuff.
- LFLex Fridman
You knew about software and programming, you just didn't- didn't know-
- GHGeorge Hotz
No.
- LFLex Fridman
Oh, really?
- GHGeorge Hotz
No.
- LFLex Fridman
So your- (laughs) your view of the world and computers was, uh, physical-
- GHGeorge Hotz
Yeah.
- LFLex Fridman
... was com- was hardware.
- GHGeorge Hotz
Actually, if you read the code that I released with that-
- LFLex Fridman
Mm-hmm.
- GHGeorge Hotz
... in August 2000, uh, 7, it's atrocious.
- LFLex Fridman
What language was it?
- GHGeorge Hotz
C.
- LFLex Fridman
C, nice.
- GHGeorge Hotz
And in a broken sort of state machine-esque C. I- I didn't know how to program.
- LFLex Fridman
Yeah. So how did you learn to program? What was your journey? 'Cause, I mean, we'll talk about it. You've, uh, live streamed some of your programming.
- GHGeorge Hotz
Yeah.
- LFLex Fridman
This, uh, chaotic, beautiful mess. How did you arrive at that?
- GHGeorge Hotz
Years and years of practice. I interned at Google, uh, after- the summer after the iPhone unlock.
- LFLex Fridman
Hmm.
- GHGeorge Hotz
And I did a contract for them where I built hardware for- for street view and I wrote a software library to interact with it.
- 9:25 – 10:36
Kira: reversible ‘timeless’ debugging and why it’s rare
- LFLex Fridman
How do you pronounce this, Kira?
- GHGeorge Hotz
Kira, yeah.
- LFLex Fridman
So it's essentially the most efficient way to visualize the change of state of the computer as the program is running. That's what you mean by debugger, right?
- GHGeorge Hotz
Yeah, it's a timeless debugger so you can rewind just as easily as going forward. Think about if you're using GDB, you have to put a watch on a variable-
- LFLex Fridman
Mm-hmm.
- GHGeorge Hotz
... if you want to see if that variable changes. In Kira, you can just click on that variable and then it shows every single time when that variable was changed or accessed. Think about it like Git for your computer's, uh, the- the run log.
- LFLex Fridman
So there's like a- a deep log of, uh, of the state of the computer as the program runs and you can rewind. Why isn't that... or maybe it is, maybe you can educate me, why isn't that kind of debugging used more often?
- GHGeorge Hotz
Uh, 'cause the tooling's bad. Uh, well, two things. One, if you're trying to debug Chrome, Chrome is a 200 megabyte binary that runs slowly on desktops.
- LFLex Fridman
Mm-hmm.
- GHGeorge Hotz
So that's gonna be really hard to use for that. But it's really good to use for like CTFs and for boot ROMs and for small parts of code.
- LFLex Fridman
Mm-hmm.
- GHGeorge Hotz
So it's- it's hard if you're trying to debug like massive systems.
- 10:36 – 18:46
CTFs and modern security: chained exploits, attacker advantage, and ethics
- LFLex Fridman
What's a CTF and what's a boot ROM?
- GHGeorge Hotz
A boot ROM is the first code that executes the minute you give power to your iPhone.
- LFLex Fridman
Okay.
- GHGeorge Hotz
And CTF were these competitions that I played, Capture the Flag.
- LFLex Fridman
Capture the Flag. I was gonna ask you about that.
- GHGeorge Hotz
Yeah.
- LFLex Fridman
What are those? Those look at... I watched a couple of videos on YouTube, those look fascinating. What have you learned about maybe at the high level of vulnerability of systems from these competitions?
- GHGeorge Hotz
The, like... I feel like, like in the heyday of CTFs, you had all of the best security people in the world-
- LFLex Fridman
Mm-hmm.
- GHGeorge Hotz
... challenging each other-
- LFLex Fridman
Yeah, that's-
- GHGeorge Hotz
... and coming up with new toy exploitable things over here and then everybody, "Okay, who can break it?" And when you, when you break it, you get like... there's like a file in the server called Flag.
- LFLex Fridman
Mm-hmm.
- GHGeorge Hotz
And then there's a program running listening on a socket that's vulnerable. So you write an exploit, you get a shell, and then you cat Flag, and then you type the flag into like a web-based scoreboard and you get points.
- LFLex Fridman
So the goal is essentially to find an exploit in the system that allows you to run Shell, to run arbitrary code on that system.
- GHGeorge Hotz
That's one of the categories. That's like the pwnable category. Um...
- LFLex Fridman
Um, pwnable?
- GHGeorge Hotz
Yeah, pwnable. It's like a, you know, you pwn the program. You, uh, it's a program that-
- LFLex Fridman
Oh, uh...
- GHGeorge Hotz
Yeah. (laughs)
- LFLex Fridman
Uh... yeah. You know, fir- first of all, I'm- I apologize, uh, I'm gonna- I'm gonna say I- it's because I'm Russian, but maybe you can help educate me, um...
- GHGeorge Hotz
Some video game like misspelled "own" way back in the day.
- LFLex Fridman
Yeah, and it's just...Uh, I wonder if there's a definition. You'll have to go to Urban Dictionary for it. Um-
- GHGeorge Hotz
Hmm, it'll be interesting to see what it says.
- LFLex Fridman
Okay, so what was the heyday of CTF, uh, by the way? Was it... What decade are we talking about?
- GHGeorge Hotz
I think like... I mean, maybe I'm biased because it's the era that, that, that I played.
- LFLex Fridman
Yeah.
- GHGeorge Hotz
But like 2011 to 2015, because... The modern CTF scene is similar to the modern competitive programming scene. You have people who like do drills, you have people who practice.
- LFLex Fridman
Yeah.
- GHGeorge Hotz
And then once you've done that, you've turned it less into a game of generic computer skill and more into a game of, okay, you memori- you, you drill on these five categories. Um, and then before that it wasn't, uh... It didn't have like as much attention as it had.
- 18:46 – 20:15
Project Zero and responsible disclosure with deadlines
- LFLex Fridman
You were, uh, both at Facebook and Google for a brief stint.
- GHGeorge Hotz
Yeah.
- LFLex Fridman
With, uh, Project Zero actually, uh, at Google for five months where you developed Kira.
- GHGeorge Hotz
Yeah.
- LFLex Fridman
What was Project Zero about in general? Spe- what, what, um... I'm just curious about the security efforts in these companies.
- GHGeorge Hotz
Well, Project Zero started the same time I, I, I went there. What, what, what years were you there?
- LFLex Fridman
2015.
- GHGeorge Hotz
2015. So that was right at the beginning of, of, of Project Zero. It's small. It's Google's offensive security team. I'll, I'll try to give, I'll try to give the best public-facing explanation-
- LFLex Fridman
Mm-hmm.
- GHGeorge Hotz
... that I, I can. So the idea is basically these vulnerabilities exist in the world.
- LFLex Fridman
Mm-hmm.
- GHGeorge Hotz
Uh, nation-states have them, some high-powered bad actors have them. Sometime... people will find these vulnerabilities and submit them in bug bounties to the, uh, companies. Uh, but a lot of the companies don't really care, they don't even fix the bug. There's no... it doesn't hurt for there to be a vulnerability. So Project Zero's like, "We're going to do it different. We're going to announce a vulnerability and we're going to give them 90 days to fix it, and then whether they fix it or not, we're gonna drop the, uh, drop the zero-day."
- LFLex Fridman
Oh, wow.
- GHGeorge Hotz
We're gonna drop the weapon on this exploit.
- LFLex Fridman
That's so cool. That is so cool.
- GHGeorge Hotz
Um...
- LFLex Fridman
I love that, deadlines. Ah, that's so cool.
- GHGeorge Hotz
Give them real deadlines.
- LFLex Fridman
Yeah.
- GHGeorge Hotz
And I think it's done a lot for moving the industry forward.
- 20:15 – 26:49
Programming style, toolchains, and language tradeoffs (Python, Go, JS)
- LFLex Fridman
I watched your coding sessions on, that you streamed online.
- GHGeorge Hotz
Yeah.
- LFLex Fridman
Uh, you code things up, basic projects usually from scratch. I would say, sort of as a programmer myself just watching you, that you type really fast and your brain works in both brilliant and chaotic ways. Uh, I don't know if that's always true, but certainly for the live streams. So it's interesting to me because I'm more, I'm much slower and systematic and careful, and you just move, I mean, probably in an order of magnitude faster. So I'm curious, is there a method to your madness? Is, is it some- or is it just who you are?
- GHGeorge Hotz
There's pros and cons. Um, there's pros and cons to my programming style, and I'm aware of them. Like, if, if you ask me to, like, like get something up and working quickly with like an API that's kind of undocumented-
- LFLex Fridman
Yeah.
- GHGeorge Hotz
... I will do this super fast 'cause I will throw things at it until it works. If you ask me to take a vector and rotate it 90 degrees and then flip it over the XY plane (laughs) , I'll spam program for two hours and won't get it.
- LFLex Fridman
Oh, because it's something that you can just do with a sheet of paper, think through-
- GHGeorge Hotz
Yeah.
- LFLex Fridman
... design, and then just, uh, so you really just throw stuff at the wall and you get so good at it that it usually works.
- GHGeorge Hotz
I should become better at the other kind as well. Sometimes I'll do things methodically. It's nowhere near as entertaining on the Twitch streams. I do exaggerate it a bit on-
- LFLex Fridman
Yeah.
- GHGeorge Hotz
... the Twitch streams as well. The Twitch streams, I mean, what do you want to see a gamer, you want to see actions per minute, right?
- LFLex Fridman
Yeah. Yeah.
- GHGeorge Hotz
Well, I'll show you APM for programming too.
- LFLex Fridman
Yeah. I recommend people go to it. I think I watched, I watched probably several hours of you pro- like I've actually left you programming in the background-
- GHGeorge Hotz
(laughs)
- LFLex Fridman
... while I was programming-
- GHGeorge Hotz
(laughs)
- LFLex Fridman
... because you made me, you're, it was, it was like wa- watching a really good gamer, it's like energizes you 'cause you're like moving so fast and so it's, it's awesome, it's inspiring and it's almo- it made me jealous that like, because my own programming is inadequate in terms of speed-
- GHGeorge Hotz
Oh, I-
- LFLex Fridman
... so I was like... (laughs)
- GHGeorge Hotz
So I'm, I'm, I'm, I'm twice as frantic on the live streams-
- LFLex Fridman
Yeah.
- GHGeorge Hotz
... as I am when I code without-
- LFLex Fridman
Right. Well, it's-
- GHGeorge Hotz
... uh...
- LFLex Fridman
... super entertaining so I, I wasn't even paying attention to what you were coding, which is great. (laughs) It's just watching you switch windows and, uh, Vim I guess is the most
- GHGeorge Hotz
Yeah. Yeah, this is Vim and screen. I've developed a workflow at Facebook and stuck with it.
- LFLex Fridman
How do you learn new programming tools, ideas, techniques these days? What's your, like, uh, methodology for learning new things?
- GHGeorge Hotz
So I wrote for Komma, the distributed file systems out in the world are extremely complex. Like if you want to install something like, like, like Ceph, uh, Ceph is I think the, like, open infrastructure, uh, distributive file system, or there's like newer ones like SeaweedFS, but these are all like 10,000 plus line projects. I think some of them are even 100,000 line, and just configuring them is a nightmare. So I wrote, uh, I wrote one. Um, it's 200 lines and it's, it uses like NGINX for the live servers and has this little master server that I wrote in Go. And the way I-
- 26:49 – 32:10
Comma.ai origin story: Elon Musk meeting and the Mobileye-clone challenge
- LFLex Fridman
Uh, you founded Comma AI. Let's, uh, at a high level, how did you get into the world of vehicle automation? Can you also just, for people who don't know, tell the story of Comma.AI?
- GHGeorge Hotz
Sure. So I was working at this AI startup and, uh, a friend approached me and he's like, "Dude, I don't know where this is going, but the coolest applied AI problem today is self-driving cars."
- LFLex Fridman
Yep.
- GHGeorge Hotz
I'm like, "Well, absolutely." "Do you want to meet with, uh, Elon Musk?"
- LFLex Fridman
Hmm.
- GHGeorge Hotz
"And, uh, uh, he's looking for somebody to build a vision system-"
- LFLex Fridman
Mm-hmm.
- GHGeorge Hotz
"... for, uh, autopilot." This is when they were still on AP1, they were still using Mobileye.
- LFLex Fridman
Yep.
- GHGeorge Hotz
Elon, back then, was looking for a replacement and he brought me in and we talked about a contract where I would deliver something that meets Mobileye-level performance, uh, I would get paid $12 million if I could deliver it tomorrow and I would lose $1 million for every month I didn't deliver.
- LFLex Fridman
Yeah.
- GHGeorge Hotz
Um, so I was like, "Okay, this is great deal, this is a super exciting challenge. You know what? Even if it takes me 10 months, I get $2 million, it's good. Maybe I can finish up in five, maybe I don't finish it all and I get paid nothing and I'll work for 12 months for free."
- LFLex Fridman
So maybe, uh, just take a pause on that. I'm also curious about this because I've been working in robotics for a long time and I'm curious to see a person like you just step in and sort of, um, somewhat naive, but brilliant, right? So that's th- though that's the best place to be 'cause you basically full steam take on a problem. How confident, how, from that time, 'cause you know a lot more now, at that time, how hard do you think it is to solve all of autonomous driving?
- GHGeorge Hotz
I remember I suggested to Elon in the meeting, um, putting a GPU behind each camera to keep the compute local. This is an incredibly stupid idea. I leave the meeting 10 minutes later and I'm like, "I could have spent a little bit of time thinking about this problem before I would've-"
- LFLex Fridman
Why is this a stupid idea?
- GHGeorge Hotz
Oh, just send all your cameras to one big GPU, you're much better off doing that.
- LFLex Fridman
Oh, sorry, you said behind every camera have a GPU.
- GHGeorge Hotz
Every camera have a small GPU. I was like, "Oh, I'll put the first few layers of my comp there." Ugh. Like, why'd I say that?
- LFLex Fridman
That's possible. I mean-
- GHGeorge Hotz
It's possible, but it's a bad idea. It's, it's-
- LFLex Fridman
Uh, it's not obviously a bad idea.
- GHGeorge Hotz
Pretty obviously a bad... But whether it's actually a bad idea or not, I, I left that meeting with Elon like beating myself up. I'm like, "Why'd I say something stupid?"
- LFLex Fridman
Yeah, you haven't, like you haven't-
- GHGeorge Hotz
Um-
- LFLex Fridman
... at least like thought through every aspect fully, yeah.
- GHGeorge Hotz
Well, he's very sharp, too.
- LFLex Fridman
Yeah.
- GHGeorge Hotz
Like usually in life, I get away with saying stupid things and then kind of course... Oh, right, right away he called me out about it. And like usually in life I get away with saying stupid things-
- LFLex Fridman
Yeah.
- GHGeorge Hotz
... and then like people will, uh, you know, pe- a lot of times people don't even notice and I'll like correct it and bring the conversation back.
- 32:10 – 35:33
What matters today: lane-centering value, Tesla critique, and OpenPilot’s product focus
- LFLex Fridman
(laughs) Two years? So yeah, so what do you think, um, what do you think about, uh, how Tesla's progressing with autopilot V2, V3?
- GHGeorge Hotz
I think we've kept pace with them pretty well. I think Navigator and autopilot is terrible. We had some demo features internally of the same stuff, and we would test it, and I'm like, "I'm not shipping this even as, like, open source software to people."
- LFLex Fridman
Why do you think it's terrible?
- GHGeorge Hotz
Consumer Reports does a great job of describing it. Like, when it makes a lane change, it does it worse than a human.
- LFLex Fridman
Mm-hmm.
- GHGeorge Hotz
You shouldn't ship things like... Autopilot, OpenPilot, they lane-keep better than a human.
- LFLex Fridman
Right.
- GHGeorge Hotz
If you turn it on for a stretch of, uh, highway, like an hour long, it's never gonna touch a lane line. A human will touch probably a lane line twice.
- LFLex Fridman
You just inspired me. I don't know if y- you're grounded in data on that. But-
- GHGeorge Hotz
I, I read your paper.
- LFLex Fridman
Okay.
- GHGeorge Hotz
(laughs)
- LFLex Fridman
But that... No, but that's interesting. Uh, I wonder actually how often we touch lane lines, uh, in gen- like, a l- a little bit, 'cause it is the-
- GHGeorge Hotz
I could, I could answer that question pretty easily with the Comma dataset.
- LFLex Fridman
Yeah. I'm curious. I, I-
- GHGeorge Hotz
I, I've never answered it. I don't know.
- LFLex Fridman
Yeah, yeah.
- GHGeorge Hotz
I, I just... two is like my personal-
- LFLex Fridman
It's, it feels-
- GHGeorge Hotz
Yeah.
- LFLex Fridman
... it feels right. Well, that's interesting 'cause that every time you touch a lane, that's a source of, um, a little bit of stress, and kind of lane keeping is removing that stress.
- GHGeorge Hotz
Yeah.
- LFLex Fridman
That's all to me the big, the biggest value-add, honestly, is just removing the stress of having to stay in lane. And I think honestly, I don't think people fully realize first of all that that's a big value-add, uh, but also that that's all it is.
- GHGeorge Hotz
And that... Not only I find it a huge value-add. I, I drove down... when we moved to San Diego, I drove down in o- Enterprise rent-a-car-
- LFLex Fridman
Mm-hmm.
- GHGeorge Hotz
... and I missed it so... I missed having the system so much. It, it, it's so much more tiring-
- LFLex Fridman
Yeah.
- GHGeorge Hotz
... to drive without it. It's, it is that lane centering that's the key feature.
- LFLex Fridman
Yeah.
- GHGeorge Hotz
And in a way, it's the only feature that actually adds value to people's lives in autonomous vehicles today. Waymo does not add value to people's lives. It's a more expensive, slower, slower Uber. Maybe someday it'll be this big cliff where it adds value, but-
- 35:33 – 40:55
OpenPilot hardware/software architecture and vehicle integration via CAN
- LFLex Fridman
Okay, so let's maybe talk through some of the system specs on the hardware. W- what i- what's, what's the hardware side of, uh, what you're providing? What's the capabilities on the software side with-
- GHGeorge Hotz
Sure.
- LFLex Fridman
... OpenPilot and so on?
- GHGeorge Hotz
So OpenPilot as the, the, the box that we sell that it runs on, it's a phone in a plastic case.
- LFLex Fridman
Mm-hmm.
- GHGeorge Hotz
Um, it's nothing special. We sell it without the software. So you're like, you know, you buy the phone and it's just easy, it'll be easy set up, but it's sold with no software. OpenPilot right now is about to be 0.6. When it gets to 1.0, I think we'll be ready for a consumer product. We're not gonna add any new features. We're just gonna make the lane keeping really, really good.
- LFLex Fridman
Okay, I gotcha then. (laughs)
- GHGeorge Hotz
Um, so what do we have right now?
- LFLex Fridman
Yeah.
- GHGeorge Hotz
Uh, it's a, uh, Snapdragon 820. It's a Sony IMX298 forward-facing camera.
- LFLex Fridman
Mm-hmm.
- GHGeorge Hotz
Um, driver monitoring camera, which is a selfie cam on the phone. And, uh...... a CAN transceiver, maybe, there's a thing called pandas.
- LFLex Fridman
Mm-hmm.
- GHGeorge Hotz
And they talk over USB to the phone, and then they have three CAN buses that they talk to the car on. Uh, one of those CAN buses is the radar CAN bus, one of them is the main car CAN bus, and the other one is the proxy camera CAN bus.
- LFLex Fridman
Mm-hmm.
- GHGeorge Hotz
We leave the existing camera in place so we don't turn AEB off. Uh, right now, we still turn-
- LFLex Fridman
Yeah.
- GHGeorge Hotz
... AEB off if you're using our longitudinal, but we're going to fix that before 1.0.
- LFLex Fridman
Got it. Wow. That's cool. So, and it's CAN both ways. So, how are you able to control vehicles?
- GHGeorge Hotz
So, we proxy... The vehicles that we work with already have a lane keeping assist system.
- LFLex Fridman
Mm-hmm.
- GHGeorge Hotz
So, lane keeping assist can mean a huge variety of things.
- LFLex Fridman
Okay.
- GHGeorge Hotz
It can mean... It will apply a small torque to the wheel after you've already crossed a lane line by a foot-
- LFLex Fridman
Mm-hmm.
- GHGeorge Hotz
... which is the system in the older Toyotas. Versus, like, I think Tesla still calls it lane keeping assist, where it'll keep you perfectly in the center of the lane, uh, on the highway.
- LFLex Fridman
You can control, like you-
- GHGeorge Hotz
Yeah.
- LFLex Fridman
... with a joystick, the car. These, so these cars already have the capability of drive-by-wire. So, uh, is it... Is it trivial to convert a car that it operates with, uh, it c- it, uh, OpenPilot's able to control the steering?
- GHGeorge Hotz
Yeah. Oh, a new car or a car that we... So we have support now for 45 different makes of cars.
- 40:55 – 49:35
Driver monitoring and the Level 2 safety model (engage/disengage design)
- LFLex Fridman
And, uh, the other one is the data, the other direction, which is the ability to query the data. I don't think they're actually collecting as much data as people think, but the ability to turn on collection and turn it off. Uh, so I'm both in the robotics world and the, the psychology human factors world. Many people believe that level two autonomy is problematic because of the human factor. Like, the more the task is automated, the more there's a vigilance decrement. You start to fall asleep, you start to become complacent, start texting more and so on. Do you worry about that? 'Cause if you're talking about transition from lane keeping to full autonomy, if you're spending 80% of the time not supervising the machine, do you worry about what that means-
- GHGeorge Hotz
Two things.
- LFLex Fridman
... for the safety of the drivers?
- GHGeorge Hotz
One, we don't consider OpenPilot to be 1.0 until we have 100% driver monitoring. You, you can cheat right now our driver monitoring system. There's a few ways to cheat it. They're pretty obvious. Um, we're working on making that better. Before we ship a consumer product that can drive cars, I want to make sure that I have driver monitoring that you can't cheat.
- LFLex Fridman
What's, like, a successful driver monitoring system look like? It's keep... It's, is it all about just keeping your eyes on the road?
- GHGeorge Hotz
Um, well, a few things. So that's what we went with at first for driver monitoring. I'm checking, I'm actually looking at where your head is looking. The camera's not that high resolution; eyes are a little bit hard to get.
- LFLex Fridman
Well, head is, is big. I mean, that's, uh...
- GHGeorge Hotz
Head is, head is good. And actually a lot of it, just v- uh, psychology wise, to have that monitor constantly there, it reminds you that you have to be paying attention. But we want to go further. We just hired someone full time to come on and do the driver monitoring. Uh, I want to detect phone in frame.... and I want to make sure you're not sleeping.
- LFLex Fridman
How much does the camera see of the body?
- GHGeorge Hotz
This one, not enough.
- LFLex Fridman
Not enough.
- GHGeorge Hotz
The next one, everything.
- LFLex Fridman
Well, it's interesting now, fisheye, 'cause we have, uh, we're doing just data collection, not real time.
- GHGeorge Hotz
Yeah.
- LFLex Fridman
But fisheye is a beautiful, uh-
- GHGeorge Hotz
Yeah.
- LFLex Fridman
... being able to capture the body, and the smartphone is really like the biggest problem.
- GHGeorge Hotz
I'll, I'll show you, uh, I can show you one of the pictures from, from our, our new system.
- LFLex Fridman
Awesome. So you're basically saying the driver monitoring will be the answer to that.
- GHGeorge Hotz
Um, I think the other, uh, point that, that you raised in your paper is, is good as well. You're, you're not asking a human to, uh, supervise a machine, uh, without giving them the... they can take over at any time.
- LFLex Fridman
Right. There's-
- GHGeorge Hotz
Our, our safety model, you can take over. We, we disengage on both the gas or the brake. Uh, we don't disengage on steering. I don't feel you have to. But, uh, we disengage on gas or brake. So it's very easy for you to take over.
- LFLex Fridman
Right.
- GHGeorge Hotz
And it's very easy for you to reengage. That switching should be super cheap.
- LFLex Fridman
Yep.
- GHGeorge Hotz
The cars that require... even autopilot requires a double press. That's almost... I see, I don't like that.
- LFLex Fridman
Yeah.
- GHGeorge Hotz
And then, then they cancel. Um, to cancel in autopilot, you either have to press Cancel, which no one knows where that is, so they press the brake.
- LFLex Fridman
Okay.
- GHGeorge Hotz
But a lot of times you don't actually want to press the brake.
- 49:35 – 51:03
OpenPilot limitations, stopped-car radar issue, and skepticism of HD mapping
- LFLex Fridman
So what are the current limitations of, uh, OpenPilot? What are the main problems that still need to be solved?
- GHGeorge Hotz
Um, s- we're hopefully fixing, uh, a few of them in- in- in 06. We're not as good as autopilot at stopped cars. Um, so if you're coming, uh, up to a red light at, like, 55, um, so it's the radar-stopped car problem-
- LFLex Fridman
Mm-hmm.
- GHGeorge Hotz
... which is responsible for two autopilot accidents. Uh, it's hard to differentiate a stopped car from a, uh, like, signpost.
- LFLex Fridman
Yeah, a static object.
- GHGeorge Hotz
Um, so you have to fuse. You have to do this visually. There's no way from the radar data to tell the difference. Maybe you could make a map, but I- I don't know, I don't really believe in mapping at all anymore. Um, so-
- LFLex Fridman
Wait, wait, wait, what? You don't believe in mapping?
- GHGeorge Hotz
No.
- LFLex Fridman
So, you basically ... the OpenPilot solution is saying react to the environment as you see it-
- GHGeorge Hotz
Exactly.
- LFLex Fridman
... just like human doing- beings do. Okay.
- GHGeorge Hotz
And then eventually when you want to do navigate on, uh, OpenPilot, I'll train the net to look at Waze. I'll run Waze in the background and I'll try and
- NANarrator
(laughs)
- LFLex Fridman
Are-
- GHGeorge Hotz
... comp that on Waze.
- LFLex Fridman
(laughs) are you using GPS at all?
- GHGeorge Hotz
We use it to ground truth. We use it to very carefully ground truth the paths. Uh, we have a stack which can recover relative to 10 centimeters over one minute. Um, and then we use that to ground truth exactly where the car went in that local part of the environment, but it's all local.
- LFLex Fridman
How are you testing in general, just for yourself? Like, experiments and stuff? All right-
- GHGeorge Hotz
Um-
- LFLex Fridman
Uh, where are you- wh- where are you located?
- GHGeorge Hotz
San Diego.
- LFLex Fridman
San Diego?
- GHGeorge Hotz
Yeah.
- LFLex Fridman
Okay. Uh, what ... So you basically drive around there, collect some data and- and watch-
- GHGeorge Hotz
Um-
- LFLex Fridman
... performance?
- 51:03 – 53:07
Simulators: replaying real drives vs ‘GTA-style’ synthetic worlds
- GHGeorge Hotz
We have a simulator now. And we have ... our simulator's-
- LFLex Fridman
Nice.
- GHGeorge Hotz
... really cool. Our simulator is not, uh, it's not like a unity base simulator. Our simulator lets us load in real state.
- LFLex Fridman
What do you mean, real estate?
- GHGeorge Hotz
We can load in a drive and simulate what the system would have done on the historical data.
- LFLex Fridman
Ooh. Nice. Interesting. So what-
- GHGeorge Hotz
(laughs)
- LFLex Fridman
Yeah.
- GHGeorge Hotz
Right now, we're only using it for testing, but as soon as we start using it for training, that's it. That's
- NANarrator
(laughs)
- LFLex Fridman
So it's for testing?
- GHGeorge Hotz
... self-driving cars.
- LFLex Fridman
What's your feeling about the real world versus simulation? Do you like simulation for training, if- if this moves to training?
- GHGeorge Hotz
So, we have to distinguish two types of simulators, right? There's a simulator that, like, is completely fake. I could get my car to drive around in GTA.
- LFLex Fridman
Mm-hmm.
- GHGeorge Hotz
Um, I feel that this kind of simulator is useless. You're never ... there- there's so many ... ah, my analogy here is like, okay, fine, you're not solving the computer vision problem, but you're solving the computer graphics problem.
- LFLex Fridman
Right.
- GHGeorge Hotz
And-
- LFLex Fridman
And you don't think you can get very far by creating ultra-realistic graphics?
- GHGeorge Hotz
No. Because you can create ultra-realistic graphics of the road, now create ultra-realistic behavioral models of the other cars. Oh, well, I'll just use my self-driving ... No, you won't. You need real- you need actual human behavior, because that's what you're trying to learn. The de- driving does not have a spec. The definition of driving is what humans do when they drive. Whatever Waymo does, I don't think it's driving.
- LFLex Fridman
Right. Well, I- I think actually Waymo and others, it's- if there's any use for reinforcement learning, I've seen it used quite well, I study pedestrians a lot too, is, uh, try to train models from real data of how pedestrians move and try to use reinforcement learning models to make pedestrians move in human-like ways.
- GHGeorge Hotz
By that point, you've already gone so many layers. You detected a pedestrian?
- LFLex Fridman
Yeah.
- GHGeorge Hotz
Did you- did you hand code the feature vector of their state?
- LFLex Fridman
Right.
- GHGeorge Hotz
Did you guys learn anything from computer vision before deep learning? Well, okay, you know, I feel like this- this is-
- 53:07 – 1:27:24
End-to-end driving: no clean perception/planning interface and the 1024-dim ‘state’
- LFLex Fridman
So- so perception to you, is- is the sticking point? Is ... I mean, what- w- what's-
- GHGeorge Hotz
I-
- LFLex Fridman
... what's the hardest part of the stack here?
- GHGeorge Hotz
There is no-
- LFLex Fridman
Or simulation?
- GHGeorge Hotz
... human understandable s- uh, feature vector separating perception and planning. That's the best way I can- I can put that.
- LFLex Fridman
There is no ... So it's all together. And it's a- it's a- it's a-
- GHGeorge Hotz
Um-
- LFLex Fridman
It's a joint problem.
- GHGeorge Hotz
So, you can take localization. Localization and planning, there is a human understandable feature vector between these two things. I mean, okay, so I have like, the three degrees position, three degrees orientation and those derivatives?
- LFLex Fridman
Mm-hmm.
- GHGeorge Hotz
Maybe those second derivatives? Right, that's human understandable. That's physical. The ... between perception and planning, um, so like, Waymo has a perception stack and then a planner. Um, and one of the things Waymo does right is they have a simulator-
- LFLex Fridman
Mm-hmm.
- GHGeorge Hotz
... that can separate those two. They can, like, replay their perception data and test their system, which is what I'm talking about, about, like, the two different kinds of simulators. There's the kind that can work on real data and there's the kind that can't work on real data. Now, the problem is that I don't think you can hand code a feature vector.
- LFLex Fridman
Mm-hmm.
- GHGeorge Hotz
Right? Like- like, you have some list of, like, oh, here's my list of cars in the scenes, here's my list of pedestrians in the scene. This isn't what humans are doing.
- LFLex Fridman
What are humans doing?
- GHGeorge Hotz
Global. Some- some- some-
- LFLex Fridman
And you're saying that's too difficult to, um, hand engineer?
- GHGeorge Hotz
I'm saying that there is no state vector. Given a perfect ... I could give you the best team of engineers in the world to build a perception system, and the best team to build a planner. All you have to do is define the state vector that separates those two.
- LFLex Fridman
I'm missing the state vector that separates those two. What do you mean?
- GHGeorge Hotz
Yeah. So, what is the output of your perception system?
- LFLex Fridman
I'll put it as a perception system. Uh, it's, um, there's- there- okay, well, there's several ways to do it. But the one, one is this slam component is localization.
- GHGeorge Hotz
Yeah, sure.
- LFLex Fridman
The other is drivable area, drivable space.
- GHGeorge Hotz
Drivable space, yep.
- LFLex Fridman
And then there's the different objects in the scene.
- GHGeorge Hotz
Yep.
- LFLex Fridman
Uh, and, uh, d- different objects in the scene over time maybe-
- GHGeorge Hotz
Mm-hmm.
Episode duration: 1:59:36
Install uListen for AI-powered chat & search across the full episode — Get Full Transcript
Transcript of episode iwcYp-XT7UI