hello everyone uh sorry for the delay um
thanks for coming
and um sorry i had some technical
difficulties
really neat ai for this
so uh what we want to
show today is that tesla is
much more than an electric car company
that we have
deep ai activity
in
hardware on the inference level on the
training level
and
basically we
i think we’re
i think arguably the leaders in real
world ai as it applies to the real world
um
and those of you who have seen the full
self-driving
beta i can appreciate the rate at which
the tesla
neural net is learning to to drive
and um
so this is a particular application of
ai but i think there’s there’s more
there are more applications uh down the
road that will make sense and we’ll talk
about that later in the presentation
but um
yeah we basically want to encourage
anyone who is interested in
solving real-world ai problems
at either the hardware or the software
level to join tesla or consider drawing
tesla
so let’s see we’ll start off with andre
great
okay hi everyone um welcome
my name is andre and um i am
i lead the vision team here at tesla
autopilot and i’m incredibly excited to
be here uh to kick off this section
giving you a technical deep dive into
the autopilot stack and showing you all
the under the hood components that go
into making the car drive all by itself
so we’re going to start off with the
vision component here
now in division component what we’re
trying to do is we’re trying to design a
neural network that processes the raw
information
which in our case is the eight cameras
that are positioned around the vehicle
and they send us images and we need to
process that in real time into what we
call the vector space and this is a
three-dimensional representation of
everything you need for driving so this
is the three-dimensional positions of
lines edges curbs
traffic signs traffic lights
cars their positions orientations
depth velocities and so on
so here i’m showing a video of
actually hold on
apologies
so here i’m showing the video of the raw
inputs that come into the stack and then
neural processes that into the vector
space and you are seeing parts of that
vector space rendered in the instrument
cluster on the car
now
what i find kind of fascinating about
this is that we are effectively building
a synthetic animal from the ground up so
the car can be thought of as an animal
it moves around it senses the
environment and uh you know acts
autonomously and intelligently and
we are building all the components from
scratch in-house so we are building of
course all of the mechanical components
of the body the nervous system which is
all the electrical components and for
our purposes the brain of the autopilot
and specifically for this section the
synthetic visual cortex
now the biological visual cortex
actually has quite intricate structure
and a number of areas
that organize the information flow of
this brain and so in particular in our
in your visual cortices
the information hits the
light hits the retina it goes through
the lgn all the way to the back of your
visual cortex goes through areas v1 v2
v4 the it the venture on the dorsal
streams and the information is organized
in a certain layout and so when we are
designing the visual cortex of the car
we also want to design the neural
network architecture of how the
information flows in the system
so the processing starts in the
beginning when light hits our artificial
retina and we are going to process this
information with neural networks now i’m
going to roughly organize this section
chronologically so starting off with
some of the neural networks and what
they looked like roughly four years ago
when i joined the team and how they have
developed over time
so
roughly um
four years ago the car was mostly
driving in a single lane going forward
on the highway and so it had to keep
lane and it had to keep distance away
from the car in front of us and at that
time all of processing was only on
individual image level so a single image
has to be analyzed by a neural net and
make little pieces of the vector space
process that into little pieces of the
vector space so this processing
took the following shape we take a 1280
by 960 input and this is 12 bit integers
streaming in at roughly 36 hertz now
we’re going to process that with the
neural network so instantiate a feature
extractor backbone in this case we use
residual neural networks so we have a
stem and a number of residual blocks
connected in series
now the specific class of resnets that
we use are regnets because we like this
is like a very rec nets offer a very
nice design space for neural networks
because they allow you to very nicely
trade off latency and uh accuracy
now these reg nets give us as an output
a number of features at different
resolutions in different scales so in
particular on the very bottom of this
feature hierarchy we have very high
resolution information with very low
channel counts and all the way at the
top we have low spatial low resolution
especially but high channel counts so on
the bottom we have a lot of neurons that
are really scrutinizing the detail of
the image and on the top we have neurons
that can see most of the image and a lot
of that context have a lot of that scene
context
we then like to process this with
feature pyramid networks in our case we
like to use by fbns and they get the
mult they get to multiple scales to talk
to each other effectively and share a
lot of information so for example if
you’re a neuron all the way down in the
network and you’re looking at a small
patch and you’re not sure this is a car
or not it definitely helps to know from
the top players that hey you are
actually in the vanishing point of this
highway and so that helps you
disambiguate that this is probably a car
after a buy fbn and a feature fusion
across scales we then go into task
specific heads so for example if you are
doing object detection we have a one
stage yolo like object detector here
where we initialize a raster and there’s
a binary bit per position telling you
whether or not there’s a car there and
then in addition to that if there is
here’s a bunch of other attributes you
might be interested in so the x y with
height offset or any of the other
attributes like what type of a car is
this and so on
so this is for the detection by itself
now very quickly we discovered that we
don’t just want to detect cars we want
to do a large number of tasks so for
example we want to do traffic light
recognition and detection a lane
prediction and so on so very quickly we
conversion this kind of architectural
layout where there’s a common shared
backbone and then branches off into a
number of heads so
we call these uh therefore hydronets and
these are the heads of the hydra
now
this architectural layout has a number
of benefits so number one
because of the feature sharing we can
amortize the forward pass inference in
the car at test time and so this is very
efficient to run
because if we had to have a backbone for
every single task that would be a lot of
backbones in the car
number two this decouples all of the
tasks so we can individually work on
every one task in isolation and for
example we can we can upgrade any of the
data sets or change some of the
architecture of the head and so on and
you are not impacting any of the other
tasks and so we don’t have to revalidate
all the other tasks which can be
expensive
and number three because there’s this
bottleneck here and features
what we do fairly often is that we
actually cache these features to disk
and when we are doing these fine tuning
uh workflows we only fine-tune from from
the cached features up and only find you
in the heads so most often in terms of
our training workflows we will do an
end-to-end training run once in a while
where we train everything jointly then
we cache the features
at the multiscale feature level and then
we fine-tune off of that for a while and
then end-to-end train once again and so
on
so here’s the kinds of predictions that
we were obtaining i would say several
years ago now
uh from one of these hydronitis so again
we are processing individual images
there we go we are processing just
individual image and we’re making a
large number of predictions about these
images so for example here you can see
predictions of the stop signs uh the
stop lines uh the lines the edges the
cars uh the traffic lights uh the curbs
here
uh whether or not the car is sparked uh
all of the static objects like trash
cans cones and so on and everything here
is coming out of the net
here in this case out of the hydra net
so that was all fine and great but as we
worked towards fsd we quickly found that
this is not enough so where this first
started to break was when we started to
work on smart summon here i am showing
some of the predictions of only the curb
detection task and i’m showing it now
for every one of the cameras
so we’d like to wind our way around the
parking lot to find the person who is
summoning the car now the problem is
that you can’t just directly drive on
image space predictions you actually
need to cast them out and form some kind
of a vector space around you
so we attempted to do this using c plus
and developed what we call
the occupancy tracker at the time
so here we see that the curb detections
from the images are being stitched up
across camera scenes camera boundaries
and over time
now there are two pro two major problems
i would say with the setup number one we
very quickly discovered that tuning the
occupancy tracker and all of its hyper
parameters was extremely complicated you
don’t want to do this explicitly by hand
in c plus you want this to be inside the
neural network and train that end to end
number two we very quickly discovered
that the image space is not the correct
output space uh you don’t want to make
predictions in image space you really
want to make it directly in the vector
space so here’s a way of illustrating
the issue
so here i’m showing on the first row the
predictions of our curves and our lines
in red and blue and
they look great in the image but once
you cast them out into the vector space
things start to look really terrible and
we are not going to be able to drive on
this so
you see how the predictions are quite
bad in vector space and the reason for
this fundamentally is because you need
to have an extremely accurate depth per
pixel in order to actually do this
projection and so you can imagine just
how high of the bar it is to predict
that depth so accurately in these tiny
in every single pixel of the image and
also if there’s any occluded area where
you’d like to make predictions you will
not be able to because it’s not an image
space
concept in that case
so we very quickly
real of
the other problems with this by the way
is also for object detection if you are
only making predictions per camera then
sometimes you will encounter cases like
this where a single car actually spans
five of the eight cameras
and so if you are making individual
predictions then no single camera since
sees all of the car and so obviously
you’re not going to be able to do a very
good job of predicting that whole car
and it’s going to be incredibly
difficult to fuse these measurements
so we have this intuition that what we’d
like to do instead is we’d like to take
all of the images and simultaneously
feed them into a single neural net and
directly output in vector space now this
is very easily said much more difficult
to actually achieve but roughly we want
to lay out a neural net in this way
where we process every single image with
a backbone
and then we want to somehow fuse them
and we want to re-represent it the the
features from image space features to
directly some kind of vector space
features and then go into the decoding
of the head
now
um so there are two problems with this
problem number one
how do you actually create the neural
network components that do this
transformation
and you have to make it differentiable
so that end-to-end training is possible
and number two uh
the if you want vector space predictions
from your neural net you need vector
specif based data sets so just labeling
images and so on is not going to get you
there you need vector space labels we’re
going to talk a lot more about problem
number two later in the talk for now i
want to focus on the neural network
architectures so i’m going to deep dive
into problem number one
so here’s the rough problem right we’re
trying to have this bird’s eye view
prediction instead of image space
predictions so for example let’s focus
on a single pixel in the output space in
yellow and this pixel is trying to
decide am i part of a curb or not as an
example
and now where should the support for
this kind of a prediction come from in
the image space
well we know roughly how the cameras are
positioned and their extrinsics and
intrinsics so we can roughly project
this point into the camera images and
you know the evidence for whether or not
this is a curve may come from somewhere
here in the images the problem is that
this projection is really hard to
actually get correct because it is a
function of the road surface the road
surface could be sloping up or sloping
down or also there could be other data
dependent issues for example there could
be occlusion due to a car so if there’s
a car occluding this this viewport this
this part of the image then actually you
may want to pay attention to a different
part of the image not the part where it
projects and so because this is data
dependent it’s really hard to have a
fixed transformation for this component
so in order to solve this issue
we use a transformer to represent this
space and this transformer
uses multi-headed self-attention and
blocks off it
in this case actually we can get away
with even a single block
doing a lot of this work
and
effectively what this does is you
initialize a raster of the size of the
output space that you would like and you
tile it with positional encodings with
size and coses in the output space and
then these get encoded with an mlp into
a set of query vectors
and then all of the images and their
features also emit their own keys and
values and then the queries keys and
values feed into the multi-headed
self-attention and so effectively what’s
happening is that every single image
piece is broadcasting in its key
what it is what is it a part of so hey
i’m part of a pillar in roughly this
location and i’m seeing this kind of
stuff and that’s in the key and then
every query is something along the lines
of hey i’m a pixel in the output space
at this position and i’m looking for
features of this type
then the keys and the queries interact
multiplicatively and then the values get
pulled accordingly
and so this re-represents the space and
we find this to be very effective for
this transformation so if you do all of
the engineering correctly this again is
very easily saiddifficult to do you do all of the
engineering correctly um
there’s one more there’s no problem
actually before
i’m not sure what’s up with the slides
so one more thing you have to be careful
with some of the details here when you
are trying to get this to work so in
particular all of our cars
uh are slightly cockeyed in a slightly
different way and so if you’re doing
this transformation from image space to
the output space you really need to know
what your camera calibration is and you
need to feed that in somehow into the
neural net and so you could definitely
just like concatenate the camera
calibrations of all of the images and
somehow feed them in with an mlp
but actually we found that we can do
much better by transforming all of the
images into a synthetic virtual camera
using a special rectification transform
so this is what that would look like
we insert a new layer right above the
image rectification layer it’s a
function of camera calibration and it
translates all of the images into a
virtual common camera so if you were to
average up a lot of repeater images for
example which faced at the back
you would without doing this you would
get a kind of a blur but after doing the
rectification transformation you see
that the back mirror gets really crisp
so once you do this uh this improves the
performance quite a bit
so here are some of the results so on
the left we are seeing what we had
before and on the right we’re now seeing
significantly improved predictions
coming directly out of the neural net
this is a multi-camera network
predicting directly in vector space and
you can see that it’s basically night
and day uh
you can actually drive on this and uh
this took some time and some engineering
and incredible work from the ai team to
actually get this to work and deploy and
make it efficient in the car
this also improved a lot of our object
detection so for example here in this
video i’m showing single camera
predictions in orange and multi-camera
predictions in blue and basically if you
if you can’t predict these cars if you
are only seeing a tiny sliver of a car
so your detections are not going to be
very good and their positions are not
going to be good but a multi-camera
network does not have an issue
here’s another video from a more nominal
sort of situation and we see that as
these cars in this tight space cross
camera boundaries there’s a lot of jank
that enters into the predictions and
basically the whole setup just doesn’t
make sense especially for very large
vehicles like this one and we can see
that the multi-camera networks struggle
significantly less with these kinds of
predictions
okay so at this point we have
multi-camera networks and they’re giving
predictions directly in vector space but
we are still operating at every single
instant in time completely independently
so very quickly we discovered that
there’s a large number of predictions we
want to make that actually require the
video context and we need to somehow
figure out how to feed this into the net
so in particular is this car parked or
not is it moving how fast is it moving
is it still there even though it’s
temporarily occluded or for example if
i’m trying to predict the road geometry
ahead
it’s very helpful to know of the signs
or the road markings that i saw 50
meters ago
so
we try to develop
we try to insert video modules into our
neural network architecture and this is
kind of one of the solutions that we’ve
converged on
so we have the multi-scale features as
we had them from before and what we are
going to now insert is a feature queue
module that is going to cache some of
these features over time
and then a video module that is going to
fuse this information temporally and
then we’re going to continue into the
heads that do the decoding
now i’m going to go into both of these
blocks one by one also in addition
notice here that we are also feeding in
the kinematics this is basically the
velocity and the acceleration that’s
telling us about how the car is moving
so not only are not only are we going to
keep track of what we’re seeing from all
the cameras but also how the car has
traveled
so here’s the feature queue and the
rough layout of it we are basically
concatenating these features um
over time and the kinematics of how the
car has moved
and the positional encodings and that’s
being concatenated encoded and stored in
a feature queue
and that’s going to be consumed by a
video module now there’s a few details
here again to get right so in particular
with respect to the pop and push
mechanisms and when do you push and how
and
especially when do you push basically so
here’s a cartoon diagram illustrating
some of the challenges here
there’s going to be the ego cars coming
from the bottom and coming up to this
intersection here and then traffic is
going to start crossing in front of us
and it’s going to temporarily start
occluding some of the cars ahead and
then we’re going to be stuck at this
intersection for a while and just
waiting our turn this is something that
happens all the time and is a cartoon
representation of some of the challenges
here
so number one with respect to
the feature queue and when we want to
push into a queue obviously we’d like to
have some kind of a time-based queue
where for example we enter the features
into the queue say every 27 milliseconds
and so if a car gets temporarily
occluded then the neural network now has
the power to be able to look and
reference the memory in time and and
learn the association that hey even
though this thing looks occluded right
now there’s a record of it in my
previous features and i can use this to
still make a detection
so that’s kind of like the more obvious
one but the one that we also discovered
is necessary in our case is for example
suppose you’re trying to make
predictions about the road surface and
the road geometry ahead and you’re
trying to predict that i’m in a turning
lane and the lane next to us is going
straight
then
it’s really necessary to know about the
line markings and the signs and
sometimes they occur a long time ago and
so if you only have a time-based queue
you may forget the features while you’re
waiting at your red light so in addition
to a time-based q we also have a
space-based view so we push every time
the car travels a certain fixed distance
so some of these details actually can
matter quite a bit and so in this case
we have a time based key and a space
base key to cache our features and that
continues into the video module
now for the video module we looked at a
number of possibilities of how to fuse
this information temporally so we looked
at three-dimensional convolutions
transformers axial transformers in an
effort to try to make them more
efficient recurrent neural networks over
a large number of flavors
but the one that we actually like quite
a bit as well and i want to spend some
time on is a spatial recurrent neural
network video module and so what we’re
doing here is
because of the structure of the problem
we’re driving on two-dimensional
surfaces we can actually organize the
hidden state into a two-dimensional
lattice and then as the car is driving
around we update only the parts that are
near the car and where the car has
visibility so as the car is driving
around we are using the kinematics to
integrate the position of the car in the
hidden features
grid and we are only updating the rnn at
the points where where we have uh that
are nearby us sort of
so here’s an example of what that looks
like
here what i’m going to show you is the
car driving around
and
we’re looking at the hidden state of
this rnn
and these are different channels in the
hidden state so you can see that this is
after optimization and training this
neural net you can see that some of the
channels are keeping track of different
aspects of the road like for example the
centers of the road the edges the lines
the road surface and so on
here’s another cool video of this so
this is looking at the mean of the first
10 channels in the hidden state for
different
traversals of different intersections
and all i want you to see basically is
that there’s cool activity as the
recurrent neural network is keeping
track of what’s happening at any point
in time and you can imagine that we’ve
now given the power to the neural
network to actually selectively read and
write to this memory so for example if
there’s a car right next to us and is
occluding some parts of the road then
now the network has a has the ability to
not write to those locations but when
the car goes away and we have a really
good view then the recurring neural net
can say okay we have very clear
visibility we definitely want to write
information about what’s in that part of
space
here’s a few predictions that show
what this looks like
so here we are making predictions about
the road boundaries in red intersection
areas in blue
road centers and so on so we’re only
showing a few of the predictions here
just to keep the visualization clean
um
and yeah this is this is done by the
spatial rnn and this is only showing a
single clip a single traversal but you
can imagine there could be multiple
trips through here and basically number
of cars a number of clips could be
collaborating to build this map
basically and effectively an hd map
except it’s not in a space of explicit
items it’s in a space of features of a
recurrent neural network which is kind
of cool i haven’t seen that before
the video networks also improved our
object detection quite a bit so in this
example i want to show you a case where
there are two cars
over there and one car is going to drive
by and occlude them briefly so look at
what’s happening with the single frame
and the video predictions as the cars
pass in front of us
yeah so that makes a lot of sense so a
quick
playthrough through what’s happening
when both of them are in view the
predictions are roughly equivalent
and you are seeing multiple orange boxes
because they’re coming from different
cameras
when they are occluded the single frame
networks drop the detection but the
video module remembers it and we can
persist the cars and then when they are
only partially occluded the single frame
network is forced to make its best guess
about what it’s seeing and it’s forced
to make a prediction and it makes a
really terrible prediction but the video
module knows that there’s only a partial
that you know it has the information and
knows that this is not a very easily
visible
part right now and doesn’t actually take
that into account
we also saw significant improvements in
our ability to estimate depth and of
course especially velocity so here i’m
showing a clip from our remove the radar
push where we are seeing the radar depth
and velocity in green and we were trying
to
match or even surpass of course the
signal just from video networks alone
and what you’re seeing here is in
orange we are seeing a single frame
performance
and in blue we are seeing again video
modules and so you see that the quality
of depth is much higher and for velocity
the orange signal of course you can’t
get velocity out of a single frame
network so we use uh we just
differentiate depth to get that but the
video module actually is basically right
on top of the radar signal and so we
found that this worked extremely well
for us
so here’s putting everything together
this is what our architectural roughly
looks like today so
we have raw images feeding on the bottom
they go through rectification layer to
correct for camera calibration and put
everything into a common uh virtual
camera we pass them through
regnets residual networks to process
them into a number of features at
different scales we fuse the multi-scale
information with by fbn this goes
through transformer module to
re-represent it into the vector space in
the output space this feeds into a
feature queue in time or space that gets
processed by a video module like the
spatial rnn and then continues into the
branching structure of the hydra net
with trunks and heads for all the
different tasks
and so that’s the architecture roughly
what it looks like today and on the
right you are seeing some of its
predictions uh sort of visualize both in
a top-down vector space and also in
images so definitely uh
this architecture has definitely
complexified from just a very simple
image based single network about three
or four years ago and continues to
evolve um it’s definitely quite
impressive now there’s still
opportunities for improvements that the
team is actively working on for example
you’ll notice that our fusion of time
and space is fairly late in neural
network terms so maybe we can actually
do earlier fusion of space or time and
do for example cost volumes or optical
flow-like networks on the bottom
or for example our outputs are dense
rasters and it’s actually pretty
expensive to post-process some of these
dense rasters in the car and of course
we are under very strict latency
requirements so this is not ideal we
actually are looking into all kinds of
ways of predicting just the sparse
structure of the road maybe like you
know point by point or in some other
fashion that is
that doesn’t require expensive
post-processing
but this basically is how you achieve a
very nice vector space and now i believe
ashok is going to talk about how we can
run playing control on top of it
[Applause]
thank you andre hi everyone my name is
ashok i lead the planning and controls
auto labeling and simulation teams
so like on dimension the visual networks
take dense video data and then compress
it down into a 3d vector space the role
of the planner now is to consume this
vector space and get the car to the
destination while maximizing the safety
comfort and the efficiency of the car
even back in 2019 our planet was pretty
capable driver it was able to stay in
the lanes make lane changes as necessary
and take exits off the highway but cdc
driving is much more complicated
radley there are
structured lane lines um vehicles do
much more free from driving then the car
has to respond to all of
curtains and crossing vehicles and
pedestrians doing funny things
what is the key problem in planning
number one the action space is very
non-convex
and number two it is high dimensional
what i mean by non-convex
is there can be multiple possible
solutions that can be independently good
but getting a globally consistent
solution is pretty tricky so there can
be pockets of local minima that the
planning can get stuck into
and secondly uh the high dimensionality
comes because the car needs to plan for
the next 10 to 15 seconds and needs to
produce the position velocities and
acceleration uh or this entire window
this is a lot of parameters to produce
at runtime
discrete search methods are really great
at solving non-context problems because
they are discrete they can they don’t
get stuck in local minima whereas
continuous function optimization can
easily get stuck in local minima and
produce poor solutions that are not
great
on the other end for high dimensional
problems discrete search sucks because
of the
it is discrete it does not use any
graded information so literally has to
go and explore each point to know how
good it is whereas continuous
optimization use gradient-based methods
to very quickly go to a good solution
our solution to this printer problem is
to break it down hierarchically first
use a code search method to crunch down
the uh
non-convexity and come up with a convex
corridor and then use continuous
optimization techniques to make the
final smooth trajectory
let’s see an example of how the search
operates
so here we’re trying to do a lane change
in this case the car needs to do two
back to back lane changes to make the
left turn up ahead
for this the car searches over uh
different maneuvers um
so the the first one it searches is a
lane change that’s close by but the
car breaks pretty harshly so it’s pretty
uncomfortable
the next maneuver it tries does the lane
change bit late so it speeds up goes
beyond the other car goes in front of
the other cars and find it at the lane
change but now it risks missing the left
turn
we do thousands of such searches in a
very short time span
because these are all physics-based
models these features are very easy to
simulate and in the end we have a set of
candidates and we finally choose one
based on the optimality conditions of
safety comfort and easily making the
turn
so now the car has chosen this path and
you can see that as the car executes
this trajectory it pretty much matches
what we had planned the cyan plot on the
right side here and that one is the
actual velocity of the car and the white
line be underneath it is was the plan so
we are able to plan for 10 seconds here
and able to match that
when you see in hindsight so this is a
well-made plan
when driving alongside other agents it’s
important to not just plan for ourselves
but instead we have to plan for everyone
jointly and optimize for the overall
scenes traffic flow
in order to do this what we do is we
literally run the autopilot planner on
every single relevant object in the
scene
here’s an example of why that’s
necessary
this is an auto corridor i’ll let you
watch the video for a second
yeah that was autopilot driving an auto
corridor going around parked cars cones
and poles uh here there’s a 3d view of
the same thing
the oncoming car arrives now and
autopilot slows down a little bit but
then realizes that we cannot yield to
them because we don’t have any space to
our side but the other car can heal to
us instead so instead of just blindly
breaking here all of our reasons about
that car uh
has low enough velocity that they can
pull over and should yield to us because
we cannot yield to them and assertively
makes progress
a second oncoming car arrives now
this vehicle has higher velocity
and like i said earlier we literally run
the autopilot planner for the other
object so in this case we run the
printer for them that object’s plan now
goes around their part their site’s
parked cars and then after they pass the
parkours goes back to the right side of
the road for them
since we don’t know what’s in the mind
of the driver we actually have multiple
possible features for this car here one
feature is shown in red the other one is
shown as green
the green one is a plan that yields to
us but since this object’s velocity and
acceleration are pretty high we don’t
think that this person is going to yield
to us and they are actually going to go
around these sparked cars
so autopilot decides that okay i have
space here uh this person is definitely
going to come so i’m going to pull over
so as autopilot is pulling over we
notice that that car has chosen to yield
to us based on their yaw rate and their
acceleration and autopilot immediately
changes his mind and continues to make
progress
this is why we need to plan for everyone
because otherwise we wouldn’t know that
this person is going to go around the
other park cars
and come back to their site if you
didn’t do this autopilot would be too
timid and it would not be a practical
self-driving car
so now we saw how the search and
planning for other people set up
convicts valley uh finally we do a
continuous optimization to produce the
final trajectory that the planet uh
needs to take
here the grave uh thing is the convex
corridor and we initialize the spline in
heading and acceleration parameterized
over the arc length of the plan
and you can see that the
countermeasuration continuously makes
fine-grained changes to reduce all of
its cost some of the costs for example
are distance from obstacles
traversal time and comfort for comfort
you can see that the lateral
acceleration plots on the right have
nice trapezoidal shapes uh it’s going to
come up yeah here on the right side the
green plot um that’s a nice trapezoidal
shape and if you record on a human
trajectory this is pretty much how it
looked like the lateral jerk is also
minimized
so in summary we do a search for both us
and everyone else in the scene uh we set
up a context corridor and then optimize
for a smooth path
together these can do some really neat
things like
shown above
but driving looks a bit different in
other places like where i grew up from
um
it’s very much more unstructured
cars and pedestrians cutting each other
arch braking honking um
it’s a crazy world um
we can try to scale up these methods uh
but it’s going to be really difficult to
efficiently solve this at runtime what
we instead want to do is use learning
based methods to efficiently solve them
um and i want to show why this is true
um so we’re going to go from this
complicated problem to a much simpler
toy parking problem but still
illustrates the core of the issue
here this is a parking lot the ego car
is in blue and needs to park in the
green parking spot here so it needs to
go around the curbs the park cars and
the cones shown in orange here
let’s do this simple bass line it’s a
star the standard algorithm that uses a
ladder space search um and and the
heuristic here is a distance uh the
euclidean distance to the goal
so you can see that it directly shoots
towards the goal but very quickly gets
trapped in a local minima and it
backtracks from there
and then searches a different path to
try to go around this parkour
eventually it makes progress and gets to
the goal but ends up using 400 000 nodes
for making this
obviously this is a terrible heuristic
we want to do better than this so
if you added a navigation route to it
and has the car to follow the navigation
route while being close to the goal this
is what happens
the navigation route helps immediately
uh but still when it enter encounters uh
cones or other obstacles it basically
that’s the same thing as before
backtracks and then searches that whole
new path and the support search has no
idea that these obstacles exist it
literally has to go there check if it’s
in collision and if it’s in collision
back up
the navigation heuristic helped but
still this took 22 000 notes
we can design more and more of these
heuristics to help the search make go
faster and faster but it’s really
tedious and hard to design a globally
optimal heuristic
even if you had a distance function from
the cones that guided the search this
would not this would not be this would
only be effective for the single cone
but what we need is a global global
value function so instead of what we
want to use is neural networks to give
this heuristic for us
the visual networks produces vector
space and we have cars moving around in
it this basically looks like a atari
game
and it’s a multiplayer version uh so we
can use techniques such as mu0 alpha
zero et cetera that was used to solve go
and other authority games to solve the
same problem so we’re working on neural
networks that can produce state and
action distributions that can then be
plugged into multicolored research with
various cost functions
some of the cost functions can be
explicit cost functions like distance
like collisions comfort traversal time
etc but they can also be
interventions from the actual manual
driving events
we train such a network for this simple
parking problem so here again same
problem let’s see how mcts researched us
so here you notice that the
planet is basically able to in one shot
make progress towards the goal uh to
notice that this is not even using a
navigation heuristic just given the
scene
the planet is able to go directly
towards the goal all the other options
you’re seeing are possible options it’s
not choosing any of them just using the
option that directly takes it towards
the goal
the reason is that the neural network is
able to absorb the global context of the
scene and then produce a value function
that effectively guides it towards the
global minima as opposed to getting
certain any local minima
so this only takes 288 notes and several
orders of magnitude less than what was
done in the a star with the equilibrium
distance heuristic
so this is what a final architecture is
going to look like the vision system is
going to crush down the dense video data
into a vector space
uh it’s going to be consumed by both an
explicit planner and a neural network
planner in addition to this the network
panel can also consume intermediate
features of the network
together this produces a trajectory
distribution
and it can be optimized end to end both
with explicit cost functions and human
intervention and other imitation data
this then goes into explicit planning
function that
does whatever is easy for that and
produces the final steering and
acceleration commands for the car
with that we need to now explain how we
train these networks and for training
these networks we need uh large data
sets
um and wait i’m ready to speak briefly
about manual labeling
yeah so the data the story of data sets
is critical of course so far we’ve
talked only about neural networks but
neural networks only establish an upper
bound on your performance many of these
neural networks uh they have hundreds of
millions of parameters and these
hundreds of millions of parameters they
have to be set correctly
if you have a bad setting of parameters
it’s not going to work so neural
networks are just an upper bound you
also need massive data sets to actually
train the correct algorithms inside them
now in particular i mentioned we want
data sets directly in the vector space
and so the really the question becomes
how can you accumulate because our
networks have hundreds of millions of
parameters how do you accumulate
millions and millions of vector space
examples that are clean and diverse
to actually train these neural networks
effectively
now so there’s a story of data sets and
how they’ve evolved on the side of uh
all of the models and developments that
we’ve achieved
now in particular when i joined roughly
four years ago we were working with a
third party to obtain a lot of our data
sets now unfortunately we found very
quickly that working with a third party
to get data sets for something this
critical was just not going to cut it
the latency of working with a third
party was extremely high and honestly
the quality was not amazing and so in
the spirit of full vertical integration
at tesla we brought all of the labeling
in-house and so over time we’ve grown
more than one thousand person uh data
labeling org that is full of
professional labelers who are working
very closely with the engineers so
actually they’re here in the u.s and
co-located with the engineers here in
the area as well and so we work very
closely with them and we also build um
all of the infrastructure for them from
scratch ourselves so we have a team we
are going to meet later today
that develops and maintains all of this
infrastructure for data labeling and so
here for example i’m showing some of the
screenshots of some of the latency
throughput and quality statistics that
we maintain about all of the labeling
workflows and the individual people
involved and all the tasks and how the
numbers of labels are growing over time
so we found this to be quite critical
and we’re very proud of this
now in the beginning roughly three or
four years ago most of our labeling was
in image space and so you can
imagine that this is taking quite some
time to annotate an image like this and
this is what it looked like
where we are sort of drawing polygons
and polylines on top of
on top of these single individual images
as i mentioned we need millions of
vector space
labels so this is not going to cut it so
very quickly we graduated to
three-dimensional or four-dimensional
labeling where we are directly labeling
in vector space not in individual images
so here what i’m showing
is a clip and you are seeing a very
small reconstruction you’re about to see
a lot more reconstructions soon but it’s
very small reconstruction of the ground
plane on which the car drove and a
little bit of the point cloud here that
was reconstructed and what you’re seeing
here is that the labeler is uh changing
the
labels directly in vector space and then
we are reprojecting those changes into
camera images uh so we’re labeling
directly in vector space and this gave
us a massive increase in throughput for
a lot of our labels because you’re
labeled once in 3d and then you get to
reproject
but even this we realized was actually
not going to cut it
so
because people and computers have
different pros and cons so people are
extremely good at things like semantics
but computers are very good at geometry
reconstruction triangulation tracking
and so really for us it’s much more
becoming a story of how do humans and
computers collaborate to actually create
these vector space data sets and so
we’re gonna not talk about auto labeling
which is some of the infrastructure
we’ve developed for labeling these clips
at scale
[Applause]
hi again
so even though we have lots of human
laborers the amount of training data
needed for training with networks
significantly outnumbers them so we try
to invest in a massive auto labeling
pipeline here’s an example of how we
label a single clip a clip is a entity
that has dense sensor data like videos
imu data gps odometry etc
this can be 45 second to a minute long
these can be uploaded by our own
engineering cars or from customer cars
we collect these clips and then send
them to
our servers where we run a lot of neural
networks offline to produce intermediate
results like segmentation masks depth
point matching etc this then goes
through a lot of robotics and a
algorithm to produce a final set of
labels that can be used to train the
networks
one of the first tasks we want to label
is the road surface typically we can use
splines or meshes to represent the road
surface but those are
because of the topology restrictions are
not differentiable and not amenable to
producing this so what we do instead is
in the style of neural radiance fields
work from last year which is quite
popular so we use an implicit
representation to represent the road
surface
here we are querying xy points on the
ground and asking for the network to
predict the height of the ground surface
along with various semantics such as
curves lane boundaries road surface
rival space etc
so given a single xy we get a z together
these make a 3d point and they can be
reprojected into all the camera views
so we make millions of such queries and
get lots of points these points are
reprojected into all the camera views
in we are showing on the top right here
one such camera image with all these
points reprojected
now we can compare this point
reprojected point with the image space
prediction of the segmentations
and jointly optimizing this or all the
camera views was across space and time
produced an excellent reconstruction
here’s an example of how that looks like
so here this is an optimized road
surface that reproduction to the eight
cameras that the car has and across all
of time and you can see how it’s
consistent across both space and time
so a single car driving through some
location can sweep out some patch around
the trajectory using this technique
but we don’t have to stop there
so here we collect collected different
clips
from the same location from different
cars maybe
and each of them sweeps out some part of
the road
cool thing is we can bring them all
together into a single giant
optimization so here these 16 different
trips are organized using
aligned using various features such as
roadages lane lines all of them should
agree with each other and also agree
with all of their image space
observations
together this is this produces an
effective way to label the road surface
not just where the car drove but also in
other locations that it hasn’t driven it
again the point of this is not to just
build hd maps or anything like that it’s
only to label the clips through these
intersections so we don’t have to
maintain them forever as long as the
labels are consistent with the videos
that they were collected at
optionally then humans can come on top
of this and clean up any noise or
additional metadata to make it even
richer
we don’t have to stop at just the road
surface we can also arbitrarily
reconstruct 3d static obstacles um here
this is a reconstructed 3d point cloud
from our cameras
the main innovation here is the density
of the point cloud typically these
points require texture
to form associations from one frame to
the next frame but here we are able to
produce these points even on textual
surfaces like the road surface or walls
and this is really useful to annotate
arbitrary obstacles that
we can see on the scene in the world
one more cool advantage of doing all of
this on server on the servers offline is
that we have the benefit of hindsight
this is a super useful hack because uh
say in the car then the network needs to
produce the velocity it just has to use
the historical information and guess
what the velocity is
but here
we can look at both the history but also
the future and basically cheat and get
the correct answer uh of the kinematics
like velocity acceleration etc
one more advantage is that we can have
different tracks but we can switch them
together that even through occlusions
because we know the future we have
future tracks we can match them and then
associate them so here you can see the
pedestrians on the other side of the
road are persisted even through multiple
occlusions by these cars
this is really important for the planner
because the planner needs to know if
it’s if it saw someone it still needs to
account for them even then they are
occluded so this is a massive advantage
combining everything together we can
produce these amazing data sets that
annotate all of the road texture
or the static objects and all of the
moving objects even through occlusions
producing excellent kinematic
labels
all you can see how the cards turn
smoothly produce really smooth labels or
the pedestrians are consistently tracked
the park cars uh
obviously zero velocity so we can also
know that they are parked
so this is huge for us
this is one more example of the same
thing
you can see how everything is consistent
we want to produce a million such uh
labeled
clips and train our video
multicam video networks with such large
data set and really crush this problem
we want to get the same view that’s
consistent that we’re seeing here in the
car
we started our first exploration of this
with the remove the data project uh we
removed it in a very top a short time
span i think within three monthsin the early days of the network we
noticed for example in low security
conditions the network can suffer
understandably because obviously this
truck just dumped a bunch of snow on us
and it’s really hard to see but we
should still remember that this car was
in front of us
but our networks early on did not do
this because of the lack of data in such
conditions
so what we did we added the fleet to
produce lots of similar clips
and the fleet responded it did
so it produces um
is it play
yeah it produces lots of video clips
where shit’s falling out of all other
vehicles
and we send this through our auto living
pipeline that was able to label 10k
clips in within a week this would have
taken several months with humans
labeling every single clip here
so we did this for 200 of different
conditions and we were able to very
quickly create large data sets and
that’s how we were able to remove this
so once we train the networks with this
data
you can see that it’s totally working
and keeps the memory that the subject
was there
and provides this
so finally we wanted to actually get a
cyber truck into a data set
for the remote radar
can you all guess where we got this clip
from i’ll give you a moment
someone said it yes yes it’s rendered
it’s our simulation
it was hard for me to tell initially and
i if i may if i may say so myself it
looks pretty it looks very pretty um
so yeah in addition to auto labeling we
also invest heavily in using simulation
for labeling our
data
so this is the same scene as
seen before
but from a different camera angle
so a few things that i wanted to point
out for example the ground surface it’s
not a plane asphalt there are lots of
cars and cracks and tower seams
there’s some patchwork done on top of it
vehicles move realistically the truck is
articulated uh even goes over the curb
and makes a wide turn um the other cars
behave smartly they avoid collisions go
around cars uh and also smooth and
actual great smooth uh brake and
accelerate smoothly
the car here with the logo on the top is
autopilot actually auto part is driving
that car and it’s making unproductive
left hand
and since it’s a simulation it starts
from the vector space so it has perfect
labels
here we show a few of the labels that we
produce
these are vehicle cuboids with
kinematics
depth
surface normals segmentation but
andre can name a new task that he wants
next week and we can very quickly
produce this because we already have a
vector space and we can write the code
to produce these labels very very
quickly
so when does simulation help
it helps number one when the data is
difficult to source as large as our
fleet is it can still be hard to get
some crazy scenes like this couple and
their dog running on the highway while
there are other high-speed cars around
this is a pretty rare scene i’d say but
still can happen
and autopilot still needs to handle it
when it happens
when data is difficult to label um there
are hundreds of pedestrians crossing the
road this could be a mountain downtown
people crossing the road it’s going to
take several hours for humans to label
this clip and even for automatic
labeling algorithms this is really hard
to get the association right and it can
produce like bad velocities but in
simulation this is trivial because you
already have the objects you just have
to spit out the cuboids and the
velocities
and also finally when we introduce
closed loop behavior where the cars
needs to be in a determining situation
or the data depends on the actions this
is pretty much the only way to get it
reliably
all this is great
what’s needed to make this happen
number one accurate sensor simulation
again the point of the simulation is not
to just produce pretty pictures
it needs to produce what the camera in
the car would see and other sensors
would see so here we are stepping
through different exposure settings of
the real camera on the left side and the
simulation on the right side
we’re able to pretty much match what the
real cameras do
in order to do this we had to model a
lot of the properties of the camera in
our sensor simulation um starting from
sensor noise motion blur optical
distortions even headlight transmissions
uh
even like diffraction patterns of the
windshield etcetera
we don’t use this just for the autopilot
software we also use it to make hardware
decisions such as lens design camera
design sensor placement even headlight
transmission properties
second we need to render the visuals uh
in a realistic manner you cannot have
what in the game industry called jaggies
these are aliasing artifacts that are
dead giveaway that this is simulation we
don’t want them so we go through a lot
of paints to produce a nice special
temple a special temporal anti-aliasing
we also are working on neural rendering
techniques to make this even more
realistic
yeah in addition we also use ray tracing
to produce realistic lighting and global
illumination okay that’s the last of the
cop cars i think
we obviously cannot have uh really just
four or five cars because the network
will easily overfit because it knows the
sizes um so we need to have realistic
assets like the moose on the road here
um
we have thousands of assets in our
library and they can wear different
shirts and actually can move
realistically so this is really cool
we also have a lot of different
locations mapped and created uh to
create these uh sim environments
we have actually 2000 miles of uh
road built and this is almost the length
of the roadway from the east coast the
west coast of the united states which i
think is pretty cool
in addition we have built efficient
tooling to build several miles more on a
single day on a for a single artist
but this is just tip of the iceberg
actually most of the data that we use to
train is created procedurally using
algorithms as opposed to artists making
these simulation scenarios
so these are all procedurally created
roads with lots of parameters such as
curvature
various varying trees cones poles cars
with different velocities and the
interaction produce an endless stream of
data for the network
but a lot of this data can be boring
because the network might already get it
correct so what we do is we use also ml
based techniques to basically put up the
network to see where it’s failing at and
create more data around the failure
points of the network so this is in
closed loop trying to make the network
performance be better
we don’t want to stop there so actually
we want to create recreate any failures
that happens to the autopilot in
simulation so that we can hold autopilot
to the same bar from then on
so here on the left side you are seeing
a real clip that was collected from a
car
it then goes through our auto labeling
pipeline to produce a 3d reconstruction
of the scene along with all the moving
objects
with this combined with the original
visual information we recreate the same
scene synthetically and create a
simulation scenario entirely out of it
so and then when we replay autopilot on
it autopilot can do entirely new things
and we can form new worlds new outcomes
from the original failure this is
amazing because we really don’t want
autopilot to fail and when it fails we
want to capture it and keep it to that
bar
not just that we can actually take the
same approach that we said earlier and
take it one step further
we can use neural rendering techniques
to make it look even more realistic
so we take the original original video
clip
we create a synthetic uh simulation from
it
and then apply neural rendering
techniques on top of it and it produces
this which looks amazing in my opinion
because this one is very realistic and
looks almost like it was captured by the
actual cameras
they saw results from last night because
it was cool and we wanted to present it
but yeah
yeah i’m very excited for what sim can
achieve
but this is not all because
network’s trained in the car already
used simulation data we used 300 million
images with almost half a billion labels
and we want to crush down all the tasks
that are going to come up for uh the
next several months
with that i invite milan to see uh to
explain how we scale these operations
and really build a label factory
and spit out millions of labels
[Applause]
all right thanks ashok
hey everyone i’m milan i’m responsible
for the integration of our neural
networks in the car and for most of our
neural network training and evaluation
infrastructure
and so tonight i’d just like to start by
giving you some perspective into the
amount of compute that’s needed to power
this type of data generation factory and
so in the specific context of the push
we went through as a team here a few
months ago to get rid of the dependency
on the radar sensor for the pilot we
generated over 10 billion labels across
two and a half million clips
and so to do that we had to
scale
our huge offline neural networks and our
simulation engine across thousands of
gpus and just a little bit shy of 20 000
cpu cars on top of that we also included
over 2000 actual autopilot full
self-driving computers in the loop with
our simulation engine
and that’s our smallest compute cluster
so i’d like to give you some
idea of what it takes to take our neural
networks and
move them in the car
and so the
the two main constraints that we’re
working on there here
are mostly latency and frame rate
which are very important for safety but
also to get proper estimates of
acceleration and velocity of our
surroundings
and so the meat of the problem really is
around uh the ai compiler that we write
and extend here within the group that
essentially maps the compute operations
for my apart torch model
to a set of dedicated and accelerated uh
pieces of hardware and we do that while
figuring out a schedule that’s optimized
for throat put
while working on their severe sram
constraints
and so by the way we’re not doing that
just on one engine but on across two
engines on the autopilot computer and
the way we use those engines here at
tesla is such that at any given time
only one of them will actually output
control commands to the vehicle while
the other one is used as an extension of
compute
but those roles are interchangeable both
at the hardware and software level
so how do we interact quickly together
as a group through these ai development
cycles well first we have been scaling
our
capacity to evaluate our software neural
network dramatically over the past few
years and today we’re running over a
million evaluations per week on any code
change
that the team is producing and those
evaluations runs on over three thousand
actual footstar driving computers that
are hooked up together in a dedicated uh
cluster
and so on top of this we’ve been
developing really cool uh debugging
tools and so here is a video of one of
our tools which is uh helping developers
uh iterate through the development of
neural networks and comparing live the
outputs from different revisions of a
same neural network model as reiterating
life through a video clips
and so last but not least uh we’ve been
scaling our neural network training
compute dramatically over the past few
years and today we’re barely shy of 10
000 gpus which just to give you some
sense in terms of number of gpu is more
than the top five publicly known
supercomputers in the world
but that’s not enough and so i’d like to
invite ganesh to talk about the next
steps
[Applause]
thank you milan
my name is ganesh
and i lead project dojo
it’s an honor to present this project on
behalf of the multidisciplinary tesla
team that is working on this project
as you saw from milan
there’s an insatiable demand for speed
as well as capacity for neural network
training and elon prefetched this and a
few years back he asked us to design a
super fast training computer and that’s
how we started project dojo
our goal is to achieve best ai training
performance and support all these larger
more complex models that andres team is
dreaming of and be power efficient and
cost effective at the same time
so we thought about how to build this
and we came up with
a distributed compute architecture
after all all the training computers out
there are distributed computers in one
form or the other they have compute
elements in the box out here connected
with some kind of network in this case
it’s a two-dimensional network but it
could be any different network cpu gpu
accelerators all of them have compute
little memory
and network but one thing which is
common trend amongst this is it’s easy
to scale
the compute
it’s very difficult to scale up
bandwidth and extremely difficult to
reduce latencies and you’ll see how our
design point catered to that how our
philosophy
addressed these aspects of traditional
limits
for dojo we envisioned a large compute
plane
filled with very robust compute elements
backed with large pool of memory and
interconnected with very high bandwidth
and low latency fabric and in a 2d mesh
format and on to this for extreme scale
big neural networks will be partitioned
and mapped to extract different
parallelism model graph data parallelism
and then in neural compiler
of ours will
exploit spatial and
temporal locality such that it can
reduce communication footprint to local
zones and reduce global communication
and if we do that
our bandwidth utilization can keep
scaling with the plane of compute that
we desire out here
we wanted to attack this all the way
top to the bottom of the stack
and remove any bottlenecks at any of
these levels
and let’s start this journey in an
inside out fashion starting with the
chip
as i described
chips have compute elements our smallest
entity or scale is called a training
node
and the choice of this node is
very important to ensure seamless
scaling
if you go too small it will run fast but
the overheads of synchronization
will end software will dominate if you
pick it too big
it will have complexities in
implementation in the real hardware and
ultimately run into memory bottleneck
issues
because we wanted to address
we wanted to address latency and
bandwidth as our primary optimization
point let’s see how we went about doing
this
what we did was we picked the farthest
distance a signal could traverse in a
very clock very high clock cycle in this
case two gigahertz plus and we drew a
box around it this is the
smallest latency that a signal can
traverse one cycle at a very high
frequency and then we filled up the box
with wires to the brink
this is the highest bandwidth you can
feed the box with and then we added
machine learning compute underneath and
then a large pool of sram
and last but not the least a
programmable
core to control
and this gave us our high performance
training node
what this is is a 64-bit superscalar cpu
optimized around matrix multiply units
and vector cmd
it supports floating point 32 b float 16and a new format cfp8 configurable fp8
and it is backed by
one and a quarter megabyte of fast ecc
protected sram and the low latency high
bandwidth fabric that we designed
this might be our smallest entity of
scale but it packs a big punch
more than one teraflop of compute in our
smallest entity of scale
so let’s look at the architecture of
this
the computer architects out here may
recognize this this is a pretty capable
architecture as soon as you see this
it is a super scalar in order cpu
with four wide vector and two wide vect
two wide uh four wide scaler and two
wide vector pipes we call it in order
although the vector and the scalar pipes
can go out of order but for the purest
out there we still call it in order and
it also has four-way multi-threading
this increases utilization because we
could do compute and data transfers
simultaneously and our custom isa which
is the instruction set architecture is
fully optimized for machine learning
workloads it has features like transpose
gather
link traversals broadcast just to name a
few
and even in the physical realm we made
it extremely modular such that we could
start averting these training nodes in
any direction and start forming the
compute plane that we envisioned
when we click together
354 of these training nodes we get our
compute array it’s capable of delivering
teraflops of machine learning compute
and of course the high bandwidth fabric
that interconnects these
and around this compute array we
surrounded it with
high speed low power services 576
of them to to enable us to have extreme
i o bandwidth coming out of this chip
just to give you a comparison point this
is more than two times the bandwidth
coming out of the state-of-the-art
networking switch chips which are out
there today and network switch chips are
supposed to be the gold standards for i
o bandwidth
if we put all of it together
we get
training optimized chip
our d1 chip
this chip is manufactured in seven
nanometer technology it packs 50 billion
transistors in a miserly 645 millimeter
square
one thing you’ll notice 100 of the area
out here is going towards machine
learning training and bandwidth there is
no dark silicon there is no legacy
support this is a pure machine learning
machine
and
this
is the d1 chip in a flip chip bga
package
this was entirely designed
by tesla team internally all the way
from the architecture
to
gds out and
package this chip
is like a
gpu level compute with a cpu level
flexibility and twice the network chip
level i o bandwidth
if i were to plot
the i o bandwidth on the vertical scale
versus teraflops of compute that is
available in the state-of-the-art
machine learning chips are there
including some of the startups you can
easily see why our design point excels
beyond power
now that we had this fundamental
physical building block
how to design the system around it
let’s see
since d1
chips can seamlessly connect without any
glue to each other we just started
putting them together
we just put
500 000
training nodes together to form our
compute plane
this is 1500 d1 chips seamlessly
connected to each other
and then
we add
dojo interface process
processors on each end
this is the host bridge to typical hosts
in the data centers
it’s connected with pci gen4 on one side
with a high bandwidth fabric to our
compute plane
the interface processors provide not
only the host bridge but high bandwidth
dram shared memory for the compute plane
in addition
the interface processors
can also allow us to have a higher radix
network connection
in order to achieve this compute plane
we had to come up with a new way of
integrating these chips together
and this is what we call as a training
tile
this is the unit of scale for our system
this is a groundbreaking integration of
25 known good d1 dies onto a
fan out wafer process tightly integrated
such that it preserves the bandwidth
between them the maximum bandwidth is
preserved there and in addition
we generated
a
connector a high bandwidth high density
connector that preserves the bandwidth
coming out of this training tile
and this style gives us nine beta flaps
of compute
with a massive i o bandwidth coming out
of it
this
perhaps is the biggest organic mcm in
the chip industry multi-chip module
it was not easy to design this there
were no tools that existed all the tools
were croaking even our compute cluster
couldn’t handle it we had to our
engineers came up with different ways of
solving this they created new methods to
make this a reality
now that we had our compute plane
tile
with high bandwidth ios
we had to feed it with power
and here we came up with a new way of
feeding power vertically
we created a custom
voltage regulator module
that could be reflowed directly directly
onto this fan out wafer so what did we
did out here is we got chip
package and we brought pcb level
technology of reflow on fan art wafer
technology this is
a lot of integration already out here
but we didn’t stop herewe integrated
the entire electrical thermal and
mechanical pieces out here
to form
our training tile fully integrated
interfacing with a 52 volt dc input
it’s unprecedented this is an amazing
piece of engineering
our compute plane is completely
orthogonal
to power supply
and cooling
that makes
high bandwidth compute planes
possible
what it is
is a nine petaflop
training tile this becomes our unit of
scale for our system
and this
is real
i can’t believe i’m holding nine
petaflops out here
and in fact
last week we got our first
functional training tile
and on a limited limited cooling
benchtop setup
we got some networks running
and i was told andre doesn’t believe
that we could run networks
till we could run one of his creations
this is min gpt2 running on dojo
do you believe it
next up
how to form a compute cluster out of it
by now you must have realized our
modularity story is pretty strong
we just put together some tiles we just
styled together tiles
a two by three
tile in a tray makes our training matrix
and two trays in a cabinet
give 100 petaflops
of compute
did we stop here no
we just
integrated seamlessly we broke the
cabinet walls we integrated these styles
seamlessly all the way through
preserving the bandwidth there is no
bandwidth divert out here there is no
bandwidth clips all the tiles are
seamlessly connected with the same
bandwidth
and with this
we have an exopod
this is
one extra flop of compute
in 10 cabinets
it’s more than a million training nodes
that you saw we paid meticulous
attention to that training node and
there are one million nodes out here
with uniform bandwidth
not just the hardware
the software aspects are so important
to ensure scaling
and not every job requires a huge
cluster so we plan for it
right from the get go
our compute plane
can be subdivided can be partitioned
into
units called dojo processing unit
a dpu
consists of one or more
d1 chips
it also has our interface processor and
one or more hosts
and this can be scaled up or down as per
the needs of any algorithm any network
running on it
what does the user have to do they have
to change their scripts minimally
and this
is because
of our strong compiler suite
it takes care of fine-grained
parallelism and mapping the pro problems
of mapping the neural networks very
efficiently onto our compute plane
our compiler is
uses multiple techniques to extract
parallelism
it can transform the networks to achieve
not only fine-grained parallelism using
data model
graph parallelism techniques
it also
can do optimizations to reduce memory
footprints
one thing because of our
high bandwidth nature of the fabric is
enabled out here is model parallelism
could not have been extended to the same
level as what we can
it was limited to chip boundaries now we
can because of our high bandwidth we can
extend it to training tiles and beyond
thus
large networks can be efficiently mapped
here at low batch sizes and extract
utilization and new levels of
performance
in addition our compiler is capable of
handling high level dynamic control
flows like loops if then else etc
and our compiler engine is just part of
our entire software suite
the stack consists of
a extension to pytarch that ensures the
same user-level interfaces that ml
scientists are used to
and our compiler generates code on the
fly
such that it could be reused for
subsequent execution it has a llvm
backend that generates the binary for
the hardware
and this ensures we can create optimized
code
for the hardware without relying on even
single line of handwritten kernel
our driver stack
takes care of the multi-host
multi-partitioning that you saw
a few slides back
and then we also have
profilers
and debuggers in our software stack
so with all this
we integrated
in a vertical fashion we broke the
traditional barriers to scaling
and that’s how
we got modularity up and down the stack
to add to new levels of performance
to sum it all
this is what it will be it will be a
fastest ai training computer
for x the performance at the same cost
1.3 x
better performance per watt that is
energy saving and 5x smaller footprint
this will be dojo computer
we are not done we are
assembling our first cabinets pretty
soon
and we have a whole next generation plan
already we are thinking about
10x more with different aspects that we
can do all the way from silicon
to the system again we will have this
journey again we’re recruiting heavily
for all of these
areas thank you very much
and next up
elon will update us on what’s beyond our
vehicle feet fleet for ai
[Music]
oh
[Music]
so
[Music]
oh
[Music]
thank you
[Applause]
now unlike unlike dojo obviously that
was not real
uh
so doj is real uh the tesla bot will be
real
um but
basically if you think about what we’re
doing right now with the cars tesla is
arguably the world’s biggest robotics
company because our cars are
like
semi-sentient robots on wheels
and with
the
full self-driving computer essentially
the the inference engine on the car
which will keep evolving obviously and
uh dojo
and all the
neural nets recognizing the world
understanding how to navigate through
the world
uh it it kind of makes sense to put that
onto a humanoid form
they’re also quite good at sensors and
batteries and
actuators
so
we think we’ll probably have
a prototype sometime next year that
basically looks like this
and it’s intended to
be friendly of course
and uh navigate through a world uh built
for humans
and
uh eliminate dangerous repetitive and
boring tasks
um we’re setting it such that it is um
at a mechanical level at a physical
level you can run away from it
and and most likely overpower it
so
hopefully that doesn’t ever happen but
um you never know
so it’s uh it’ll be a you know
a light
a light
yeah five miles an hour you can get run
faster than that’d be fine
[Laughter]
um so
yes it’s a
round
uh 5.8
um
has sort of a screen where the head is
for useful information um but as
otherwise basically got the autopilot
system in it so it’s got cameras got
eight cameras and
full-size driving computer
and making use of all of the same tools
that we use in the car
so
um i mean things i think that are really
hard about uh
having a useful humanoid robot is cannot
navigate through the world without being
explicitly trained
i mean without explicit like uh
line-by-line instructions
um
can you can you talk to it and say you
know please uh pick up that bolt
and uh attach it to
the car with that wrench
and it should be able to do that
um
it should be able to you know please you
know please go to the store and get me
the following groceries
um that kind of thing
so
yeah i think we can do that
um
and
yeah
this i think will be quite quite
profound because if you say like what is
the economy it is uh
at the foundation it is labor so
what happens when there is uh
you know
no shortage of labor
um that’s why i think long-term that
there will need to be universal basic
income
yeah
but but not right now because this robot
doesn’t work so
we just didn’t need a minute
so
um
yeah but i think essentially in the
future physical work will be a choice if
you want to do it you can but you won’t
need to do it
and
yeah i think it obviously has profound
implications for the economy because
given that the economy at its
foundational level is labor i mean
capital is capital equipment it’s just
distilled labor
then
is there any actual limit to the economy
maybe not
so
yeah
join our team and help build this
all right so i think we’ll we’ll have
everyone come back on the stage and you
guys can ask questions if you’d like
yeah
[Applause]
you
[Music]
all right there we go
[Music]
all right cool you guys brought me back
on
i just like stage
try to get
the camera angle from there
but not from the side
all right cool
so we’ll probably turn the lights back
on
and uh
yeah great um
so we’re having to answer any questions
you have about anything on the software
hardware side where things are going
and yeah fire away
um we have because the lights are like
interrogation lights so we actually
cannot see ah there we go great
all right cool
i can just okay there we go first off i
mean thanks to all the presenters that
was just super cool to see everything
i’m just curious at a high level and
this is kind of a question for really
anyone who wants to take it um to what
extent are you interested in publishing
or open sourcing anything that you do
for the future
um well i mean it is fundamentally
extremely expensive to create uh the
system so
uh
somehow that has to be paid for i’m not
sure how to pay for it if it’s fully
open sourced
um
yeah unless people want to work for free
but but i should say that uh this is
if other car companies want to license
it and use it in their cars that would
be cool this is not intended to be just
limited to tesla cars
is for the dojo supercomputer so did you
solve the compiler problem of scaling to
these many nodes or is or
if it is solved is it only applicable to
dojo
because
i’m doing research in
deep learning accelerators and getting
the correct scalability
or the distribution even in one ship is
extremely difficult from the
research projects perspective so i was
just curious
excuse me mike for bill
you
have we solved the problem not yet are
we confident we will solve the problem
yes
we have demonstrated networks on
prototype hardware now we have models
performance models showing the scaling
the difficulty is as you said how do we
keep the localities
if we can do enough model parallel
enough data parallel to keep most of the
things local we just keep scaling we
have to fit the parameters in our
working set in our sram that we have
and we flow through the pipe
there’s plenty of opportunities
sorry as we get further scale for
further processor nodes have more local
memory
memory trade also bandwidth we can do
more things but as we see it now
the applications that tesla has we see a
clear path
and our our modularity story means we
can have different ratios different
aspects created out of it i mean this is
something that we chose for our
applications
internally
sure
the locality portion of it given that
training is such a soft scaling
application
uh even though you have all this compute
and have a high bandwidth
high bandwidth interconnect
it it could not
give you that performance because you
are doing computations on limited memory
at different locations so i was that’s
very curious to me when you said it
solved because i i just jumped onto the
opportunity and would love to know more
given that how much you can open source
yeah
yeah i guess the proof’s in the pudding
um
so we should have dojo operational next
year um and
um i think we’ll we’ll obviously use it
for
uh training video training it’s i mean
fundamentally this is about like um
the the
primary application initially is we’ve
got vast amounts of video and how we
train vast amounts of video uh
as efficiently as possible
and
uh also shorten the amount of time like
if you’re trying to train train to a
task um
like just in general innovation is um
how many iterations and what is the
average progress between each iteration
and so if
if you can reduce the time between
iterations uh the rate of improvement is
is much better
so
um you know if it takes like sometimes a
couple days for a model to train versus
a couple hours that’s a big deal
but the the asset test here and um you
know what i’ve
told the dojo team is like it’s
it’s successful if the
uh
software team wants to turn off the gpu
cluster
but if they want to keep the gpp cluster
on
it’s not successful
so yeah
hi
right over here
i love the presentation thank you for
getting us out here loved everything
especially the simulation part of the
presentation i was wondering uh it
looked very very
very uh realistic are there any plans to
maybe expand simulation to other parts
of the company in any way
hi i’m ian glow uh i manage the
autopilot simulation team
so as we go down the path to
full self driving we’re gonna have to
simulate more and more of the vehicle
currently we’re simulating vehicle
dynamics but we’re going to need bms
we’re going to need the mcu we’re going
to need every single part of the vehicle
integrated and that actually makes the
autopilot simulator really useful for
places outside of autopilot so i want to
expand or we want to expand eventually
to being a universal simulation platform
but i think before that we’re going to
be spinning up a lot of optimist support
and then a little bit further down the
line that we have some rough ideas on
potentially how to get uh
the simulation infrastructure and some
of the cool things we’ve built into the
hands of people outside of the company
optimus is the code name for the tesla
bot
oops
optimus uprine
[Laughter]
hi
this is ali jahanian
thank you for the great presentation and
putting all of these cool things
together
yeah for a while i have been thinking
that uh the car is already a robot so
why not a humanity robot
and i’m so happy that today
you mentioned that you are going to
build such thing
especially i think that this can uh give
opportunity for rays of uh putting multi
modality together for instance we know
that in
the example that you are showed that
there was a dog and
with some passengers or running together
the
language
and symbolic processing can really help
for
visualizing that
so i was wondering
if i could hear a little more about
this type of putting modalities together
including language and vision because i
have been working with for instance mini
gpt’s and andre put out there
and
yeah i had i didn’t hear much about
other modalities that’s going into the
car or at least in the simulation
is is there any comment
that
you could tell us
well driving is fundamentally uh
basically
almost entirely vision neural nets uh
like we’re basically it’s running on a
biological vision
neural net and what we’re doing here is
a silicon camera neural net um
so
and there are there’s there is some
amount of uh audio uh you know you want
to hear uh if um there’s like emergency
vehicles or
uh
you know uh
i guess converse with the
people in the car
um
you know if somebody’s yelling something
at the at the car that car needs to
understand what that is
um
so
you know all things that are necessary
for it to
be fully autonomous
yeah
thank you
hi uh thank you for all the great work
that you’ve shown uh my question is for
the team uh because the data that was
shown was seems to be predominantly from
the united states that the the fsd
computer is being trained on but as it
is being as it gets rolled out to
different countries which have their own
road systems and
challenges that come with it how do you
think that it’s going to scale like like
i’m assuming like the ground up is not a
very viable solution so how does it
transfer to different countries
uh well there is we actually do train on
using data from
probably like 50 different countries
um but we have to pick
you know in as we’re trying to advance
full self driving we need to pick one
country and since we’re located here we
pick the us um
and then we get a lot of questions like
why not even canada like well because
the roads are a little different in
canada different enough um
and so when trying to solve a hard
problem uh you want to
uh say like okay what’s the
let’s not add additional complexity
right now uh let’s just solve it for the
us and then we’ll extrapolate to the
rest of the world but we do use video
from all around the world yeah i think a
lot of a lot of what we are building is
very country agnostic fundamentally all
the computer vision components and so on
don’t care too much about country
specific uh
sort of features every you know
different countries have roads and they
have curbs and they have cars and
everything we’re building is fairly
general for that
yeah and there’s the the prime directive
is don’t crash right and that’s true for
every country yes this is the prime
directive
um
and um
even right now the car is pretty good at
not crashing um
and so
just basically um
whatever it is don’t hit it even if it’s
a ufo that crash landed uh on the
highway and still don’t hit it
you should not need to recognize it in
order to not hit it
so that’s very important
and i want to ask that
when you do the photometric process
multiview geometry how much of an error
do you see is it like one millimeter one
centimeter so i’m just if it’s not
confidential
sorry question what is the what’s it
what’s the difference between the
synthetic
sure
what is the difference between the
synthetically created geometry to the
actual geometry
yeah it’s usually within a couple
centimeters three or four centimeters
that’s the standard deviation
merge with different kind of modalities
to bring down that error
we primarily try to find scalable ways
to label um in some occasions we use
other sensors to
help benchmark but we primarily use
cameras for this system
okay thanks yeah i i mean i think we
want to aim for the car to be positioned
uh accurately to the the sort of
centimeter level um
you know
something on that order obviously it
will depend on distance like close by
things can be much more accurate than
farther away things because and they
would matter less because the car
doesn’t have to make decisions much
farther away and as it comes close it
will become more and more accurate
exactly
a lot of questions
thanks everybody my question has to do
with sort of ai and manufacturing it’s
been a while since we’ve heard about the
alien dreadnought concept
is the humanoid that’s behind you guys
is that kind of brought out of the
production health timeline and saying
that humans are underrated in that
process
um well sometimes like some
you know something that i say is uh
taken to too much of an extreme
there
there are parts of the tesla system that
are almost completely automated and then
there are some parts that are almost
completely manual
and
if you were to walk through the whole
production system you would see a very
wide range from yeah like i said fully
automatic to
almost completely manual
but the vast majority it’s most of it is
is already uh automated
um
so and then
with the
some of the design architecture changes
like going to
large
aluminum
high pressure die cast
components we can take the entire rear
third of the car and cast it as a single
piece and now we’re going to do that
the front third of the car is a single
piece
so the the body line
um
drops by like 60 to 70 percent in size
um
but yeah the the robot is not is not
prompted by
specifically by manufacturing
needs it’s it’s just that
we’re just obviously making the pieces
that
are needed for a useful humanoid robot
so i guess we probably should make it
and if we don’t someone else would well
and so i guess we should make it
and make sure it’s safe
i should say like also manufacturing
volume manufacturing is extremely
difficult um and underrated and we’ve
gotten pretty good at that
it’s also important for that humanoid
robot like how do you make the human
robot not be super expensive
and
hi
uh thank you for the present
presentation
and my question will be about skilling
of dojo
and uh in particular how do you scale
the compute nodes in terms of
thermal
thermals and power delivery because
there is only so much heat that you can
dispense
and only so much power that you can
bring to
like cluster rack
and how do you want to scale it and how
do you point to scale it in multiple
data centers
sure
hi
i’m bill i
one of the dojo engineers the um
so from a thermal standpoint and power
standpoint
we’ve designed it very modular so what
you saw on the compute tile that will
that will cool the entire tile so we we
once we hook it up to it is liquid
cooled on both the top and the bottom
side um it doesn’t need anything else
and so when we talk about clicking these
together
once we click it to power and we once we
click it to um
cooling it will be fully powered and
fully cooled
and all of that is
less than a cubic foot
yeah
so tesla has a lot of expertise in power
electronics and in uh in cooling so we
took uh the power electronics expertise
from the vehicle powertrain
and the sort of the advanced cooling
that we developed
for the power electronics and for the
vehicle and applied that to the super
computer
because as you point out uh getting heat
out is
extremely important just really heat
limited
so
um
yeah so it’s funny that like
at the compute level it’s operating at
less than a volt
which is a
very low voltage there’s a lot of amps
so therefore a lot of heat
i squared r is what really bites you on
the ass
um hi uh my question’s also similarly a
question of scaling
um so it seems like a natural
consequence of using you know
significantly faster training hardware
is that you’d be either training models
over a lot more data
or you’d be training a lot more complex
models which would be
potentially significantly more expensive
to run at inference time on the cars
uh i guess i was wondering like if there
was a plan to like also
um
apply dojo as something that you’d be uh
using like on the self-driving cars and
if so like
you know do you foresee additional
challenges there
i can
so as you could see like android’s
models are not just for cars like there
are auto labeling models there are other
models that are
like beyond car application but they
feed into the car stack so so dojo will
be used for all of those too
not just the car
inference part of the training
yeah i mean the dojo’s
first application will be consuming
video data for training for that would
then be run in the inverse inference
engine on the car
but uh
and that i think is an important uh test
to see if it actually is good or but is
it actually better than gpu cluster or
not um so
but then beyond that it’s basically a
general a generalized neural net
training computer
but it’s very much optimized to be a
neural net so
you know cpus and gpus uh
they’re they’re they’re not made to be
um
they’re not they’re not designed
specifically for training neural nets um
we’ve been able to make gpus especially
very efficient for
portraying neural nets but that’s not
that was never their design intent so
it’s it’s bc gpus are still essentially
running it uh neural net training in
emulation mode so
um with with dojo we’re saying like okay
let’s just let’s just asic the whole
thing
let’s just
have this thing that’s it’s built for
one purpose and that is neural net
training
and just generally any system that is
designed for a specific
purpose will be better than one that is
designed for a general purpose
hey i had a question here
hi um
so you described two separate systems
one was for vision therefore planner and
control um does dojo love you train
networks that cross that boundary and
second thing is if you were able to
train such networks would you have the
onboard compute capability in the fst
system to be able to run that in in
under your tight latency constraints
thanks
yeah i think we should be able to train
uh planner networks on dojo or any gpus
it’s really invariant to the platform um
and i think uh if anything once we make
this entire thing end to end it’ll be
more efficient than decoding a lot of
these intermediate states so you should
be able to run faster if you make the
entire thing uh into in your neural
networks we can avoid a lot of decoding
of the intermediate states and only
decode essential things required for
driving the car
yep certainly and to endness and as the
guiding principle behind a lot of the
network developments and over time in
the stack neural networks have taken on
more and more functionality and so
we want everything to be trained
end-to-end because we see that that
works best but we are building it
incrementally so right now the interface
there is vector space and we are
consuming it in the planner but nothing
really fundamentally prevents you from
actually taking features and eventually
fine-tuning end-to-end uh so i think
that’s definitely where this is headed
yeah and the discovery really is like
what are the right architectures that we
need to place in network blocks to make
it amenable to the task so like on a
describe we can place spatial rnns to
help with the uh perception problem uh
and now it’s just neutral network so
similarly for planning we need to bake
in search and optimization into the
planning into the network architecture
and once we do that you should be able
to do planning very quickly uh similar
to c plus plus algorithms
okay
okay
i think i had a question very similar to
what he was asking about
it seems like a lot of neural nets
around computer vision
and kind of traditional planning you had
model predictive control in solving
convex optimization problems very
quickly
and
i’d wonder if there’s a compute
architecture that’s more suited for
convex optimization or the model
predictive control uh solutions very
quickly
yeah 100 if you want to bake in like i
said earlier if you want to bake in
these architectures that do say model
protein control but just like replace
some of the blocks with neural networks
or if we know the physics of it we can
also use physics-based models part of
the neural network’s forward pass itself
so we are going to go towards a hybrid
system where
we will have neural network blocks
placed together with a physics-based
blocks and more networks later so it’ll
be a hybrid stack and what we know to do
well we place with explicitly and what
the networks are created we’ll use the
networks to optimize this uh so better
end-to-end stack with this architecture
baked in
i i mean i do think that
so as long as you’ve got like um
surround video
uh
neural nets for understanding what’s
going on and can uh
convert
those surround video into vector space
then you basically have a video game
um and if
you know if you
it’s like if you’re in grand theft auto
whatever you can you can make the cars
drive around and pedestrians walk around
without crashing so
um you can do you don’t have to have a
neural net for control and planning um
but it’s probably
ultimately better um
so
but i think you can probably get to
in fact i’m sure you can get to much
safer than human with control and
planning
primarily in c plus plus with
perception vision in
neural nets
hi
my question is we’ve seen other
companies for example use reinforcement
learning and machine learning to
optimize
power consumption and data centers and
all kinds of other internal processes my
question is are is tesla using machine
learning within its manufacturing design
or other engineering processes
i
i discourage use of machine learning
because it’s really difficult
unless you basically unless you
have to use machine learning don’t do it
it’s usually a red flag when somebody
says we want to use machine learning to
solve this test i’m like that sounds
like um
so
uh
99.9 percent of time you do not need it
um
so
yeah
but so it’s kind of like a
you you reach for machine learning when
you when you
need to not but it’s i’ve not found it
to be a convenient easy thing to do
um it’s a super hard thing to do
that may change if you’ve got a humanoid
robot that can
you know understand
normal instructions
um
but
yeah
generally minimize use of machine
learning in the
factory
hi um based on your videos from the
simulator uh it looked like a
combination of graphical and neural
approaches i’m curious what the set of
underlying techniques uh that are used
for your simulator and specifically for
neural rendering if you can share
yeah so we’re doing uh
at the bottom of the stack it’s just
traditional game techniques
uh just rasterization real time
uh you know very similar to what you’d
seen like gta
on top of that we’re doing real-time ray
tracing and then those results were
really hot off the press um i mean we
had that little asterisk at the bottom
that that was from last night
we’re going into the neural rendering
space we’re trying out a bunch of
different things
we want to get to the point where the
neural rendering is the
the cherry on the top that pushes it to
the point where the models will never be
able to overfit on our simulator
currently we’re doing things similar to
photorealism enhancement
there’s a paper a recent paper photo
enhancing photo realism enhancement
but we can do a lot more than what they
could do in that paper because we have
way more labeled data way more compute
and also much we have a lot more control
over environments
and we also have a lot of people who can
help us make this run at real time
um but we’re going to try whatever we
can do to get to the point where we can
train everything just with the simulator
uh if we had to but we will never have
to because we have so much real world
data that no one else has
it’s just to fill in the little gaps in
the real world
yeah i mean
the simulator
is very helpful when there’s like these
rare cases like like um
you know like
collision avoidance right before an
accident
um and then
ironically that the better our cars
become at avoiding accidents the fewer
accidents there are so then our training
set is small so then we have to make
them crash in the simulation
so it’s like okay minimize potential
injury to
uh pedestrians and people in the car
you have five meters you’re traveling at
you know 20 meters per second um
take what actions would minimize
probability of injury
we can run that in some
cars driving down the wrong side of the
highway that kind of thing
happens occasionally but not that often
um for your humanoid contacts i’m
wondering if you’ve decided on what use
cases you’re gonna start with and what
the grand challenges
um
are in that context to make this viable
well i think for the humanoid for the
tesla bot um
optimus
it’s basically going to start with
just dealing with
work that is
boring repetitive and dangerous
basically what is the work that people
would least like to do
um
hi um so quick question about
your simulations um obviously they’re
not perfect right now so are you using
any sort of domain adaptation techniques
to basically bridge the gap between your
simulated data and your actual
real-world data because i imagine it’s
kind of dangerous to
just deploy models which are solely
trained on simulated data so maybe some
sort of explicit domain adaptation or
something is that going on anywhere in
your pipeline
so currently uh i mean we’re producing
the videos straight out of the simulator
uh the the full clips of kinematics and
everything and then we’re just
immediately training on them but it’s
not the entire data set it’s just a
small targeted segment and we only are
evaluating based on real world video um
we’re paying a lot of attention to make
sure we don’t ever fit uh and if we have
to start doing fancier things we will
but currently it’s we’re not having an
issue with it overfitting on the
simulator we will as we scale up the
data um and that’s what we’re hoping to
use neural rendering to bridge that gap
to push that even further out um we’ve
already done things where we’re using
like the same networks in the car but
retrain it to detect sim versus rail to
drive our art decisions
um and that’s actually helped um prevent
some of these things as well
yeah just to emphasize that
overwhelmingly the data set is the real
video from the cars on the actual roads
uh nothing’s weirder or uh or has more
corner cases than reality
um it’s gets really strange out there
but but then if if we find say a few
examples of something very odd
and there’s some very some for some very
odd pictures we’ve seen
then in order to train it effectively we
want to
create simulations
uh say a thousand simulations that are
that are variants of that
quirky thing that we saw
the foot to fill in the some important
gaps and and make the system better and
really all of this is about over time
just
reducing the probability of of a crash
or an injury and
it’s called the march of nines like how
do you get to 99.999999
uh safe you know and
it yeah
each nine is an order of magnitude
difficulty increase
uh thanks so much for the presentation i
was curious about
the tesla bot um
specifically i’m wondering
if there are any specific applications
that you think the humanoid form factor
lends itself to
and then secondary
um
because of its human form factor is
emotion or companionship at all thought
about
on the product roadmap at all
um
well we certainly hope this does not
feature in a dystopian
sci-fi movie
but uh you know like
really at this point
we’re saying like maybe this robot can
just we’re trying we’re trying to be as
literal as possible can it do um boring
dangerous repetitive
jobs that people don’t want to do
and
uh
you know once you can have it do that
then maybe you can do other things too
but
that’s the that’s the thing that we
really great to have
so
it could be your buddy too i mean buy
one and have it be or your friend and
whatever
i’m sure that people think of some very
creative uses
so
uh so
um so firstly thanks for the the really
incredible presentation um my question
is on the ai side um so one thing we’ve
been seeing is that with some of these
language modeling ais we’ve seen that
scaling has just had incredible impacts
in their capabilities and what they’re
able to do
so i was wondering whether you’re seeing
similar kinds of effects of scaling in
in your
neural networks in your applications
absolutely a bigger network typically we
see it performs better provided you have
the data to also train it with and this
is also what we see for ourselves
definitely in the car we have some
latency consideration to be mindful of
and so there we have to get creative to
actually deploy much much larger
networks but as we mentioned we don’t
only train neural networks for what goes
in the car we have these um
auto labeling pipelines that can utilize
models of arbitrary size so in fact
we’ve traded a number of models that are
not deployable that are significantly
larger and work much better because we
want 100 like we want much higher
accuracy for the auto labeling and so
we’ve done a lot of that and there we
definitely see this trend
yeah the order labeling is uh
an extremely important important part of
this whole whole situation
without the order labeling i think we
would not be able to solve the
self-driving problem it’s kind of a
funny form of distillation where you’re
using these very massive models plus the
structure of the problem to do this
reconstruction and then you distill that
into neural networks that you deploy to
the car but we basically have a lot of
neural networks and a lot of tasks that
are never intended to go into the car
yeah and also as time goes on that you
get new frames of information so you
really want to make sure your computer
is distributed across all the
information as opposed to just taking a
single frame and hogging on it for say
200 milliseconds you actually have newer
frames coming in so you want to like use
all of the information and not just use
that one frame
i think
one of the things we’re seeing is that
the car’s predictive ability is um is
quite is eerily good
um
it’s really getting better than human in
terms of predicting like you say like
what
predict what this road will look like
out when it’s out of sight like it’s
around the bend and it predicts the road
with very high accuracy
and
you know
predict pedestrians or cyclists wherever
behind you know where to just see a
little corner of the bicycle and
a little bit through through the windows
of the bus and its ability to predict
things is going to be much better than
humans like really way way beyond right
yeah we see this often where we have
something that is not visible but the
neural network is making up stuff that
actually is very sensible sometimes it’s
eerily good and you have to like you’re
wondering this is in the training set
and actually
actually in the limit you can imagine
the neural net has enough parameters to
potentially remember earth so
in the limit it could actually give you
the correct answer and it’s kind of like
an hd map back baked into the weights of
the neural net
i have a question about the design of
the tesla bot specifically in order uh
how important is it to maintain that
humanoid form
to build hands with five fingers
uh that also respects the weight limits
could be quite challenging you might
have to use cable driven and then that
also causes all kinds of issues
um i mean this is just going to be
bought version one and we’ll see
so
the
it’s
it needs to be able to do things that
that people do um and uh
you know be a generalized you know
humanoid robot
um
i mean you could make you potentially
have it give it like you know
two fingers and a thumb or something
like that
um
you know for now we’ll we’ll give it
five fingers and and see
see if that works out okay
it probably will it doesn’t need to be
like uh you know have like
incredible grip strength
but it needs to be able to work with
tools
so and you know carry a bag that kind of
thing
all right thanks a lot for the
presentation
so an old professor of mine told me that
um the thing he disliked a lot about his
tesla was that the autopilot ux didn’t
really inspire much confidence in the
system especially when like objects are
spinning classifications are flickering
i was wondering like even if you have a
good self-driving system how are you
working on convincing tesla owners other
road users or other road users and just
the general public that your system is
safe and reliable
well i think that’s that’s
the cars
a while back cars used to spend they
don’t they don’t spin anymore not in the
if you’ve seen the fsd
beta videos they
they’re they’re pretty solid um
and they will be getting more solid yeah
as him add more and more data and train
these multi-camera networks like these
are pretty decent actually just like few
months old and it’s really improving
it’s not a done product uh and that
we’ve never minds we can clearly see how
this is just going to be like perfect
but perfect for space because why not uh
all the information is that in the
videos it should produce a given lots of
data and good architectures
um
and this is just an intermediate point
in the timeline
i mean it’s clearly headed to way better
than human without question
my turn oh
hi here um i was wondering if you could
talk a little bit about the short to
medium-term economics of the bot i guess
i understand the long-term vision of
replacing physical labor
but i also think repetitive dangerous
and boring tasks tend to not be
so highly compensated and so i just
don’t see how to reproduce uh
you know start with a supercar and then
break into like the lower end of the
market how do you do that for a robot
humanoid
well i guess you’ll just have to see
hello hi
um i was curious to know how the car ai
prioritizes
occupant safety versus pedestrian safety
and what thought process goes into like
deciding how to make this into the ai
well i mean we
the the thing to appreciate
is that from the computer standpoint
everything is moving slowly
so uh think you know to a human uh
things are moving fast to the computer
they are not moving fast so i think this
is in reality somewhat of a false
dichotomy not that it will never happen
but it will be very rare
um
you know if you think it was like
you know going the other direction
like rendering
you know with full ray tracing uh
neural net enhanced graphics on
something like cyberpunk or in any you
know advanced video game
you know doing 60 frames a second
uh
perfectly rendered
like how long would it take a person to
even render one frame
and without any mistakes
can be done i mean it would take like a
month
just to
just render one one frame out of 60 in a
second in a video game
it’s uh
computers are fast and humans are slow
i mean for example
uh on on the rocket side the you you
cannot steer the rocket to orbit
um we actually hooked up a joystick to
see if anyone could steal the rocket
orbit but
you need uh
to react at
roughly
six seven hertz uh people can’t do it
not even now that’s pretty low you know
we’re talking more like
even for like
30 hertz type of thing
hi um with the over here uh with
hardware 3 there’s been lots of
speculation that with larger nets it’s
hitting the limits of what it can
provide
how much headroom has the extended
compute modes provided at what point
would hardware 4 be required if at all
well i’m confident that hardware 3 or
the full stop driving computer 1 will be
able to
achieve full self driving at a safety
level much greater than a human probably
i don’t know
at least two or three hundred percent
better than a human um then obviously
there will be a future hardware for or
full self-driving computer too
which we’ll probably introduce with the
cybertruck um so maybe in about a year
or so
uh
that is
probably well that’ll be about four
times more capable roughly
um
but it’s really just going to be
like can we take it from say for
argument’s sake 300 safer than a person
to a thousand percent safer
um
you know just like there are people on
the road who with with varying driving
abilities but we still let people drive
it you don’t have to be the world’s best
driver to be on the road
so as we see
so
yeah
guess what’s new
all
um right
are you worried at all since you don’t
have any depth sensors on the car that
people might try like adversarial
attacks like
printed out photos or something to try
to trick the rgb
neural network
yeah like what pull some like wiley cody
stuff
you know like paint the tunnel on the on
the wall
it’s like oops
um
we haven’t really seen much of that um
i mean
for sure like like right now if you
pr most likely if you had like a
a t-shirt with a
t-shirt with like a stop sign on it
which i actually have a t-shirt with a
stop sign on it and and then you like
flash the car
it will it will stop
i i proved that
um but
we can obviously as we see these uh
adversarial attacks then we can we train
uh the cars to uh
you know notice that well it’s actually
a person wearing a t-shirt the stop sign
on it so it’s probably not a real stop
sign
hi uh my question is about um the
prediction and the planning i’m curious
how do you incorporate uncertainty into
your uh you know planning algorithms
do you just basically assume you know
you mentioned that you run the um
the autopilot for all the other cars on
the road do you assume that they’re all
going to follow those rules or are you
accounting for the possibility that well
they might be bad drivers for example
yeah we do account for multi-modal
futures it’s not that we just choose one
we account for this person can actually
do many things and
we use that actual
physics and kinematics to make sure that
they’re not doing a thing that would
interfere with us before we act um so if
there’s any uncertainty we are
conservative and then would yield to
them of course there’s a limit to this
because if you’re too conservative then
it’s probably not practical so at some
point we have to assert
and we even then we make sure that the
other person can
yield to us and
act sensibly
i should say like
um
like before we introduce something into
the fleet we will run it in shadow mode
and so and we’ll see what what would
this neural net for example have done in
this particular situation
um
because and then effectively the drivers
uh are training it training the net so
if the neural net would have
uh controlled and you know and say
veered right but the person actually
went left it’s like oh there’s a
difference why was there that difference
yeah and secondly
all the human drivers are essentially
training the neural net uh as to what is
the correct course of action
assuming it doesn’t then end up in a
crash you know doesn’t count in that
case
yeah and secondly we have various
estimates of uncertainty like flickr
and when we observe this we actually uh
say we are not able to see something we
actually slow down the car to be again
safe and get more information before
acting uh yeah we don’t want to be
brazen and just go into something that
we don’t know about we only go into
places where we know about
yeah but um yeah
it should be like
aspirationally that the car should be
the less it knows the sl you know the
slower it goes yeah
which is not true at some point but now
yeah yeah we’ve yeahshould we
speed proportionate to confidence
thanks for the presentation so i am
curious
appreciate the fact that the fsd is
improving but if you have the ability to
improve one component along the ai stack
to present it today whether it is
simulation data collections planning
control et cetera which one in your
opinion is going to have the biggest
impact for the performance of the full
self driving
system
it’s really the area under the curve of
this like multiple points and if you
improve anything uh it should improve
the area
i mean in the short term it’s arguably
we need all of the nets to be um
surround video uh and so we still have
some legacy this is a very short term
obviously we’re fixing it fast but
there’s
there’s still some nets that are not
using surround video
um and i think ideally that all use
surround video
yeah very yeah i think a lot of puzzle
pieces are there for success we just
need more strong people to also just
help us
make it work yeah that is the actual box
so that is the actual bottleneck i would
say i’m really one of the reasons that
we are putting on this event exactly
what well said andre that um
there’s just a tremendous amount of work
to do to make
make it work so that’s why we need um
talented people to join in and
solve the problem
uh thank you for the great presentation
lots of my questions answered
but one thing is
uh when
imagine that now you have
a large amount of data even unnecessary
how do you consider that like there’s a
forgetting problem in neural networks
like how are you considering those
aspects and also
another one are you considering online
learning or continuous learning
so
that maybe
each driver can have their version of
uh self-driving
software
i think i think i know the literature
that you’re referring to that’s not some
of the problems that we’ve seen and we
haven’t done too much continuous
learning we train the system once we
find in a few times
that sort of goes into the car we need
something stable that we can evaluate
extensively and then we think that
that’s good and that goes into cars so
we don’t do too much learning on spot or
continuous learning and don’t face the
forgetting problem uh but there will be
settings that you can say like if you do
do you want are you typically a
conservative driver or do you want to
drive fast or slow you know it’s like
i’m late for my i’m late for the airport
uh could you go faster than you know
basically the kind of instructions you’d
give to your uber driver
it’s like i’m late for the flight please
hurry um or take it easy or you know
whatever your style is
so let’s take a few more questions here
so and then we’ll call it a day all
right so as our models have become more
and more capable and i guess you’re
deploying these models into the real
world um one thing i guess that’s
possible is for ai to become more i
guess misaligned with what humans desire
so i guess is that something that you
guys are worried about as you guys
deploy more and more robots um or do you
guys like we’ll solve that problem when
we get there
yeah i think that we should be worried
about ai um you know like
what we’re trying to do here is i say
narrow ai uh
pretty narrow like just make the car
drive better than a human um
and then have the humanoid robot be able
to do basic stuff um
uh
you know so
um at the point at which you sort of
start get uh superhuman intelligence uh
yeah i don’t know all bets are off
um
but
you know and that’s that’s that’s you
know
that’ll that’ll probably happen but but
what we’re trying to do here at tesla is
make useful
ai that
people love and and is
unequivocally good that’s our
you know try to aim for that
okay maybe one more question
hi uh my question is about the camera
sensor in the beginning of the talk you
had mentioned about building a synthetic
animal
and if you think about it
a camera is a very poor approximation of
a human eye and a human eye does a lot
more than take a sequence of frames
have you looked into like there are like
these days are like cameras like event
cameras have you looked into them or are
you looking into a more flexible camera
design or building your own camera for
example
well with hardware four we will we will
have a next generation camera uh but i
have to say that the the current cameras
we have not reached the limit of the
current cameras uh so
um
and i’m confident we can achieve full
self-driving with much higher safety
than
humans with the current cameras and
current compute hardware
um
but
you know
are we good to be a thousand percent
better rather than 300 better
so
we’ll see continued evolution on on our
levels
and pursue that goal and i think in the
future
people will look back and say
wow i can’t believe we had to drive
these cars ourselves
you know it’ll like self-driving cars
will just be just a normal like
self-driving elevators
you know uh elevators used to have
elevator operators
and uh there’s someone there with like
you know big big relay switch
operating the elevator
and then every now and then they’d get
tired or you know some make a mistake
and share somebody in half so
um so now we uh you know we made
elevators automatic and you just go and
you press the button and you can be in a
100 story skyscraper and
don’t really worry about it just go and
press a button and
the elevator takes you where you want to
go
but it used to be that all elevators
were operated manually manually it’ll be
the same thing like for cars
all cars will be automatic
and then um and electric obviously um
so there will still be some gasoline
cars and some manual cars just like
there are still some horses
so
um all right well thanks everyone for
coming and i hope you enjoyed a
presentation and thank you for the great
questions
皆さん、こんにちは……遅くなってすみません……ええと
ご来場ありがとうございました。
そして、技術的な問題があって
困難がありました。
今回のAIは本当に素晴らしいですね
それで……私たちが今日見せたいのは
今日お見せしたいのは、テスラが
電気自動車の会社というだけではなく
私たちが持っている
深いAI活動

推論レベルのハードウェアと
トレーニングレベル
そして
基本的に私たちは
私たちは
現実世界に適用されるAIのリーダーであることは間違いないと思います。
現実の世界に適用されるAIのリーダーであると言えます。
えーと
そして、自動運転の全貌をご覧になった方は
自動運転の
ベータ版をご覧になった方は、テスラの自動運転の速さを
テスラの
ニューラルネットが運転を学習する速度を
そして
これはAIの特殊なアプリケーションです。
AIの特殊なアプリケーションですが、私はもっと他にも
この先にはもっと多くのアプリケーションがあります。
この先、もっと意味のあるアプリケーションが出てくると思います。
そのことについては、プレゼンテーションの後半で
しかし
基本的には、私たちは
現実のAI問題を解決することに
ハードウェアとソフトウェアの両方で
ハードウェア、ソフトウェアのどちらのレベルでも
テスラに参加したり、絵を描くことを検討したりすることをお勧めします。
テスラ
それでは、まずアンドレから始めましょう。
素晴らしい
皆さん、こんにちは。
私の名前はアンドレで、私は
テスラのビジョンチームを率いています。
私はテスラの自動操縦チームのリーダーです。
このセクションを始めるにあたり
このセクションでは、自動操縦スタックを技術的に深く掘り下げて
自動操縦スタックの技術的な深堀りと
車が自分で運転できるようにするための
車を自動運転させるためのボンネット内の部品を紹介します
まず始めに
ビジョンコンポーネント
分割コンポーネントで私たちがやろうとしているのは
我々がやろうとしているのは
生の情報を処理するニューラルネットワークを設計しようとしています。
情報
ここでは、車両の周囲に配置された8台のカメラ
車両の周囲に配置された8台のカメラ
カメラから送られてくる画像をリアルタイムに処理して
その情報をリアルタイムに処理して
ベクトル空間と呼ばれるものにリアルタイムで処理する必要があります。
運転に必要なすべてのものの3次元表現
運転に必要なすべてのもの、つまり
つまり、次のような3次元的な位置関係です。
線、縁、縁石
交通標識 交通信号
車の位置と方向
奥行き、速度など
ここでは、そのビデオをお見せしています。
ちょっと待ってください。
お詫び
ここでは、スタックに入力される生の
スタックに入ってくる生の入力と、それを
ニューラルプロセスでベクトル空間に
そして、そのベクトル空間の一部が
ベクトル空間の一部が、車の計器
車のインストルメントクラスター

私が魅力的だと思うのは
これは、私たちが事実上、人工的な動物を一から作っているということです。
人工的な動物を一から作っているということです。
車は動物のように考えられます
車は動き回り、環境を感知し
動き回り、環境を感知し、自律的かつ知的に行動し
自律的かつ知的に行動します。
私たちは、すべてのコンポーネントを
すべてのコンポーネントを社内で一から作っています。
機械的な部品はもちろん
体のすべての機械部品、神経系、すべての電気部品
すべての電気部品、そして今回の目的である
今回の目的は自動操縦装置の脳
特にこのセクションでは
合成視覚野
生物学的視覚野は
実際には非常に複雑な構造をしており
いくつかの領域があります。
脳の情報の流れを整理する
特に我々の
あなたの視覚野では
情報が目に入り
光が網膜に当たると、それがLGNを通って
LGNを通って視覚野の奥へと進みます。
視覚野の後ろ側にあるエリアv1 v2 v4を通ります。
v4 背側ストリームのベンチャー
情報は一定のレイアウトに整理されます。
情報が一定のレイアウトで整理されているため、私たちが
車の視覚野をデザインする際には
車の視覚野を設計する際には、ニューラル
情報がどのようにシステムを流れるかという
情報がどのようにシステム内を流れるか
処理は、光が人工物に当たった最初の段階で
光が人工網膜に当たったときに処理が始まり
この情報をニューラルネットワークで処理することになります。
その情報をニューラルネットワークで処理します。
このセクションを大まかに時系列で整理すると
このセクションを大まかに時系列で整理すると、まず
ニューラルネットワークのいくつかと
私がチームに参加したおよそ4年前にはどのようなものだったか
私がチームに参加したおよそ4年前にはどのようなものだったか、そして時間の経過とともにどのように発展してきたか
進化してきたか
そして
およそ…
4年前のクルマは、ほとんどが
高速道路を片側一車線で走行していました。
車線を維持しなければならなかった。
車線を維持し、前の車との距離を保つ必要がありました。
前の車との距離を保つ必要がありました。
当時はすべての処理が個々の画像レベルで行われていました。
当時の処理はすべて個別の画像レベルで行われていたので、1枚の画像
一枚の画像をニューラルネットで分析して
ベクトル空間の小さな断片を作り
ベクトル空間の小片に処理します。
ベクトル空間の小片に処理していました。
次のような形になります。
960の入力があり、これは12ビットの整数です。
およそ36ヘルツで入力されています。
これをニューラルネットワークで処理します。
ニューラルネットワークで処理するので、特徴抽出器バックボーンをインスタンス化します。
特徴抽出器のバックボーンをインスタンス化します。この例では
残差ニューラルネットワークを使用します。
ステムと複数の残差ブロックを
直列に接続された
我々が使用する特定のクラスの残差ニューラルネットワークは
レグネットとは、我々がこのような
残差ニューラルネットワークは
ニューラルネットワークの素晴らしい設計空間を提供する
ニューラルネットワークの設計空間を提供します。
レイテンシーと精度をうまくトレードオフできるからです。
レグネットは、出力として
異なるスケールの異なる解像度で多くの特徴を
様々なスケールの様々な解像度の特徴を出力します。
特に、この特徴的な階層の一番下にある
機能階層の一番下には、非常に高い
チャンネル数が非常に少ない高解像度の情報が
チャンネル数が非常に少ない高解像度の情報があり、上部には
頂点には低空間低解像度の情報があります。特に、チャンネル数が多い場合には
下の方にはたくさんのニューロンがあって
下部には画像の細部を精査する
上には画像のほとんどを見ることができるニューロンがあります。
画像の大部分を見ることができ、多くの文脈や
多くの文脈、多くのシーンの文脈
コンテキスト
これを処理するには、次のようにします。
特徴ピラミッドネットワークで処理します。
fbnsを使用することで、マルチスケールの
複数のスケールに対応したマルチスケールの
複数のスケールで効果的に会話し、多くの情報を共有することができます。
多くの情報を共有することができます。
例えば、あなたがネットワークの中のニューロンであり
例えば、あなたがネットワークの下にいるニューロンで、小さなパッチを見ていて
例えば、あなたがネットワークのずっと下にいるニューロンで、小さなパッチを見ていて、これが車なのかどうかわからないとします。
これが車なのかどうかわからない場合、トッププレイヤーから
トッププレイヤーから、自分は
実際にこの高速道路の消失点にいることを
ハイウェイの消失点にいることがわかれば、それが
これは車だろうということを明確にすることができます。
Fbnを購入し、機能融合を行った後
尺度を超えて、次にタスク別の頭に入ります。
例えば、物体検出の場合は
例えば、物体検出を行う場合は、1
例えば、物体検出を行う場合、ここでは1ステージのヨーロピアンな物体検出を行います。
ここでは、ラスタを初期化して
位置ごとにバイナリビットがあり
そこに車があるかどうかを示します。
さらに、車がある場合は
さらに、車がある場合には、他の属性の束が表示されます。
興味のある他の属性がたくさんあります。
高さのオフセット、その他の属性
どんな車なのかなどの属性
などがあります
これは検出自体のためのものです。
すぐに分かったことは
車を検出するだけではなく、多くのタスクを
多くのタスクを実行したいことがわかりました。
例えば、交通信号の認識や
認識・検出、車線予測など
車線の予測など、非常に素早く
このようなアーキテクチャ・レイアウトを
共通の共有バックボーンがあり
共通のバックボーンがあって、それがいくつかのヘッドに分岐するという
いくつかのヘッドに分岐しています。
これをハイドラネットと呼んでいます。
これらはヒドラの頭です
さて
このアーキテクチャ・レイアウトにはいくつかの利点があります。
いくつかの利点があります。まず第一に
機能を共有しているので
フォワードパスの推論をテスト時に
を償却できるので、テスト時に非常に効率的に
非常に効率的に実行できます。
すべてのタスクにバックボーンを用意していたら
タスクごとにバックボーンを用意していたら、車内にたくさんの
車内にはたくさんのバックボーンがあります。
第二に、これはすべてのタスクを切り離して
すべてのタスクを切り離して、それぞれのタスクを
それぞれのタスクを個別に作業できるようになります。
例えば、データセットのアップグレードや
データセットのアップグレードや
例えば、データセットをアップグレードしたり、ヘッドのアーキテクチャを変更したりしても
他のタスクに影響を与えることはありません。
他のタスクに影響を与えないので、他のタスクを再検証する必要がありません。
他のタスクに影響を与えないので、コストのかかる
高くつく
3つ目は、ここにはボトルネックがあり
ボトルネックになっているからです。
かなりの頻度で行っているのが、これらの機能を
機能をディスクにキャッシュして
微調整を行っているときに
ワークフローの微調整を行う際には、キャッシュされた機能から微調整を行います。
キャッシュされた機能を元にして微調整を行い、ヘッドの部分だけを見つけます。
頭の中でしか見つけられません。つまり、多くの場合
トレーニングワークフローでは
エンド・ツー・エンドのトレーニングを行うこともあります。
ここでは、すべてを共同で学習し、次に
特徴量をキャッシュします。
マルチスケールの特徴レベルでキャッシュして
その結果をもとにしばらくの間、微調整を行い
その後、もう一度エンド・ツー・エンドのトレーニングを行うといった具合です。
などです。
このような予測が得られています。
数年前に得られた
今から数年前
ある水素化物から得られたものです。
個々の画像を処理しています。
そう、個々の画像を処理して
個々の画像を処理して
これらの画像について多くの予測を行っています。
例えば、この画像では
例えば、ここでは、一時停止標識の予測…
停止線…線…縁…車…信号…縁
車……信号……縁石
ここでは
車に火花が散っているかどうか
ゴミ箱や缶、コーンなどの静的な物体のすべて
缶やコーンなどの静的物体など、ここにあるすべてのものが
ネットから出てきます
この場合、ヒドラネットから出てきます。
それはそれで良かったのですが、FSDに向けて作業を進めていくうちに
しかし、FSDに向けて作業を進めていくと、すぐに次のことがわかりました。
これでは十分ではありません。
壊れ始めたのは、スマートサモンに取り組み始めたときでした。
スマートサモンに取り組んだときです。
カーブ検出タスクのみの予測結果の一部を示しています。
縁石検出タスクの予測を示しています。
全てのカメラについて
駐車場の周りをぐるぐる回って
駐車場をぐるぐる回って、車を呼び出している人を
車を呼んでいる人を見つけたいのですが、問題は
問題は、画像空間予測に基づいて直接運転することはできないということです。
問題は、画像空間の予測に直接アクセスすることはできず、実際に
実際には、それらをキャストして、ある種の
ベクトル空間を形成する必要があります。
そこで私たちは、C++を使ってこれを試みました。
当時、私たちは
当時、占有率トラッカーと呼ばれていたものを開発しました。
ここでは、画像からのカーブ検出が
画像から縁石を検出して
カメラシーンとカメラの境界を越えて
時間経過とともに
ここで2つの大きな問題があります。
1つ目は、このセットアップについてです。
1つ目は
オキュパントラッカーとそのすべてのハイパーパラメータの
パラメーターの調整は非常に複雑で
これを手作業で明示的に行いたくはありません。
C++で明示的に行うのではなく、ニューラルネットワーク内で行い
ニューラルネットワークの中に入れて、最後から最後までトレーニングする必要があります。
第2に、我々はすぐに発見しました。
画像空間は正しい出力空間ではないことがすぐにわかりました。
画像空間で予測をしたくないのです。
予測を画像空間で行うのではなく、本当に
ベクトル空間で直接予測を行いたいのです。
そこで、この問題を説明する方法があります。問題点
ここでは、最初の行に、曲線と直線の
曲線と直線の予測を示しています。
赤と青で表示しています。
画像では素晴らしいものですが
しかし、それをベクトル空間にキャストしてみると
しかし、それをベクトル空間にキャストすると、本当にひどい状態になります。
これでは車を走らせることができません。
これでは
ベクトル空間での予測は非常に悪いということがわかります。
ベクトル空間での予測がいかに悪いかがわかります。
根本的にこのようなことが起こるのは
ピクセルあたりの深度が非常に正確でないと
実際にこの
この投影を行うためには、ピクセルごとに非常に正確な深度が必要となります。
予測することがいかに高いハードルであるか
画像の1ピクセルごとに、深さを正確に
画像の1ピクセルごとに正確に深度を予測し
また、予測したい場所に遮蔽物がある場合は
予測したいと思っても、それができないのは
予測したいと思っても、画像空間ではないため、予測できません。
空間
その場合のコンセプト
ですから、私たちはすぐに
の現実
ところで、この問題の他の問題点は
物体検出の場合も、カメラごとに予測する場合は
カメラごとに予測するだけの場合は
このようなケースに遭遇することがあります。
1台の車が8台のカメラのうち5台にまたがっているようなケースです。
8台のカメラのうち5台にまたがっている
そのため、個別に予測を行うと
予測を行う場合、1台のカメラでは
車のすべてを見ているわけではないので、当然
車全体を予測することはできません。
車の全体像を予測することはできません。
これらの測定値を融合させることは、非常に困難です。
また、これらの測定値を融合させることも非常に困難です。
そこで私たちは、直感的にこう考えました。
代わりにやりたいのは
すべての画像を同時に
1つのニューラルネットに入力して
ベクトル空間に直接出力することです。
これは非常に簡単に言えば、実際にはもっと難しいのですが
実際に実現するのは難しいですが、大まかには
ニューラルネットをこのようにレイアウトして
すべての画像を処理するために
バックボーン
そして、それらをなんとか融合させたい。
それを画像空間の特徴から
特徴を画像空間の特徴から
ある種のベクトル空間に再表現したい
そして、頭のデコーディングに入ります。
頭部の

これには2つの問題があります。
問題点その1
どうやってニューラルネットワークコンポーネントを作成するか
この変換を行うニューラルネットワークコンポーネントを
変換
微分可能にする必要があります。
エンド・ツー・エンドのトレーニングが可能になるように
そして2つ目は
ニューラルネットからベクトル空間の予測を得たいのであれば
ニューラルネットからベクトル空間の予測を得たい場合は、ベクトル
基づいたデータセットが必要です。
画像などにラベルを付けるだけでは不十分です。
ベクトル空間のラベルが必要なのです。
問題番号2については後ほど詳しく説明します。
問題の2つ目については後ほどお話しますが、今回は
今回は、ニューラルネットワークの
アーキテクチャに焦点を当てたいと思います。
問題番号1に深く入ります。
これが大まかな問題です。
画像空間ではなく、鳥瞰図のような
予測をしようとしているのですが、画像空間
予測したいと考えています。
例えば、出力空間の黄色の1つのピクセルに注目してみましょう。
このピクセルは
このピクセルは、自分が縁石の一部であるかどうかを判断しようとしています。

このような予測をサポートするためには
このような予測は、画像空間の
画像空間
カメラがどのように配置されているかは大体分かっています。
カメラの位置とその外縁と内縁が大体わかっているので
固有値がわかっているので、この点をカメラ画像に大まかに投影して
この点をカメラの画像に大まかに投影して
これが曲線であるかどうかの証拠は
これが曲線であるかどうかの証拠は、画像のどこかにあるかもしれません
問題は、この投影が
問題は、この投影が非常に難しいことです。
問題は、この投影を正確に行うことが難しいことです。
路面の関数ですからね。
路面が上に傾いていたり、下に傾いていたり
また、他のデータに依存する問題もあります。
データに依存する問題があります。
車によるオクルージョンがあるかもしれません。
車がビューポートのこの部分を遮っていたら
画像のこの部分を車が遮っている場合、実際には
画像の別の部分に注意を払う必要があるかもしれません。
映っている部分ではなく、別の部分に注目したくなるかもしれません。
このようにデータに依存しているため
データに依存しているため、このコンポーネントに
このコンポーネントを固定的に変換することは困難です。
そこで、この問題を解決するために
この問題を解決するために、この空間を表現する変換器を使用します。
この変換器は
多頭飼いの自己主張をして
遮断します。
この場合、実際には1つのブロックで済むのですが
1つのブロックでも
この作業の多くを
そして
効果的に行うのは
望む出力空間のサイズのラスタを初期化して
出力空間のサイズのラスタを初期化し、それを
それを出力空間のサイズとコスの位置エンコーディングでタイル化して
出力空間のサイズとコスチュームの位置エンコーディングでタイル化し
これらをMLPでエンコードしていきます。
クエリベクトルのセット
そして、すべての画像とその特徴
画像とその特徴もそれぞれのキーと値を発し
値を出力し、クエリのキーと値は
クエリのキーと値は、マルチヘッドの
自己主張をすることになります。
起こっていることは、すべての画像
各画像ピースがそのキーで発信している
自分が何であるか、自分が何の一部であるかを伝えています。
私は大体この場所にある柱の一部です。
私はこの場所の柱の一部で、このようなものを見ています。
それがキーになります。
すべてのクエリは、以下のような内容です。
私は出力空間のこの位置のピクセルです。
この位置の出力空間のピクセルで、次のようなものを探しています。
このタイプの特徴を探しています
そして、キーとクエリは乗算的に作用し
キーとクエリが掛け合わされ、それに応じて値が
それに応じて
このようにして、空間を再表現することができるのです。
この変換は非常に効果的であることがわかります。
すべてのエンジニアリングを正しく行えば
エンジニアリングを正しく行えば、これもまた
非常に簡単に言えばすべてのエンジニアリングを正しく行うのは難しい
エンジニアリングを正確に行うことが必要です。
もうひとつ、問題はありません。
実は以前
スライドがどうなっているのかわかりませんが
もうひとつ、注意しなければならないことがあります。
慎重にしなければならないことがあります。
これを動作させようとする場合、細部に注意しなければなりません。
特に私たちのすべての車は
私たちのすべての車は、少しずつ違った方法で、少しこけています。
だから、もしあなたが
画像空間から出力空間への変換を行う場合
画像空間から出力空間への変換を行う際には
カメラのキャリブレーションを知る必要があります。
それを何らかの形でニューラルネットに入力する必要があります。
ニューラルネットに入力する必要があるのですが、そのためには
すべての画像のカメラ
すべての画像のカメラキャリブレーションを連結して
それを何とかしてMLPに入力することは可能ですが
しかし、実際には、すべての画像のカメラキャリブレーションを
しかし、実際には、すべての画像を
すべての画像を合成仮想カメラに変換することで
特殊な平行化変換を用いて
これは次のようになります。
画像補正レイヤーのすぐ上に新しいレイヤーを挿入します。
これは
カメラキャリブレーションの機能であり
すべての画像を仮想的な共通のカメラに変換します。
仮想的な共通カメラに変換します。
たくさんのリピーター画像を平均化して
例えば、後ろを向いている多くのリピーター画像を平均化する場合
これをしないと、ある種のボケが発生します。
ぼやけた感じになりますが
整流変換を行うと
後ろの鏡がとても鮮明になっているのがわかります。
これを行うと……パフォーマンスがかなり向上します。
パフォーマンスが大幅に向上します。
以下にその結果を示します。
左側には以前の状態が表示されており
左側には以前の結果が表示され、右側には
大幅に改善された予測値
ニューラルネットから直接出力される
これはマルチカメラ・ネットワークです。
ベクトル空間で直接予測しています。
基本的には昼夜逆転していることがわかります。
昼夜逆転しています。
この上を実際に運転することができます。
これにはいくつかの時間とエンジニアリングが必要でした。
これを実際に動作させ、展開させていくには、AIチームの時間とエンジニアリング、そして驚くべき作業が必要でした。
これを実際に動作させ、配備し
車内で効率的に使えるようにするために
また、これによって物体検出の多くが改善されました。
例えば、このビデオでは
このビデオでは、シングルカメラ
予測をオレンジ色で、マルチカメラの
青で示していますが、基本的には
車のほんの一部しか見えていない場合は
車のほんの一部分しか見えていない場合は
車のほんの一部分しか見ていないので、検出はあまり良くないでしょう。
車の位置も良くない。
しかし、マルチカメラ・ネットワークでは
しかし、マルチカメラネットワークでは問題ありません。
これは、より名目的な状況での別のビデオです。
このような状況では
この狭い空間にいる車が
カメラの境界を越えると、多くのジャンクが
予測に入り込んでしまい
基本的に、この設定全体が意味をなさないのです。
特に今回のような非常に大きな車に対しては
今回のような大型車の場合は特に意味がありません。
マルチカメラネットワークでは、このような
このような種類の予測では、マルチカメラネットワークの
予測
さて、この時点で我々は
この時点では、マルチカメラ・ネットワークは
ベクトル空間で直接予測していますが
しかし、私たちはまだ、すべての瞬間において
完全に独立した時間の各瞬間に
すぐに発見したのは
すぐに発見したのは、多くの予測を行うためには
予測するためには、実際には
ビデオのコンテクストを必要とする多くの予測があることに気づきました。
これをどうやってネットに送り込むかを考えなければなりません。
具体的には、この車は駐車しているかどうか
動いているのか、速度はどれくらいか
一時的に隠されていてもまだそこにいるのか
一時的に隠されていてもまだ存在しているのか、例えば
前方の道路形状を予測しようとしている場合
前方
50年前に見た標識や道路標示を知っていると非常に便利です。
50メートル前に見た標識や道路標示が
メートル前に見た
そこで
開発しようとしています。
ニューラルネットワークアーキテクチャにビデオモジュールを
ニューラルネットワークアーキテクチャに
これは、私たちが収束させたソリューションの一つです。
収束しました。
以前からあったマルチスケールの特徴を
以前からあったマルチスケールの特徴があり、今回挿入するのは
これから挿入するのは、特徴キュー
モジュールを挿入し、これらの機能の一部を
時間をかけてこれらの機能をキャッシュする
そして、これらの情報を時間的に融合し
これらの情報を時間的に融合し
そして、デコードを行うヘッドへと続いていきます。
デコーディングを行うヘッド
これからこの2つのブロックを1つずつ見ていきます。
これらのブロックを1つずつ見ていきますが、さらに
キネマティクスも入力していることに注目してください。
キネマティクスを入力していることにも注目してください。これは基本的に
速度と加速度です。
車がどのように動いているかを教えてくれます。
つまり、すべてのブロックから見ているものを追跡するだけでなく
すべてのカメラから見ているものを追跡するだけでなく
カメラの映像だけでなく、車がどのように移動したか
移動したか
これが機能キューとその大まかなレイアウトです。
大まかなレイアウトですが、基本的には
基本的にはこれらの特徴を連結しています。
車がどのように移動したかという運動学的な情報と、時間的な特徴を連結しています。
車の動き
車の動きの運動学と位置のエンコーディングを
符号化されたものが連結されて
feature queue
それがビデオモジュールで消費されます。
ビデオモジュールで使用されます。
特に、ポップとプッシュに関しては、正しい情報を得るために
ポップとプッシュのメカニズムについては
メカニズム、いつ、どのようにプッシュするのか、そして
そして
特に、いつ、どのようにして押すのか、基本的には
ここに図解があります。
ここではいくつかの課題があります。
下から自我のある車がやってきて
下から来て、この交差点まで来ます。
交差点にやってきて、交通量が増えます。
目の前を横切るようになります。一時的に前方の車が見えなくなります。
前方の車が一時的に見えなくなります。
しばらくはこの交差点で立ち往生することになるでしょう。
しばらくの間、この交差点で
順番を待つことになります。
これはよくあることで、課題を漫画で表現したものです。
課題を漫画で表現したものです。
ここで
1つ目の課題は
機能キューに関して、また、キューに
待ち行列にプッシュしたいときには、明らかに
ある種の時間ベースの待ち行列を作りたいと思っています。
例えば、27ミリ秒ごとに機能をキューに入れる場合
例えば、27ミリ秒ごとに機能をキューに入れるようにします。
例えば、ある車が一時的に
車が一時的に遮蔽された場合、ニューラルネットワークは
ニューラルネットワークには、時間的に記憶を参照する能力があります。
ニューラルネットワークは、時間内に記憶を参照し
関連付けを学習することができます。
今、この車が遮蔽されているように見えても
今は隠れているように見えても、私の過去の機能にはその記録がある。
これを利用して
検出することができます。
これは、より明白なもののようですが
しかし、私たちのケースで必要だとわかったのは
が必要であることを発見しました。
例えば、路面の状態を予測するために
例えば、前方の路面や道路形状を予測しようと
路面や道路形状を予測しようとしているときに
予測しようとしているとします。
隣の車線が直進していることを予測しようとすると
直進
その場合
そのためには、ラインマーキングや標識、そして
ラインマークや標識を知る必要があります。
時にはそれがずっと前に発生したものであったり
時間ベースの待ち行列だけでは
赤信号を待っている間にその特徴を忘れてしまうかもしれません。
赤信号を待っている間に機能を忘れてしまうかもしれないので、時間ベースのキューに加えて
時間ベースのキューに加えて、空間ベースのビューも用意しました。
空間ベースの見方もあるので、車がある一定の距離を移動するたびに
車が一定の距離を移動するたびにプッシュする
これらの詳細は実際にはかなり重要です。
これらの詳細は非常に重要です。
この場合、時間ベースのキーと空間ベースのキーを用意して
機能をキャッシュするための時間ベースのキーと空間ベースのキーがあります。
Videoモジュールに続く
ビデオモジュールでは、次のような点を検討しました。
この情報を時間的に融合させる方法について、いくつかの可能性を検討しました。
この情報を時間的に融合させる方法について、いくつかの可能性を検討しました。
三次元の畳み込み
変圧器 軸方向の変圧器
より効率的にするために
効率的なリカレント・ニューラル・ネットワーク
数多くの種類がありますが
しかし、私たちが実際にかなり気に入っているのは
しかし、私たちが実際に気に入っていて、少し時間をかけたいと思っているのが
空間リカレント・ニューラル・ネットワーク・ビデオ・モジュール
ネットワークビデオモジュールです。
ここでやっていることは
問題の構造上
私たちは2次元の表面を運転しています。
隠れた状態を2次元に整理することができます。
隠れた状態を2次元の
格子状に整理して、車が走っている間に
車が走っている間に、車の近くにある部分と
車の近くで、車が視認できる部分だけを更新します。
車が走り回っている間に
車が走り回っている間、運動学を使って
に車の位置を統合します。
隠れた特徴
グリッドに統合し、Rnnの更新は
隠れた特徴を持つグリッドに車の位置を統合し
近くにあるポイントでのみRnnを更新しています。
以下にその例を示します。
のようになります。
これからお見せするのは、車が
車が走り回る様子
そして
の隠れた状態を見ています。
このRNN
の隠れた状態を見ているのですが、これらは隠れた状態の異なるチャンネルです。
隠れた状態を見ていると、これが
最適化してニューラルネットをトレーニングした後
ニューラルネットが最適化され、訓練された後、いくつかのチャンネルが
チャンネルの中には、道路の様々な側面を追跡している
道路の異なる側面を追跡していることがわかります。
道路の中心、エッジ、ライン
路面などです。
このビデオのもう一つのクールなビデオです。
これは、隠れた状態の最初の10チャンネルの
隠れた状態の最初の10チャンネルの平均値を
異なる
隠れた状態の最初の10チャンネルの平均を見ています。
基本的に見ていただきたいのは
基本的には、リカレント・ニューラル・ネットワークが
リカレント・ニューラル・ネットワークが
どの時点で何が起こっているかを追跡している
想像してみてください。
ニューラルネットワークに力を与え
ニューラルネットワークには、実際に選択的にメモリを読み書きする力が与えられています。
例えば
例えば、すぐ隣に車がいて
例えば、隣に車がいて、道路の一部を遮っていたとしたら
例えば、すぐ隣に車があって、道路の一部を遮っていたとすると、ネットワークは
その場所には書き込まないが
しかし、車が去って視界が開けてくると
しかし、車が去って視界が開けてくると、リカーリング・ニューラル・ネットは
視界が開けているので
その部分にある情報を
空間のその部分に何があるかという情報を
空間
これがどのように見えるかを示すいくつかの予測があります
これがどのようなものか
ここでは、以下のことを予測しています。
赤色の道路境界線の交差点
青色の交差点エリア
道路の中心などを予測しています。
ここでは予測の一部を表示しています。
視覚化をきれいに保つために
うん
そう、これは空間Rnnによって行われたもので
これは空間Rnnによって行われ、1つのクリップ、1つのトラバーサルのみを表示しています。
1つのクリップ、1つのトラバーサルを示していますが
ここを複数回通過する可能性があることは想像に難くありません。
ここを通過する車の数や、基本的に
何台もの車、何個ものクリップが
協力してこのマップを作っています。
基本的かつ効果的なHDマップ
ただし、明示的なアイテムの空間ではなく
アイテムの空間ではなく、リカレント・ニューラル・ネットワークの特徴の空間になります。
リカレント・ニューラル・ネットワークの特徴を利用しています。
今まで見たことがないクールなものです
また、ビデオネットワークは
今回の例では、物体検出がかなり改善されています。
今回の例では、車が2台ある場合に
2台の車があって
車が2台あって、1台の車がそこを通り過ぎようとしています。
1台の車が通り過ぎて、2台の車を一時的に隠します。
シングルフレームで何が起こっているか
車が目の前を通り過ぎるときに、シングルフレームとビデオの予測で何が起こっているかを見てください。
車が目の前を通り過ぎるときに、シングルフレームとビデオ予測で何が起こっているかを見てください。
これは非常に理にかなっていると思います。
ざっと
何が起こっているのか、簡単に説明します。
その両方が見えているときには
予測値はほぼ同等です。
複数のオレンジ色のボックスが表示されていますが
複数のオレンジ色のボックスが表示されていますが、これは異なるカメラから
カメラ
それらが隠れると、シングルフレーム
ネットワークは検出を中止しますが、ビデオモジュールは
ビデオモジュールがそれを記憶して
車を保存しておき、部分的にしか見えなくなったときに
部分的にしか隠れていない場合、シングルフレーム
ネットワークは、見ているものについて最善の推測をせざるを得ません。
何が見えているのかを推測し、予測することを余儀なくされます。
予測をしなければならないのですが、非常にひどい予測をしてしまいます。
非常にひどい予測をしますが、ビデオモジュールは
しかし、ビデオモジュールは、部分的にしか見えていないことを知っています。
情報を持っていることを知っていて
これは簡単に見えるものではないことを知っています。
目に見える
部分しかないことを知っていて、それを実際には考慮していません。
考慮していません。
また、深さや位置の推定能力も大幅に向上しました。
深さを推定する能力も大幅に向上しました。
特に速度の推定能力が大幅に向上しました。
ここでは、レーダーを取り除いたときの映像をお見せします。
レーダーの深度と速度が緑色で表示されています。
レーダーの深度と速度が緑色で表示されていますが、私たちは
私たちは
レーダーの深度と速度が緑で表示されています。
ビデオネットワークからの信号だけで
ここで見られるのは、オレンジ色の
オレンジ色で表示されているのは、シングルフレーム
パフォーマンス
青で示しているのは、再びビデオ
モジュールを見ると、奥行きの品質がはるかに高いことがわかります。
深度の品質がはるかに高く、速度については
オレンジ色の信号は、もちろん、シングルフレームでは
シングルフレームのネットワークから速度を得ることはできません。
ネットワークから速度を得ることはできないので、我々は単に
深度を区別して得ていますが
しかし、ビデオモジュールは基本的に
レーダー信号の上に位置しています。
これが非常によく機能することがわかりました。
私たちにとって
すべてをまとめてみました
これが現在の私たちのアーキテクチャの大まかな姿です。
今日はこんな感じです。
下に生の画像があります。
レクティフィケーションレイヤーを経て
カメラのキャリブレーションを補正し、すべてを
すべてを共通のバーチャルな
カメラを経由して
レグネットの残差ネットワークを経由して
さまざまなスケールの複数の特徴に
マルチスケールの情報を
マルチスケールの情報をFBNで融合します。
変換モジュールを経て
出力空間のベクトル空間に再表現されます。
出力空間のベクトル空間に再表現されます。
時間的または空間的にフィーチャーキューに入り
のようなビデオモジュールで処理され
空間RNNのような映像モジュールで処理され、その後は
ヒドラネットの枝分かれ構造
すべての異なるタスクのためのトランクとヘッドを持つ
異なるタスクの
以上が、大まかなアーキテクチャです。
これが現在の大まかなアーキテクチャで、右図には
右側にはその予測の一部が表示されています。
右側には、その予測を……つまり、トップダウンのベクトル空間と
トップダウンのベクトル空間と、画像の両方で
画像も表示されています。
このアーキテクチャは確かに
非常にシンプルなものから複雑化した
画像ベースの単一ネットワークから
3、4年前の非常にシンプルな画像ベースの単一ネットワークから複雑化し、今も進化し続けています。
進化し続けています……非常に印象的です。
印象的ですが、まだ
チームが積極的に取り組んでいる改善の機会もあります。
チームが積極的に取り組んでいる例として
例えば、時間と空間の融合は
時間と空間の融合は、ニューラルネットワーク的にはかなり遅れています。
時間と空間の融合は、ニューラルネットワーク的にはかなり遅れていることがわかります。
空間や時間の融合を早めに行い
例えば、コストボリュームやオプティカル
下部のオプティカルフローのようなネットワーク
例えば、私たちの出力は密度の高い
密なラスタであり、これらを後処理するのは実際にはかなり
濃密なラスタを車内で後処理するのは
緻密なラスタを車内で後処理するのはかなりコストがかかりますし、もちろん
非常に厳しいレイテンシーの要求があります。
これは理想的ではありません。
実際には様々な方法を検討しています。
道路の疎な構造だけを予測する方法を
道路の疎な構造を
道路のスパースな構造を予測する方法をいろいろと検討していますが、ポイント・バイ・ポイントや
他の方法で
高価な後処理を必要としないような
後処理
高価な後処理は必要ありませんが、基本的にはこのようにして
非常に優れたベクトル空間を実現する方法です。
ashokは、その上でどのようにして
その上でプレイコントロールを実行する方法について話してくれると思います。
[Applause] (拍手)
ありがとうございましたアンドレ 皆さんこんにちは、私の名前は
アショクです。私はプランニングとコントロール
オートラベリングとシミュレーションチームを担当しています。
ビジュアル・ネットワークのような次元では
緻密なビデオデータを圧縮して
3Dベクトル空間に圧縮します。
現在のプランナーの役割は、このベクトル空間を利用して
プランナーの役割は、このベクトル空間を利用して、車を目的地まで
車の安全性、快適性、効率性を最大化しながら
車の安全性、快適性、効率性を最大化しながら
2019年の時点でも、私たちの惑星はかなり有能なドライバーでした。
車線に沿って走行することができ
必要に応じて車線を変更し
必要に応じて車線変更をしたり、高速道路の出口を出たりすることができましたが、CDC
運転はもっと複雑です
ラドリーには
車線の構造があり、車は
車はもっと自由に運転しています。
のすべてに対応しなければなりません。
歩行者が変な動きをしたり
歩行者がおかしな動きをしていたり
プランニングにおける重要な問題とは?
第一に、行動空間は非常に
非凸
2つ目は高次元であることです
非凸というのは
非凸というのは、複数の可能な解があって
独立して良いと思われる複数の解が存在する可能性があります。
しかし、大域的に一貫した解を得ることは
解を得ることは非常に困難です。
計画が行き詰まるようなローカルミニマムのポケットがあるかもしれません。
計画が行き詰まってしまう可能性があります。
第二に……高次元性は
高次元なのは、車が次の10秒から15秒の計画を立てる必要があり
10秒から15秒後の計画を立てて
位置・速度・加速度を生成する必要があるからです。
加速度を生成する必要があるからです……あるいはこのウィンドウ全体を
これは実行時に生成するパラメータの数が多く
ランタイムに
離散探索法は,非文脈的な問題を解くのに非常に
非文脈問題を解くのに最適です
離散的であるため、ローカルミニマムに陥ることはありません。
ローカルミニマムに陥ることはありません。
連続関数最適化では
簡単にローカルミニマムに陥ってしまい
てしまうことがあります。
大きな
一方、高次元の問題では
高次元の問題では、離散的な探索では
離散的だから
離散的であること、段階的な情報を使用しないこと
段階的な情報を使わないので、文字通り
各点を探索してその良さを知る必要があります。
るのに対し、連続的な
連続的な最適化では、勾配ベースの手法を用いて
素早く良い解決策にたどり着ける
このプリンタ問題に対する我々の解決策は
階層的に分解してから
コード検索法を使用してサクサクと
ええと
凸ではない部分をかみ砕いて、凸の
コリドーを導き出し、連続的な
最適化手法を用いて
最終的に滑らかな軌跡を描くことができます。
探索の動作例を見てみましょう。
動作
ここでは、車線変更をしようとしています。
この場合、車は2回の車線変更を行う必要があります。
この場合、車は前方の左折のために2回の車線変更を行う必要があります。
前方の左折
そのために、車は次のような検索をします。
様々なマヌーバを検索します
最初に検索したのは
車線変更は近くにありますが
しかし、車のブレーキングはかなり厳しいので
居心地が悪い
次の操作では、車線変更を試みますが
車線変更が少し遅かったので、スピードを上げて
他の車の前に出て
車線変更の際に他の車を発見します。
見つけることができましたが、今度は左折し損ねてしまう
ターン
このような検索を短時間に何千回も行います。
非常に短い時間で
これらはすべて物理ベースのモデルなので
これらの機能は非常に簡単にシミュレーションできます。
そして最終的には、いくつかの候補が出てきて
最終的には、候補の中から1つを選びます。
最終的には、以下の最適条件に基づいて
最終的には、安全性と快適性、そして簡単に曲がれるという
ターン
今、車はこの道を選びました。
車がこの軌道を実行しているのを見てください。
この軌道を実行すると、我々が計画したものとほぼ一致することがわかります。
右側のシアン色のプロットは、私たちが計画したものとほぼ一致しています。
この右側のシアン色のプロットが
車の実際の速度であり、その下の白い線は
その下にある白い線が計画です。
ここでは10秒間の計画を立てることができ
後から見ると
後から見たときに一致しているので、これは
よくできた計画
他のエージェントと一緒に運転するときは
自分のためだけではなく、みんなのために計画を立てることが大切です。
自分のことだけを考えるのではなく、みんなのことも考えて
みんなで協力して全体を最適化することが大切です。
シーンの交通の流れ
そのために、私たちは
文字通り、自動操縦プランナーを
シーン内のすべての関連オブジェクトに対して
シーン
なぜそれが必要なのか、その例を挙げてみましょう。
必要な理由
これは自動回廊です。
ビデオを見てみましょう
これは自動操縦で自動車を走らせているところです。
自動運転で駐車場のコーンやポールを回り込んでいます。
そしてポール……ここに3Dビューがあります。
同じもの
対向車が到着すると
自動操縦は少し減速しますが
対向車が来ると自動操縦は少し減速しますが
こちら側にスペースがないため、相手に譲ることができないことに気づきます。
しかし、相手の車はこちらに譲ることができます。
ただやみくもに譲るのではなく
やみくもに理由をつけて
あの車は
車の速度が十分に低いので
車を停めて、こちらに譲るべきだと思います。
私たちは彼らに譲ることができないので、断固として
進める
2台目の対向車が来た
この車は速度が速い
先ほども言ったように、我々は文字通り
相手の自動操縦プランナーを
この場合はプリンタを走らせます
その物体のプランは
その物体の計画は、彼らのパートを回り、彼らのサイトの
駐車場の車を通過した後
駐車場を通り過ぎた後、道路の右側に戻ります。
道路の右側に戻っていきます。
ドライバーの心の中はわからないので
ドライバーが何を考えているかわからないので、実際には複数の
この車の特徴は複数考えられます。
赤色で表示されているものと、緑色で表示されているものがあります。
緑色で示されています
緑の方はこちらに譲歩するプランですが
しかし、この物体の速度と加速度はかなり高いので
この物体の速度と加速度はかなり大きいので
この人がこちらに譲るとは思えません。
実際には、火花が散った車の周りを回っていると思います。
このスパークした車の周りを回っている
そこで自動操縦は、「ここにはスペースがある」と判断します。
この人は絶対に来る。
この人は絶対に来るから車を止める
自動操縦が車を停めている間、我々は
その車がヨーレートに基づいて我々に譲ることを選択したことに
その車のヨーレートと加速度を見て
自動操縦はすぐに
自動操縦はすぐに考えを変えて前進し続ける
進む
だからこそ、すべての人のために計画を立てる必要があるのです。
そうでなければ、この人が周回するとは
そうでなければ、この人が他の駐車場の車の周りを回っていることを
他の駐車場の車を
自分のサイトに戻ってくるとは限らないからです。
そうしないと、自動操縦はあまりにも臆病で
臆病になってしまい、実用的な
自動運転車
ここまでで、検索と
他の人のための計画を立てる方法を見てきました。
囚人の谷……最後に、私たちは
連続的な最適化を行って
惑星が取るべき最終的な軌道を
が取るべき最終的な軌道を生成します。
ここで、お墓は…凸型の回廊です。
スプラインを初期化します。
パラメータ化された方位と加速度
計画の弧の長さをパラメータとした
としてみると
カウンターミアスレーションが継続的に
すべてのコストを削減するために、きめ細かな変更を継続的に行っていることがわかります。
コストを削減するために細かい変更を続けていることがわかります。
例えば、障害物からの距離
探索時間と快適性のための快適性
右側の横方向の加速度プロットを見ると
右側の横方向の加速度のプロットは
綺麗な台形になっていますね……これからですよ
ここでは、右側の
緑のプロットは……きれいな台形になっています。
人間の軌跡を記録すると
人間の軌跡を記録すると、ほぼこのようになります。
横方向のジャークも最小限に抑えられています。
最小化
要約すると、我々は自分とシーン内の他の人の両方を検索します。
シーンの中の自分と他の人の両方を検索します。
コンテキストコリドーを設定して
スムーズなパスを最適化する
これらを組み合わせることで、以下のような非常に優れた
次のようなことができます。
上の図
しかし、私が生まれ育った場所のように
私が生まれ育った地域のように
ええと
より構造化されていません。
車と歩行者がぶつかり合う
アーチブレーキ、クラクション、そして
とてもクレイジーな世界です。
これらの手法をスケールアップすることはできますが
しかし、実行時にこの問題を効率的に解決するのは非常に難しいでしょう。
実行時に効率的に解決することは非常に困難です。
代わりにやりたいのは、学習ベースの手法を使って
学習ベースの手法を使って効率的に解決したい
なぜそれが正しいのかを説明したいと思います。
さて、これからこの複雑な問題を
この複雑な問題から、もっと単純な
おもちゃの駐車場問題ですが、それでも
問題の核心を示しています
ここに駐車場があります。
は青で、ここの緑の駐車場に駐車する必要があります。
緑の駐車場に停める必要がありますので、この車は
縁石や駐車場の車や
オレンジ色で示されたコーンを回る必要があります。
このシンプルなベースラインをやってみましょう、It’s a
星です 標準的なアルゴリズムでは
梯子状の空間を探索する標準的なアルゴリズムです。
ここでのヒューリスティックは、距離……つまり
ゴールまでのユークリッド距離
なので、直接ゴールに向かってシュートしているのがわかると思います。
ゴールに向かって直進するが、すぐに
ローカルミニマムに陥ってしまい
そこからバックトラックして
そこからバックトラックして、別の経路を探索して
このパルクールを迂回しようとする
最終的には前進してゴールにたどり着きますが
しかし、最終的には400,000個のノードを使って
これを作るのに
これは明らかにひどいヒューリスティックです
私たちはこれよりも良いものを作りたいので
もしナビゲーションルートを追加して
ナビゲーションルートを追加して、車がナビゲーションルートに沿って
ゴールに近づきながらナビゲーションルートをたどるようにすると
このようになります。
ナビゲーショングルートはすぐに役立ちます
しかし、それでもコーンや他の障害物に遭遇すると
コーンなどの障害物に遭遇すると、基本的には
前と同じことになります
後退して、新しい道を探します
新しい道を探すことになります。
サポートサーチはこれらの障害物が存在することを知らないので
文字通りそこに行って、衝突するかどうかをチェックして
衝突しているかどうかを確認し、衝突していたら
戻る
ナビゲーションヒューリスティックは役に立ちましたが
それでも22,000枚のノートが必要でした
私たちはこのようなヒューリスティックをもっともっと設計して
もっともっとヒューリスティックを設計して、検索をどんどん
速くすることができます。
しかし、全体的に最適なヒューリスティックを設計するのはとても面倒で
最適なヒューリスティック
コーンからの距離関数があったとしても
コーンからの距離関数があったとしても、それが探索の指針になったとしても
これではダメですね。
単一のコーンに対してのみ有効である
しかし、我々が必要とするのは、グローバルな
価値関数です。
ニューラルネットワークを使用して
このヒューリスティックな手法は
視覚的なネットワークは、ベクトル
ベクトル空間を生成し、その中を車が動き回ります。
これは基本的にアタリのゲームのように見えます。
ゲーム
マルチプレイヤーバージョンです。
mu0α0などの技術を使うことができます。
ゼロなど、囲碁や他の権威あるゲームを解くのに使われた技術を使って
などの技術を使って同じ問題を解くことができます。
同じ問題を解決するために、私たちはニューラルネットワークに取り組んでいます。
状態と行動の分布を生成するニューラルネットワークに取り組んでいます。
行動分布を生成するニューラルネットワークに取り組んでいます。
様々なコスト関数を用いた多色刷りの研究に
様々なコスト関数
コスト関数の中には
距離などの明示的なコスト関数
衝突や快適な移動時間など
などの明示的なコスト関数もありますが
実際のマニュアル運転からの介入
ドライビングイベント
このようなネットワークを、この単純な
このようなネットワークを訓練します。
この問題でMctsがどのように研究したか見てみましょう
ここでは、惑星が
地球は基本的に一発で
目標に向かって前進しています
これはナビゲーションヒューリスティックを使っているわけではありません。
ナビゲーションヒューリスティックを使っていないことに気付きました。
シーン
惑星は直接ゴールに向かうことができます
ゴールに向かうことができます。
見えるのは可能な選択肢です。
どれかを選ぶのではなく
直接ゴールに向かっていく選択肢を
ゴール
その理由は、ニューラルネットワークが
シーンのグローバルコンテキストを吸収して
シーンのグローバルな文脈を吸収して、ゴールに効果的に導く価値関数を
に向かって効果的に誘導する価値関数を生成することができます。
局所的なミニマムを特定するのではなく、全体的なミニマムに向かって
特定のローカルミニマムに向かうのではなく
この作業に必要なのは288枚のノートだけであり
この作業には288枚のノートが必要で、「a star」の平衡状態で行った作業よりも数桁少ない量になります。
均衡距離ヒューリスティック法を用いた「a star」で行われた作業よりも数桁少ない。
距離ヒューリスティック
最終的なアーキテクチャはこのようになります。
ビジョンシステムは
緻密なビデオデータをベクトル空間に分解し
ベクトル空間に変換します。
それを明示的なプランナーとニューラルネットワークの両方が
明示的プランナーとニューラルネットワーク
プランナーに加えて、ネットワーク
ネットワークパネルは、ネットワークの中間的な
ネットワークの中間機能
これにより、軌跡の
ディストリビューション
それを端から端まで最適化することができます。
明示的なコスト関数と人間の介入による
人間の介入や他の模倣データを用いて
このデータは、明示的なプランニング
関数に入ります。
そのために簡単なことは何でも行い
車の最終的なステアリングと加速度のコマンドを
車の最終的なステアリングと加速度のコマンドを生成します。
ここで、ネットワークをどのように学習させるかを説明します。
これらのネットワークを訓練するためには
これらのネットワークを訓練するためには、大規模なデータ
セット
簡潔にお話します。
マニュアルラベリングについて
データについて データセットのストーリーについて
これまでニューラルネットワークの話ばかりしてきましたが
ニューラルネットワークの話ばかりしてきましたが
ニューラルネットワークは性能の上限を示すだけです。
ニューラルネットワークは性能の上限を示すだけです。
ニューラルネットワークは何億ものパラメータを持ち
何億ものパラメータを持ち、これらの
この何億ものパラメータを
正しく設定する必要があります。
パラメータの設定が悪いと
動作しないでしょう。
ニューラルネットワークは上限に過ぎません。
膨大なデータセットが必要です。
正しいアルゴリズムを訓練するためには膨大なデータが必要です
特に私が言ったように、私たちは
ベクトル空間に直接データセットを
そこで問題となるのが
どうやって蓄積するのか?
ネットワークには何億ものパラメータがあるので
何百万ものベクトル空間をどうやって
何百万ものベクトル空間を
きれいで多様な何百万ものベクトル空間の例を
ニューラルネットワークを実際に訓練するために
効果的に
データセットの話があります。
データセットがどのように進化してきたか、そして
すべてのモデルと開発が
私たちが達成したこと
特に、私が入社した約4年前は
4年前に入社したときは
多くのデータセットを得るために第三者と協力していました。
残念ながら、私たちはすぐに
データセットを得るためにサードパーティと協力することは
データセットを得るために
しかし、すぐに、このような重要なことのためにサードパーティと協力してデータセットを入手することは不可能だとわかりました
サードパーティとの連携によるレイテンシーは
遅延が非常に大きく、正直なところ
品質も驚くべきものではありませんでした。だからこそ
完全な垂直統合の精神に基づき
完全な垂直統合の精神に基づき、Teslaではラベリングのすべてを
時を経て、私たちは
1,000人を超えるデータ
ラベリング組織は、プロのラベラーで構成されています。
エンジニアと密接に連携しているプロのラベラーが
エンジニアと密接に仕事をしています。
実際、彼らはアメリカにいて
エンジニアと密接に協力しているのですが、実は彼らはアメリカにいて、この地域のエンジニアと一緒に活動しています。
彼らとは非常に密接な関係にあります。
彼らと緊密に連携し、インフラの構築も行っています。
また、インフラを一から構築しています。
私たちは彼らと緊密に仕事をしています。
今日後ほどお会いする予定の
データラベリングのためのインフラを開発し
データラベリングのためのインフラを開発・維持するチームがあります。
例えば、ここではいくつかの
レイテンシー
スループットと品質の統計を
すべてのラベリングワークフローと
ワークフロー、個々の関係者、すべてのタスク
すべてのラベリングワークフロー、関係者、すべてのタスク、そして
ラベルの数がどのように増加しているか
これが非常に重要であることがわかりました。
私たちはこれを誇りに思っています。
およそ3、4年前の最初の頃は
年前には、ラベリングのほとんどが
画像空間で行われていましたので、想像できると思いますが
このような画像に注釈をつけるには、かなりの時間がかかることが想像できます。
このような画像に注釈をつけるには、かなりの時間がかかることが想像できます。
こんな感じでした。
画像の上に多角形やポリラインを描いているようなものです。
ポリゴンやポリラインを
一枚一枚の画像の上にポリゴンやポリラインを描いています。
先に述べたように、私たちは何百万もの
ベクトル空間
これでは間に合いません。
すぐに次の段階に進みました
3次元または4次元の
ラベリングに移行しました。
個々の画像ではなく、ベクトル空間で
ここで私が見せているのは
ここで見せているのはクリップで、非常に小さな再構成を見ています。
非常に小さな再構成を見ていますが、これからもっと多くの再構成を見ることになります。
もっとたくさんの再構成を見ることができますが、これは
車が走っていた地表面の非常に小さな再構成です。
車が走っていた地面の平面と
この点群を少しだけ再構成したものです。
再構成されています。
ここで見られるのは、ラベラーが
を変更しています。
ベクトル空間で直接ラベルを変更し
その変更をカメラ画像に再投影しています。
カメラ画像に再投影しています。
ベクトル空間で直接ラベリングを行うことで
これにより、多くのラベルのスループットが大幅に向上しました。
多くのラベルのスループットが大幅に向上しました。
というのも、3Dで一度ラベリングした後、再投影すると
再投影
しかし、この方法でも、実際には
しかし、これだけでは
そこで
人間とコンピュータでは
人とコンピュータには異なる長所と短所があります。
意味論のようなものは非常に得意ですが
コンピュータが得意とするのは幾何学
再構成 三角測量 追跡
ですから、私たちにとってはむしろ
人間とコンピュータがどのように協力して
人間とコンピュータが協力して
ベクトル空間のデータセットを作成するために、人間とコンピュータがどのように協力するかという話になってきました。
オートラベリングについては割愛します。
ラベリングのために開発したインフラである
大規模なクリップのラベリングのために開発した
スケール
[拍手]
再びこんにちは
たくさんの人間の労働力があっても
トレーニングデータの量は
ネットワークの学習に必要な学習データの量は
膨大な量の学習データを必要とするため、私たちは
大規模なオートラベリングパイプラインに投資しようとしています。
パイプラインに投資しようとしています。
クリップのラベル付けの例です。
クリップとは、ビデオやIMUデータ、GPS、走行距離などの
imuデータ gpsオドメトリなど
45秒から1分程度の長さのものです。
これらのデータは、当社のエンジニアリングカーからアップロードされたものもあれば
お客様の車からアップロードされることもあります。
これらのクリップを収集してから
それらを
多くのニューラルネットワークをオフラインで実行して
オフラインで多くのニューラルネットワークを実行して
セグメンテーション、マスク、深度、ポイントマッチングなどの
ポイントマッチングなどの中間結果を得ることができます。
ロボティクスとアルゴリズムを駆使して
アルゴリズムを経て、最終的なラベルセットを
ネットワークの学習に使用できるラベル
ネットワーク
ラベリングしたい最初のタスクの1つは
路面を表現するには、スプラインやメッシュを使用します。
路面を表現するには、スプラインやメッシュ
路面を表現することができますが、これらは
トポロジーの制約があるため
微分できないので、このような表現には適していません。
そこで、代わりに行うのが
ニューラル・ラディアンス・フィールドのスタイルで
去年の作品でかなり好評だった
その代わりに、昨年のニューラル・ラディアンス・フィールドの作品のように、暗黙的な
路面を表現するために暗黙的な表現を使います。
路面
ここでは、地面上のxy点をクエリして
地面のxy点を問い合わせて、ネットワークに
地面の高さを予測する
以下のような様々なセマンティクスとともに
カーブ 車線の境界 路面
ライバルのスペースなど
つまり、単一のxyがあれば、zも一緒に得られます。
これらが3Dポイントとなり
すべてのカメラビューに再投影することができます。
このようなクエリを何百万回も実行して
数百万回のクエリを行い、多くの点を得て、これらの点は
これらの点はすべてのカメラビューに再投影されます。
ここでは、右上に表示されている
これらの点が再投影されたカメラ画像を
再投影された点
この点を比較すると
再投影された点と画像空間との比較
セグメンテーションの予測
再投影された点とセグメント化された画像空間の予測とを比較し、この点またはすべてのカメラビューを共同で
カメラの映像を時空間的に最適化することで
優れた再構築が可能になりました。
以下にその例を示します。
これが最適化された路面です。
8台のカメラで再現された路面
車に搭載されている8台のカメラと、すべての時間にわたって
時間的にも空間的にも一貫しているのがわかると思います。
空間と時間の両方で一貫していることがわかります。
一台の車がある場所を走ると
ある場所を走っている一台の車が、この技術を使って軌跡の周りの
この技術を使って軌道の周りのパッチを掃除することができます。
しかし、それだけではありません。
ここでは、さまざまな
クリップ
同じ場所から異なる車の

それぞれが道路の一部を切り取っています。
道路
クールなのは、それらを全部まとめて
1つの大きな最適化にまとめることができます。
最適化することができます。つまり、この16種類の
の旅行が整理されています。
様々な機能を使って整列させます。
道路標識、車線標識などの様々な機能を使って
互いに一致している必要があります。
画像空間のすべての
観測
このようにして、効果的な
路面をラベリングする効果的な方法
車が走行した場所だけでなく、走行していない他の場所でも
走った場所だけでなく、走っていない他の場所も含めて
繰り返しになりますが、このシステムの目的は、単に
HDマップなどを作るためではありません。
交差点を通過するクリップにラベルを付けることで
交差点を通過するクリップにラベルを付けて、それを永遠に維持する必要がないようにするためです。
ラベルがビデオと一貫している限り、永遠に維持する必要はありません。
ラベルがビデオの内容と一致している限り
ラベルが収集されたビデオと一貫している限り、永遠に維持する必要はありません。
オプションとして、人間がこの上に乗って
雑音や追加のメタデータを除去して
メタデータを追加することで
よりリッチに
路面だけではなく、任意に
路面だけでなく、任意の
3Dの静的な障害物を再構築することもできます。
これはカメラから再構成された3D点群
我々のカメラから
ここでの主な革新点は、点群の密度
点群の密度です。
ポイントはテクスチャを必要とする
あるフレームから次のフレームへの関連付けを行うために
しかし、ここでは
しかし、ここでは、路面や壁のような文字のある場所でも
路面や壁のような文字のある面でも点を生成することができます。
これは、次のような任意の障害物にアノテーションするのに非常に有効です。
世界のシーンで見られる任意の障害物を
世界のシーンで見られる任意の障害物に注釈をつけるのにとても便利です
もうひとつ、オフラインのサーバー上でこれらのことを
オフラインのサーバー上でこれらの作業を行うことのもう一つの利点は
後学の利益があることです。
これは非常に便利なハックです。
例えば車の中では、ネットワークは速度を出す必要があります。
速度を出す必要がありますが、過去の情報を利用して
過去の情報から速度を推測して
速度を推測します。
しかし、ここでは
しかし、ここでは過去と未来の両方を見て
しかし、ここでは歴史と未来の両方を見て、基本的にはズルをして
正解を導き出すことができます……運動学の
速度、加速度など
もう一つの利点は、異なるトラックを用意して
もう一つの利点は、異なるトラックを持ち、それらを
切り替えることができます。
未来を知っているからこそ、私たちは
未来のトラックを持っているので、それらを一致させ、関連付けることができます。
関連付けることができるので、ここでは
道路の反対側にいる歩行者
道路の反対側の歩行者は、複数のオクルージョンがあっても
車が複数のオクルージョンを起こしていても
これはプランナーにとって非常に重要です
プランナーは、誰かを見たかどうかを知る必要があるので
誰かを見たとしても、それを考慮する必要があるからです。
人を見たかどうかを知る必要があります。
隠蔽されているかどうかを知る必要があるため、これは大きな利点です。
すべてを組み合わせることで
驚くべきデータセットを作成して
道路のテクスチャや
静止している物体と動いている物体の
動いている物体のすべてに注釈をつけることができます。
優れた運動学的
ラベル
カードがどのように回転しているかを見ることができます。
スムーズにラベルを作成することができます。
歩行者を一貫して追跡したり
パークカーは
明らかに速度がゼロなので
駐車されていることがわかる
これは非常に重要なことだと思います
これは同じことのもう一つの例です
同じこと
すべてが一貫しているのがわかると思います。
我々はこのような100万個の
ラベル付きの
このようなラベル付きのクリップを100万個作って、ビデオ
このような大規模なデータセットを使ってマルチカムビデオネットワークを
この問題を解決するためには
私たちは、ここで見ているのと同じような一貫性のある表示を
車内で見ているのと同じような一貫した映像を

私たちはこの問題の最初の調査を
データを削除するプロジェクトを始めました。
非常に短い期間でデータを削除しました。
3カ月以内に削除しました
ネットワークの初期段階では
例えば、セキュリティの低い環境では
ネットワークが被害を受けることがあります。
当然のことながら、このトラックが
トラックが大量の雪を降らせてきて
見えにくいですが
しかし、この車が前にいたことを忘れてはいけません。
目の前にいたことを忘れてはいけません。
しかし、初期のネットワークではこれができませんでした。
初期のネットワークでは、このような状況下でのデータが不足していたため
このような状況では
そこで私たちは、フリートを追加して
似たようなクリップをたくさん作って
艦隊はそれに応えてくれました
その結果
再生
そう、たくさんのビデオクリップを生成します
他の車からクソが落ちてくる

これをオートリビングのパイプラインに送ります。
1週間で10,000個のビデオクリップにラベルを付けることができました。
週間で1万個のクリップにラベルを付けることができました。
人間がやると数ヶ月かかるところを
全てのクリップにラベルを付けることができました。
これを200種類の条件で行ったところ
これを200種類の条件で行ったところ、大規模なデータセットを迅速に作成することができました。
大規模なデータセットを迅速に作成することができました。
このようにして、これを取り除くことができました。
このデータでネットワークを学習すると
データ
このデータでネットワークを学習させると、完全に機能していることがわかります。
被写体がそこにいたという記憶を保持している
そこにいた
を提供しています。
最終的には、サイバー・トラックを実際にデータ化したいと考えました。
サイバートラックをデータセットに
リモートレーダー
この映像をどこから入手したか、皆さんはお分かりになりますか?
ちょっと待ってくださいね。
誰かが言っていましたが、そうです、レンダリングされたものです。
これは我々のシミュレーションです
最初は分かりにくかったのですが
自分で言うのもなんですが……。
とてもきれいに見えます。
そう、オートラベリングに加えて、私たちは
オートラベリングに加えて、シミュレーションにも力を入れています。
ラベリングのために
データ
これは前に見たのと同じシーンですが
前に見たのと同じシーンを
別のカメラアングルから
いくつか指摘しておきたいことがあります。
例えば、地面の表面は平面ではありません。
平面のアスファルトではなく、たくさんの車や
車やひび割れ、タワーの継ぎ目
その上にパッチワークが施されています。
車の動きはリアルで、トラックは
アーティキュレートされていて……縁石を越えて大回りをしたり
縁石を乗り越えて大回りをする……他の車は
他の車はスマートに振る舞い、衝突を避け、車を回り込みます。
車を回避する……そして、スムーズで
実際にとてもスムーズに……ブレーキや
スムーズに加速する
ここにあるロゴの入った車が
オートパイロットです 実際にはオートパートが運転しています
非生産的な運転をしているのです。
左手
シミュレーションなので、ベクトル空間からスタートするので
ベクトル空間から始まるので、完璧な
ラベル
ここでは、私たちが作成したラベルのいくつかを紹介します。
作成した
これらは車両のキューボイドと
キネマティクス
深度
表面法線、セグメンテーションです。
アンドレは来週やりたい新しいタスクを指定して
来週欲しいという新しいタスクを指定することができますが、私たちは非常に迅速に
ベクトル空間があるので
ベクトル空間があり、ラベルを生成するコードを書けば
ラベルを作成するコードを書くことができます。
迅速に
どのような場合にシミュレーションが役立つのでしょうか?
第一に、データの入手が困難な場合に役立ちます。
1つ目は、我々のような大規模な
私たちのような大規模な船団でも、データを入手するのは困難です。
このカップルと犬が高速道路を走っている間に
高速道路を走るカップルと犬のような
高速道路を走るカップルと犬
これはかなりレアなシーンだと思いますが
起こる可能性があります。
自動操縦で対処する必要があります。
その時は
データにラベルを付けるのが難しい場合……例えば
何百人もの歩行者が道路を横断しています。
道路を横断する歩行者が何百人もいて、山のような繁華街になっているかもしれません。
人々が道路を横断しているとしたら
人間がこのクリップをラベル付けするには数時間かかります。
人間がこのクリップをラベル付けするには数時間かかるし、自動
自動ラベリングアルゴリズムでも、このクリップを正しく関連付けるのは非常に難しく
関連付けを正しく行うことは非常に難しく、悪い速度を生み出す可能性があります。
悪い速度になってしまいます。
シミュレーションでは、このようなことは些細なことです。
オブジェクトがあるからです。
クボイドと速度を吐き出すだけですから。
流速
また、最後に、我々が導入した
クローズド・ループ・ビヘイビアを導入すると、車が
決められた状況にある必要があったり
データがアクションに依存するような閉ループ動作を
信頼性の高いデータを得るには、この方法しかありません。
信頼性の高い
これらは素晴らしいことですが
これを実現するためには
第一に、正確なセンサーシミュレーション
繰り返しになりますが、シミュレーションの目的は
単にきれいな写真を撮ることではなく
車に搭載されたカメラが見たものや
車のカメラや他のセンサーが見ているものを
ここでは次のようなステップを踏んでいます。
露出設定を変えながら
左側が本物のカメラで、右側がシミュレーションのカメラです。
右側はシミュレーション
実際のカメラの動きとほぼ一致しています。
実際のカメラの動きとほぼ一致しています。
これを実現するために、私たちは
このためには、センサーシミュレーションでカメラの多くの特性を
センサーシミュレーションumでは、以下のようにカメラの特性をモデル化しました。
センサーノイズ、モーションブラー、光学
歪み、ヘッドライトの透過
えーと
フロントガラスの回折パターンなど
フロントガラスの回折パターンなどなど
これは自動操縦のためだけでなく
ソフトウェアだけでなく、レンズやカメラなどのハードウェアの
レンズ設計、カメラ設計
センサーの設計、ヘッドライトの配置
伝送特性
次に、ビジュアルをリアルにレンダリングする必要があります。
現実的な方法でレンダリングしなければなりません。
ゲーム業界で「ジャギー」と呼ばれる
これはエイリアシングアーチファクトであり
これはシミュレーションであることを示す決定的な証拠です。
これは、シミュレーションであることを示す致命的なもので、私たちはこれを望んでいません。
ペイントを重ねて、特別なテンプルを作ります。
寺 特別な時間的アンチエイリアシング
ニューラルレンダリング技術にも取り組んでいます。
さらに、よりリアルにするために
リアル
さらに、レイトレーシングも使用しています。
リアルなライティングとグローバル
これでパトカーは最後ですね。
パトカーはこれで最後だと思います。
4、5台のマシンではなく
4台や5台の車では、ネットワークが
サイズを知っているので、簡単にオーバーフィットしてしまいます。
るので、現実的な資産が必要になります。
路上のヘラジカのような現実的な資産が必要です
ええと
ライブラリーには何千ものアセットがあり
ライブラリーには何千ものアセットがあり、彼らはさまざまな
シャツを着たり、実際に動いたり
リアルに動くことができるので、とても素晴らしいです。
また、様々な場所をマッピングして
マップされた様々な場所があります。
シミュレーションの環境を作るために
実際には2000マイルの道路が建設されました。
道路が作られていて、これは東海岸から
アメリカの東海岸から西海岸までの道路の長さです。
アメリカの東海岸から西海岸までの
かなりクールだと思います。
さらに、効率的なツールを構築しました。
さらに、一人のアーティストのために、一日で何マイルも建設できる効率的なツールを
効率的なツールを構築しました。
しかし、これは氷山の一角に過ぎません。
実際、トレーニングに使用するデータのほとんどは
アルゴリズムを使ってプロシージャルに作られています。
アーティストがシミュレーションシナリオを作るのではなく
これらのシミュレーションシナリオは
つまり、これらはすべてプロシージャルに作成されたものです。
道路には、以下のようなパラメータが設定されています。
曲率
様々な木、コーン、ポール、車
異なる速度の車との
相互作用により、ネットワークに無限のデータが流れてくる
ネットワークのためのデータ
しかし、これらのデータの多くは退屈なものです。
ネットワークはすでに正しい情報を得ているかもしれないので
そこで私たちは、mlベースの技術を使って
ベースの技術を使って、基本的にネットワークの
ネットワークのどこで失敗しているかを調べて
ネットワークの障害点に関するデータを作成します。
ネットワークの障害点を中心にデータを作成することで、これを
クローズドループでネットワークのパフォーマンスを
パフォーマンスを向上させようとしています。
これで終わりではなく、実際には
実際には、自動操縦装置に発生した障害を再現したいのです。
シミュレーションで自動操縦に起こった
シミュレーションで再現することで
以後、自動操縦を同じ水準に保つために
左側にあるのは
車から集められた実際のクリップを見てください。

オートラベリングパイプラインを経て
パイプラインを経て、シーンの3D再構成を行い
動いている物体を含めたシーンの
オブジェクト
これを元の視覚情報と組み合わせて
元の視覚情報と合わせて、同じシーンを
同じシーンを合成して
シミュレーションシナリオを作成します。
そして、自動操縦を再生すると
自動操縦を再生すると、自動操縦は全く新しいことができ
新しい世界を形成することができる 新しい結果
元々の失敗から新しい結果を生み出すことができるのです。
驚くべきことに、私たちは
自動操縦を失敗させたくないし、失敗したときには
自動操縦が失敗したら、それを捕まえて、そのバーに留めておきたいのです。
バー
それだけでなく、先ほど言ったのと同じ方法で
先ほど言ったのと同じアプローチで
さらに一歩進んで
ニューラルレンダリング技術を使って
よりリアルに見せることができます。
そこで、元のオリジナルビデオ
クリップ
それを元にして、人工的な地下鉄のシミュレーションを行います。
それを
そこにニューラルレンダリング技術を適用して
その上にニューラルレンダリング技術を適用すると
私の意見では、これは素晴らしいものです。
この作品は非常にリアルで
実際のカメラで撮影したかのような
実際のカメラ
昨晩の結果を見て、クールだったので
かっこよかったので発表したかったのですが
でもね
SIMが何を実現できるのか、とても楽しみです。
達成することができます。
しかし、これだけではありません。
ネットワークはすでに車の中でトレーニングされているからです
使用したシミュレーションデータは3億枚
約5億枚のラベルが付いた3億枚の画像を使いました
膨大な量の画像と約5億のラベルを使用しました。
今後数ヶ月間に出てくるであろう
潰したいと思っています。
ミラン氏をお招きして
どのようにしてこれらのオペレーションを
実際にラベル工場を作って
何百万枚ものラベルを生産することができるのです。
[Applause]
ありがとう、アショク
皆さん、こんにちは。私はMilanです。
ニューラルネットワークの車への統合と
車内でのニューラルネットワークの統合と、ほとんどの
ニューラルネットワークのトレーニングと評価の
インフラストラクチャーを担当しています。
そこで今夜は、まず
まず始めに
この種のデータ生成工場を動かすのに必要な計算機の量と
この種のデータ生成工場を動かすのに必要な計算量と
具体的には、数年前にチームで行った
数ヶ月前にチームとして行った
具体的には、数ヶ月前にパイロットのレーダーセンサーへの依存をなくすために
レーダーセンサーへの依存をなくすために
250万のクリップから100億以上のラベルを生成しました。
250万個のクリップに100億以上のラベルを生成しました。
これを実現するためには
スケール
巨大なオフラインニューラルネットワークと
シミュレーションエンジンを数千台の
gpusと2万台弱のcpu車に加えて
その上、2000台以上の実際の自動操縦車を含めて
2000台以上の実際の自動操縦フル
自動運転コンピュータをループに入れて
シミュレーションエンジン
これが当社の最小のコンピュートクラスターです
このようにして、私たちの
私たちのニューラルネットワークを
ニューラルネットワークを
車の中で動かすには
で、そのためには
私たちが取り組んでいる2つの主な制約は
ここで取り組んでいる
レイテンシーとフレームレートです。
これは安全のために非常に重要ですが
安全性を確保するためにも、また
周囲の加速度や速度を適切に推定するためにも
周りの環境
だから問題の本質は
我々がグループ内で書いて拡張しているAIコンパイラーの問題です。
グループ内で作成・拡張しているAIコンパイラーに関わる問題です。
基本的に私の apart torch モデルの計算処理を
私のバラバラになったトーチモデルの
専用の高速化されたハードウェアのセットに
ハードウェアのセットにマッピングします。
最適化されたスケジュールを見つけ出します。
スロープット
のために最適化されたスケジュールを考えながら、彼らの厳しいSram
制約
ところで、私たちはこれを1つのエンジンだけではなく
1つのエンジンだけでなく、2つのエンジンにまたがって
自動操縦コンピュータのエンジンと
テスラでのエンジンの使用方法は
テスラでのエンジンの使用方法は、いつでも
実際に出力するのは片方のエンジンだけで
車両への制御コマンドを出力します。
もう1つのエンジンは計算機の拡張として使用します。
コンピュート
しかし、これらの役割は、ハードウェアとソフトウェアの両方で
ハードウェアとソフトウェアの両方のレベルで
このようなAI開発を通して、いかにして
これらのAI開発サイクルの中で、グループとしてどのように
まず第一に、私たちはスケールアップしてきました。
まず、私たちは
ソフトウェア・ニューラルネットワークの評価能力を
過去数年間で劇的に拡大してきました。
今日では、どんなコードでも週に100万回以上の評価を行っています。
現在では、あらゆるコード
変化
チームが作成するコードの変更に対して、週に100万回以上の評価を行っています。
評価は、3,000台以上の
実際のフットスター・ドライビング・コンピュータ
専用のクラスターに接続されています。
クラスター
その上で、私たちは
とてもクールなデバッグツールを開発しています。
ここでは、そのツールの一つであるビデオを紹介します。
開発者を支援するツールの一つです。
ニューラルネットワークの開発を繰り返して
ニューラルネットワークの開発を繰り返し、異なるリビジョンの
同じニューラルネットワークモデルの異なるリビジョンからの出力を
同じニューラルネットワークモデルの異なるリビジョンの出力を
ビデオクリップの再生
最後になりましたが……私たちは
ニューラルネットワークトレーニングの規模を
劇的に拡大してきました。
今日では10,000 gpusに迫る勢いです。
gpuの数で言えば、1万個に迫る勢いです。
gpuの数でいうと
一般に知られている世界のトップ5の
世界のスーパーコンピュータのトップ5よりも多いのです。
しかし、それだけでは十分ではありません。そこで、ガネッシュに次の話をしてもらいたいと思います。
ガネッシュに次のステップについて話してもらいたいと思います。
ステップ
[拍手]
ありがとう、ミラン
私の名前はガネッシュです。
私はプロジェクト道場のリーダーです。
このプロジェクトを発表できることを
このプロジェクトに取り組む学際的なテスラチームを代表して
このプロジェクトに取り組むテスラチームを代表して
ミラノでご覧になったように
ニューラルネットワークにはスピードとキャパシティへの飽くなき要求があります。
ニューラルネットワークのトレーニングには、スピードとキャパシティが求められます。
エロンはこれを予見していて、数年前に私たちに
数年前、彼は私たちに超高速トレーニングコンピュータの設計を依頼しました。
数年前、彼は私たちに超高速トレーニングコンピュータの設計を依頼し、それが
それがプロジェクトDojoの始まりです
私たちの目標は、最高のAIトレーニング性能を達成し
最高のAIトレーニングパフォーマンスを達成し
最高のAIトレーニング性能を達成し、アンドレス・チームが夢見ているより大規模でより複雑なモデルをサポートし
そして、電力効率とコスト効率を両立させることです。
コストパフォーマンスに優れたものにすることです。
どうやってこれを作るかを考えました。
そこで私たちが考えたのは
分散型コンピュートアーキテクチャー
世の中にあるすべてのトレーニングコンピュータは
全てのトレーニングコンピュータは、何らかの形で分散型コンピュータ
一種の分散型コンピュータです。
この箱の中の計算機要素が、何らかのネットワークで
ある種のネットワークで接続されています。
ここでは2次元のネットワークを使っていますが
CPU、GPU、アクセラレータなど、様々なネットワークがあります。
アクセラレータ すべてのコンピュートエレメントは
小さなメモリ
とネットワークを持っています。
共通の傾向として、拡張が容易であるということです。
スケールするのが
コンピュートを
帯域を拡張するのは非常に困難です。
帯域を拡張するのは非常に難しく、遅延を短縮するのは非常に困難です。
遅延を減らすことは非常に困難です。
私たちのデザインポイントがいかにそれに対応しているか、そして私たちの
哲学
私たちのデザインポイントは、従来の限界を超えたこれらの側面に
限界
Dojoでは、大規模なコンピュートプレーンを想定していました。
平面
非常に堅牢なコンピュートエレメントで埋め尽くされ
大規模なメモリプールを持ち
堅牢なコンピュートエレメントと大規模なメモリプールを備え、非常に高いバンド幅と低レイテンシーのファブリックで
極めて高い帯域幅と低遅延のファブリックで相互に接続された2次元メッシュの
2次元メッシュ形式で接続されています。これに加えて、大規模な
大規模なニューラルネットワークを分割して
異なる並列化モデルを抽出するためにマッピングされます。
並列化モデル グラフデータ並列化
そして、ニューラル・コンパイラ
我々のニューラルコンパイラは
空間的・時間的局所性を利用して
空間的・時間的な局所性を利用して
通信のフットプリントをローカルゾーンに
ゾーンへの通信フットプリントを減らし、グローバルな通信を
そうすれば
そうすれば、帯域幅の利用率は
そうすれば、帯域幅の利用率は、我々が望むコンピュートプレーンに合わせて
ここで我々が望むのは
スタックの上から下まですべてを攻撃したい
スタックの上から下まで
どのレベルでもボトルネックを取り除くことができます。
レベル
この旅をインサイド・アウト方式で始めましょう。
インサイドアウト方式で、まずは
チップ
前述のとおり
チップにはコンピュートエレメントがあり、最小の
最小のエンティティまたはスケールは、トレーニング
ノード
このノードの選択は
シームレスな拡張性を確保するためには、このノードの選択が非常に重要です。
スケーリング
小さすぎても高速に動作しますが
同期のオーバーヘッドが発生します
ソフトウェアが終了してしまいます。
大きくしすぎると
実際のハードウェアへの実装が複雑になり
実際のハードウェアへの実装が複雑になり
最終的にはメモリのボトルネックになる
問題が発生します。
というのも、私たちが解決したかったのは
私たちはレイテンシーとバンド幅を主な最適化の対象としました。
帯域幅を最適化するために
どのようにしてこの問題を解決したのか見てみましょう。
これは
信号が一度に通過できる最も遠い距離を選んで
信号が非常に高いクロックサイクルで通過できる距離を
非常に高いクロックサイクル(この場合は2ギガヘルツ以上)で
この場合は2ギガヘルツ以上のクロックサイクルで
その周りに箱を描きました。
信号が通過できる最小のレイテンシ
信号が超高クロックで1サイクルを通過できる最小の遅延
そして、その箱の中には
ぎりぎりまでワイヤーで埋め尽くしました
これがボックスに供給できる最高の帯域幅です。
ボックスに供給できる最高の帯域幅です。
その下には機械学習用のコンピュートと
そして、大規模なSramのプール
そして何よりも
プログラム可能な
コアを制御する
これにより、高性能な
トレーニングノード
これは、64ビットのスーパースカラCPUです。
マトリックス乗算ユニットを中心に最適化された
ベクトルコマンド
浮動小数点32b浮動小数点16をサポートしています。
そして、新しいフォーマットであるCFP8コンフィギュラブルFP8が
そして、それを支えるのが
1.4メガバイトの高速cc
プロテクトされた1.4メガバイトの高速ECC SRAMと、当社が設計した低レイテンシー高
我々が設計した低遅延・高帯域のファブリック
この製品は当社の最小スケールの製品かもしれませんが
スケールとしては最小かもしれませんが、パンチ力は抜群です
1テラフロップを超える演算能力を持つ
最小のスケールで1テラフロップ以上の演算を実現
では、そのアーキテクチャを見てみましょう。
この
コンピュータ・アーキテクトの方々は
これはかなり高性能なアーキテクチャであることが
これを見るとすぐに、このアーキテクチャは
スーパースカラーインオーダーCPUです。
4つのワイドベクターと2つのワイドベクター
2つのワイド……4つのワイド・スカラーと2つのワイド・ベクター・パイプ
4つのワイドベクター、2つのワイドベクター、2つのワイドスカラー、2つのワイドベクターパイプ
ベクトルパイプとスカラーパイプは
順番が狂ってしまうこともありますが、純粋な人には
ピュアな人たちのために、私たちはこれを秩序あるものと呼んでいます。
また、4ウェイ・マルチスレッドを採用しています。
演算とデータ転送を行うことができるので、利用率が向上します。
コンピュートとデータ転送を同時に行うことができるので
演算とデータ転送を同時に行うことができるため、利用率が向上します。また、当社のカスタムisa
命令セットアーキテクチャは
機械学習用に完全に最適化されています。
機械学習のワークロードに完全に最適化されており、トランスポーズ
ギャザー
リンクトラバース、ブロードキャストなどの機能があります。
などがあります。
また、物理的な領域でも
極めてモジュール化されているので
トレーニング・ノードを任意の方向に回避して
どの方向にでもトレーニングノードを配置して
コンピュートプレーンを形成することができます。
これら354台のトレーニングノードをクリックすると
354台のトレーニングノードをクリックすると
コンピュートアレイが完成します。
テラフロップスの機械学習コンピュート
そしてもちろん、これらを相互に接続する高帯域ファブリックは
これらを相互に接続する
このコンピュート・アレイの周りには
周りには
高速・低消費電力サービス 576
これらのサービスにより、このチップから出力される
このチップから出力されるI oバンド幅を実現するために
比較のために申し上げますと、このチップは
最新鋭のチップの2倍以上の帯域幅を実現
最新のネットワーク・スイッチ・チップから出力される
ネットワークスイッチチップは
ネットワークスイッチチップは
ネットワークスイッチチップは、IoTの帯域幅の金字塔と言われています。
帯域幅
これらをすべてまとめてみると
得ることができます。
トレーニング最適化チップ
当社のD1チップ
このチップは7ナノメートル技術で製造され
500億個のトランジスタを
500億個のトランジスタを645mm四方に詰め込んでいます。
正方形
気づいたことは、ここの面積の100%が
ここでは100%が機械学習のトレーニングと
トレーニングと帯域幅に使われています。
ダークシリコンもないし、レガシーサポートもない
純粋な機械学習
マシン
そして
これは
フリップチップBGAパッケージのD1チップです。
パッケージ
これはすべて、テスラ・チームが
テスラのチームが内部で設計したものです。
アーキテクチャから
から
このチップの設計から
このチップは
は、まるで
gpuレベルのコンピュートとcpuレベルの柔軟性と
ネットワークチップの2倍の柔軟性と
レベルのIoバンド幅
もし、縦軸にI oバンド幅をプロットすると
i oバンド幅を縦軸にプロットすると
テラフロップスの計算量に対して
最先端の機械学習チップで利用可能な
機械学習チップがあります。
スタートアップ企業も含めて
当社のデザインポイントが、パワーだけでなく
パワーを超えて
この基本的な物理的構成要素があったからこそ、私たちは
物理的なビルディングブロックを
それを中心にシステムをどう設計するか
見てみましょう。
d1以降
チップは接着剤を使わずにシームレスに接続できるので
シームレスに接続できるので
組み合わせてみました。
組み合わせたのは
500 000
トレーニングノードを組み合わせて
コンピュートプレーン
1500個のD1チップがシームレスに
互いに接続されています
そして
さらに
dojoインターフェースプロセス
プロセッサを追加する
これがデータセンターの典型的なホストへのホストブリッジ
データセンターの典型的なホストに
片側はpci gen4で接続されており
コンピュートプレーンへの高帯域ファブリックで
コンピュートプレーン
インターフェイスプロセッサは、ホストブリッジだけでなく
ホストブリッジだけでなく、高帯域の
コンピュートプレーンのためのドラマ共有メモリ
加えて
インターフェイスプロセッサは
さらに、高次元ネットワーク接続も可能です。
ネットワーク接続
このコンピュートプレーンを実現するためには
実現するためには、これらのチップを
これらのチップを統合するために
これをトレーニングタイルと呼んでいます。
タイル
これが私たちのシステムのスケールの単位です
これは画期的な統合であり
25個の既知の良好なD1ダイを
ファンアウト・ウェハ・プロセスで緊密に統合し
帯域幅を確保するために
最大のバンド幅を維持するように緊密に統合されています。
加えて
私たちは
a
帯域を維持する高帯域高密度コネクタを生成しました。
帯域幅を維持するコネクタを生成しました。
このトレーニングタイルからの帯域幅を確保して
このスタイルでは、9つのベータフラップ
コンピュートの
膨大なIoバンド幅を提供します。
この
これは
おそらく、チップ業界で最大の有機MCMとなるでしょう。
マルチチップモジュール
これを設計するのは簡単ではありませんでした。
ツールは存在しませんでした。
すべてのツールが枯渇しており、我々のコンピュートクラスターでも
扱うことができませんでした。
エンジニアたちは、この問題を解決するさまざまな方法を考え出しました。
実現するための新しい方法を生み出しました。
これを実現するために
コンピュートプレーンができたので
タイル
帯域幅の広いIOS
電力を供給する必要がありました。
ここで私たちは、垂直方向に電力を供給するという
垂直方向に電力を供給する
私たちは、カスタムの
電圧レギュレータモジュール
このファンアウトウェハに直接リフローできるような
このファンアウトウェーハに直接リフローできるカスタム電圧レギュレータモジュールを作りました。
ここで何をしたかというと、チップ
パッケージを手に入れ、基板レベルのリフロー技術を
リフロー技術をファンアートウェハーに
テクノロジーを導入しました。これは
ここですでに多くの統合が行われています
しかし、私たちはここで終わりませんでした。私たちは
電気・熱・機械のすべてを
メカニカルな部分を統合して
形成する
完全に統合されたトレーニングタイル
52ボルトのDC入力に対応しています
前例がありません。
エンジニアリングの賜物です
我々のコンピュートプレーンは完全に
直交しています。
電力供給と
電力供給と冷却
そのため
高帯域のコンピュートプレーンが
可能
この製品は
9ペタフロップの
トレーニングタイルです。
我々のシステムのスケール
そしてこれが
本物だ
自分が9ペタフロップスのシステムを持っているなんて信じられない
ペタフロップスだなんて
そして実際に
先週、私たちは最初の
ファンクショナル・トレーニング・タイル
限定された冷却装置を持つ
ベンチトップ・セットアップ
ネットワークを構築しました。
アンドレは私たちがネットワークを動かすことができるとは思っていないと聞きました。
彼の作品を動かすまで、ネットワークを動かすことはできないと
彼の作品を動かすまでは信じられないと言われた。
これはDojoで動作しているmin gpt2だ。
これを信じますか?
次は
どのようにしてこれを使ってコンピュートクラスターを形成するか
ここまでくれば、我々の
モジュール化の話はかなり強力です
タイルを組み合わせただけです。
タイルを組み合わせてスタイリングしただけです。
2×3のタイル
タイルをトレイに入れてトレーニングマトリクスを作る
2つのトレイを1つのキャビネットに収納すると
100ペタフロップスの
計算能力
ここで終わりではありません
いいえ、そうではありません。
シームレスに統合しました。
シームレスに統合しました。
すべての工程をシームレスに
帯域を確保することはできません。
帯域幅を確保するために、ここには帯域幅を広げるためのクリップはありません。
すべてのタイルが同じ場所でシームレスにつながっています。
同じ帯域でシームレスに接続されています。
帯域
そしてこれで
エクソポッドがあります
これは
1フロップ分の計算能力が
10台のキャビネットで
100万個以上のトレーニングノードがあります
私たちはそのトレーニングノードに細心の注意を払い
そのトレーニングノードには細心の注意を払っています。
ここには100万台のノードがあり
同じ帯域幅で
ハードウェアだけでなく
ソフトウェア面も非常に重要です。
スケーリングを確保するために
すべてのジョブが巨大なクラスタを必要とするわけでは
クラスタを必要とするわけではないので、最初から
最初から
私たちのコンピュートプレーンは
を細分化することができます。
に分割できます。
ドジョウ・プロセッシング・ユニットと呼ばれるユニット
DPU
は、1つまたは複数の
d1チップ
また、インターフェース・プロセッサーと
1つまたは複数のホスト
ニーズに応じて拡張・縮小が可能です。
アルゴリズムやネットワークの必要性に応じて
ニーズに合わせて拡張したり縮小したりできます。
ユーザーは何をしなければならないのでしょうか?
スクリプトの変更は最小限で済みます
これは
それは
強力なコンパイラ群のおかげです。
細かな並列処理やプロの問題をマッピングして
並列処理や、ニューラルネットワークのマッピングなどの
ニューラルネットワークのマッピングを
効率的にコンピュートプレーンにマッピングします
コンパイラは
複数の技術を用いて
並列性
ネットワークを変換することで
細かい並列処理だけでなく
データモデル
グラフ並列化技術
また
メモリ使用量を削減する最適化も可能
フットプリント
一つは、ファブリックの
ファブリックの高いバンド幅の特性が
ここで可能になるのは、モデルの並列化です。
これまでは、同じレベルまで拡張することはできませんでした。
可能なレベルまで拡張することはできませんでした。
チップの境界に制限されていました。
今では、高バンド幅のおかげで
トレーニングタイルやそれ以上の領域まで拡張することができます
そのため
大規模なネットワークを効率的にマッピングして
大規模なネットワークを低バッチサイズで効率的にマッピングして
活用し、新たなレベルの
性能を引き出すことができます。
加えて、我々のコンパイラは
ハイレベルな動的制御が可能
ループのような高度な動的制御フローを扱うことができます。
当社のコンパイラエンジンは、当社のソフトウェアスイート全体の
当社のコンパイラエンジンは、当社のソフトウェア全体の
スタックの構成は以下の通りです。
pytarchの拡張機能で、mlと同じユーザーレベルのインターフェイスを
ム科学者が慣れ親しんだユーザーレベルのインターフェイスを
サイエンティストが慣れ親しんだユーザーレベルのインターフェイスを確保します。
コンパイラはその場でコードを生成します。
フライ
その場でコードを生成するので、後続の実行に再利用できます。
また、llvmのバックエンドでは
用のバイナリを生成するバックエンドがあります。
ハードウェア
これにより、最適化された
コード
ハードウェアに最適化されたコードを
手書きのカーネル
ドライバ・スタック
は、マルチホスト
マルチホスト、マルチパーティショニング
数枚前のスライドで
そして、私たちは
プロファイラー
とデバッガーもソフトウェアスタックに含まれています。
これらの要素と
統合しました。
垂直方向に統合することで
スケーリングに対する従来の障壁を
そして、それが
スタックの上下にモジュール性を持たせ
新しいレベルのパフォーマンスを実現した
すべてをまとめると
これこそが、この製品が目指すものです。
最速のAIトレーニングコンピュータ
同じコストで倍の性能
1.3 x
ワットあたりの性能が向上
省エネでフットプリントも5倍小さくなる
これが道場のコンピュータになる
まだまだこれからです。
最初のキャビネットをすぐに組み立てる
もうすぐ
そして、私たちは次世代の計画を立てています。
すでに私たちは
シリコンから全ての工程でできる様々な面で10倍以上の
シリコンからシステムに至るまで
シリコンからシステムに至るまで、さまざまな側面から10倍以上を考えています。
今回の旅でも、これらすべての分野で大規模な募集を行っています。
これらすべての分野で
どうもありがとうございました。
そして次は
elon will update us on what’s beyond our company
AIのための車両フィートフリート
[音楽]
おお
[ミュージック]
そう
[音楽]
おお
[音楽]
ありがとう
[拍手]
道場とは違って、明らかにあれは
は本物ではなかった
そう
だからDojは本物だ……テスラボットは
本物
でも
基本的には、我々が今やっている自動車を考えると
テスラは世界最大のロボット工学企業です。
世界最大のロボット企業と言っても過言ではありません。
テスラは世界最大のロボット企業です。
のようなものだからです。
車輪の上の半知性ロボット
そして
そして
完全な自動運転のコンピュータは、基本的に
車に搭載された推論エンジンが
これは明らかに進化し続けているし
道場
とすべての
世界を認識するニューラルネットが
世界をどのようにナビゲートするかを理解し
世界を
それを人型に乗せるのは理にかなっていると思います。
ヒューマノイドの形に
ヒューマノイドは、センサーや
バッテリーや
アクチュエーター
だから
来年中には、おそらく
来年中にはプロトタイプが完成すると思います。
基本的には次のようなものです。
意図しているのは
もちろん、親しみやすく
人間のために作られた世界をナビゲートします。
人間のために
そして
危険で反復的で退屈な作業を排除し
退屈な作業を排除し
私たちは、それが以下のように設定しています。
機械的なレベルで、物理的なレベルで
逃げ出すことができ
そしてほとんどの場合、それに打ち勝つことができる
だから
そうならないことを願っていますが
わからないものですね。
だから……それは……あなたの知っている


時速5マイルで走れば
もっと速く走ればいいんだけど
[Laughter]
そう
そう、それは
ラウンド
5.8
えーと
頭の部分にスクリーンのようなものがあり
便利な情報を得ることができますが
それ以外は基本的に自動操縦システムを搭載しています。
システムを搭載しているので、カメラは
8つのカメラと
フルサイズのドライビングコンピューター
車と同じツールを使っています。
私たちが車で使っているのと同じ
だから
つまり、私が思うに、本当に難しいのは
難しいのは
便利なヒューマノイド・ロボットを作ることは
世界をナビゲートするには
明示的に訓練されていないと
つまり、明示的に、例えば
一行一行の指示
えーと
話すことができます。
このボルトを拾って
それを車に取り付けてください。
そのレンチで車に取り付けてください
そうすれば、それができるようになるはずです。
うん
それができるはずなんだ……頼むよ
お店に行って、次の食料品を買ってきてください。
次の食料品を買ってきてください
そういったことができるはずです。
そう
できると思います。
うん
そして
そう
これは非常に深いものになると思います。
深いものになると思います。
経済とは何かと言えば、それはあ
根底にあるのは労働力です。
があるとどうなるか?
ご存知の通り
労働力が不足しないとどうなるか
だから私は長期的には
普遍的なベーシックインカムが必要になると思います。
インカム
そう
でも、今すぐにはできません、このロボットは
働かないからです。
今はまだ時間がありません
それで
うん
ええ、でも将来的には
将来的には、物理的な仕事は、やりたければ
したければすればいいし、しなくてもいい。
行う必要はないでしょう。
そして
これは明らかに経済に大きな影響を与えると思います。
これは明らかに経済に大きな影響を与えます。
というのも、経済はその基礎レベルにおいて
というのも、経済の基本レベルは労働力であり、つまり
資本は資本設備です。
蒸留された労働力
では
実際に経済に限界はあるのだろうか
ないかもしれない
だから
そう
私たちのチームに参加して、これを作るのを手伝ってください
それでは、皆さんにステージに戻っていただき
みんなにステージに戻ってきてもらい
ご質問があればお寄せください。
はい
[Applause]
あなた
[Music]
よし いいぞ
[音楽]
“君達が僕を連れ戻してくれた
さあ
俺はステージが好きなんだ
撮ってみて
そこからのカメラアングル
横からではなく
いいですね。
では、照明を元に戻します。
オン
そして
そうですね。
ソフトウェアに関するご質問にお答えします。
ソフト面、ハード面での
ハード面での進捗状況
質問はお早めに
このライトは、まるで
尋問用のライトのようなものなので、実際には
見えないんだよね ああ、これでいいんだ
いいね
まず最初に、私たちは
発表者の皆さん、ありがとうございました。
すべてを見ることができてとてもよかったです
私はただ、高いレベルでの好奇心と
これは質問のようなものですが
これは誰にでも言えることですが……どの程度の
公開やオープンソース化にどの程度興味がありますか?
オープンソース化にどの程度興味がありますか?
将来のために
えーと、つまり、基本的には
システムを作るには非常にコストがかかります。
システムを
つまり
何らかの形で費用を捻出しなければなりません。
完全なオープンソースであれば、どうやって支払うのかはわかりません。
オープンソースで
ええと
タダで働きたい人がいなければね
でも、言っておくけど……これは
もし他の自動車会社がライセンスを取得して
他の自動車会社がライセンスを取得して自分の車に使いたいと思ったら
それは素晴らしいことですが、これはテスラ・カーだけに
テスラの車に限定したものではありません
スーパーコンピュータ “Dojo “のためのもので、あなたは
コンパイラの問題は解決しましたか?
このような多数のノードに対応するためのコンパイラの問題は解決しましたか?
解決したとしても、それは
ドジョ
なぜなら
私が研究しているのは
深層学習アクセラレータの研究をしていて
正しいスケーラビリティ
適正なスケーラビリティや分布を得ることは、一隻の船でも
研究プロジェクトの観点からは
研究プロジェクトの観点からすると非常に難しいので、私は
興味がありました。
ビルの代わりにマイクが失礼します
あなたは
問題はまだ解決していませんが
私たちは問題を解決できると確信しています
はい
プロトタイプのハードウェアでネットワークを実証し
プロトタイプのハードウェアでネットワークを実証した 今、我々はモデルを持っている
スケーリングを示すパフォーマンスモデル
問題は、あなたがおっしゃったように、どのようにして
ローカリティを保つかです。
十分なモデルの並列化ができれば
十分なデータ並列ができれば、ほとんどのものをローカルに保つことができます。
局所性を保つことができれば、あとはスケーリングするだけです。
私たちの作業セットにあるパラメータを
ワーキングセットのパラメータを、手持ちのSRAMに適合させる必要があります。
そして、パイプを流れるように
チャンスはいくらでもあります
申し訳ありませんが、さらにスケールアップして
より多くのローカルメモリを持つプロセッサノードが
メモリ
メモリトレードやバンド幅の拡大など、さまざまなことが可能になります。
より多くのことができるようになりますが、現在
テスラが持っているアプリケーションには
明確な道筋
また、モジュール化されているので
異なった比率の異なった側面を作ることができます。
作ることができるということです。つまり、これは
アプリケーションのために選んだものです。
アプリケーション
内部的には
確かに
ロカリティの部分では
トレーニングは、ソフトなスケーリングが必要な
アプリケーション
たとえ、これだけの計算機と
を持っていても、高帯域の
高帯域のインターコネクト
しても、その性能は発揮できませんでした。
限られたメモリで計算しているため
異なる場所の限られたメモリで計算しているからです。
異なる場所で限られたメモリを使って計算することになるからです。だから私は
あなたが「解決した」と言ったとき、私はとても不思議に思いました。
解決しました。
この機会に飛びついて、もっと知りたいと思いました。
どの程度オープンソース化できるのか
そう
そうですね、証拠はプリンの中にありますからね。
えーと
来年にはdojoを稼動させる予定です。
そして
使うことになると思います。
に使うと思います。
トレーニング・ビデオ・トレーニングに使うことになるでしょう。
基本的には、これは……つまり
これは
当初の主な用途は、膨大な量のビデオがあり
膨大な量のビデオを、どのようにして
膨大な量のビデオを
可能な限り効率的に
そして
また、時間も短縮することができます。
タスクに合わせてトレーニングしようとすると
タスク
一般的なイノベーションは
何回反復して、各反復の間の平均進歩はどのくらいか
各反復の間の平均的な進歩
で、もし
の間の時間を短縮することができれば
繰り返しの時間を短縮できれば……改善の割合は
はずっと良くなります。
だから
モデルの学習に数日かかることがあるとします。
モデルのトレーニングに数日かかるのが
数時間で済むとしたら、それは大変なことです。
しかし、この資産テストでは
私が道場チームに言ったことは
道場チームに伝えたことは、それが
が成功した場合には、成功したと言えるでしょう。
えーと
ソフトウェアチームがgpuクラスタをオフにすると
クラスタ
しかし、もし彼らがgppクラスタを維持したいのであれば
オン
成功しませんでした。
というわけで
ハイ
こちらです
私はこのプレゼンテーションが大好きです。
私たちをここに連れてきてくれてありがとう
特にプレゼンテーションのシミュレーションの部分が
疑問に思っていたのですが
とてもとても
非常にリアリティがありましたが、他の地域にシミュレーションを拡大する計画はありますか?
シミュレーションを社内の他の部署に
何らかの形で会社の他の部分にシミュレーションを拡大する計画はありますか?
こんにちは、私はイアン・グローです。
自動操縦シミュレーションチームを運営しています。
完全な自動運転への道を歩むためには
完全な自動運転への道を歩むためには
より多くの車両をシミュレートする必要があります
現在はビークルダイナミクスのシミュレーションを行っていますが
現在はビークルダイナミクスのシミュレーションを行っていますが、今後はBMS
MCUが必要になるでしょう。
車両のすべての部品が必要になります。
統合されています。
自動操縦シミュレーターは、自動操縦以外の分野でも
自動操縦以外の場所でも活用できます。
最終的にはユニバーサル・シミュレーション・プラットフォームへと発展させたいと考えています。
普遍的なシミュレーション・プラットフォームになるように
しかし、その前に私たちは
その前に、多くのオプティミストサポートを立ち上げて
その前に、私たちは多くのオプティミストサポートを展開し、さらにその先の
その前に、私たちは楽天的なサポートをたくさんして、もう少し先の段階で
どうやって
シミュレーションのインフラや
私たちが作った素晴らしいものを
会社の外にいる人たちの手に渡すことができるようになるかもしれません
optimusはTeslaのコードネームです。
ボット
oops
オプティマス・アップライン
[笑]
こんにちは
ali jahanianです。
この度は素晴らしいプレゼンテーションと
このような素晴らしいものをまとめて
一緒に
しばらくの間、私は考えていました。
車はすでにロボットなのだから
なぜ人類用のロボットではないのか
今日はとても嬉しいです。
今日、あなたがそのようなものを作ろうとしていると
そのようなものを作ろうとしていると
特にこれは、多人数での共同作業を可能にする機会を与えてくれると思います。
これは、マルチモダリティを組み合わせた光線の機会を与えてくれると思います。
例えば、私たちは
例えば
あなたが示した例では
犬がいて
何人かの乗客と一緒に走ったり

言語
象徴的な処理を行うことができます。
のために
視覚化することができます。
疑問に思ったのですが
このようなモダリティの組み合わせについて
言語と視覚を含むモダリティを組み合わせて
言語と視覚を含めたモダリティの組み合わせについて
私は、例えば、ミニ
GPTやアンドレが出した
そして
他のモダリティについてはあまり聞いたことがありませんでした。
他のモダリティについてはあまり聞いたことがありません。
少なくともシミュレーションでは
何かコメントはありますか?
何か
何かコメントがあれば教えてください。
運転とは基本的に…
基本的に
ほとんどがビジョン・ニューラルネットで構成されています。
私たちは基本的には
生物学的視覚
ニューラルネットで動作しています。
シリコンカメラのニューラルネットです。
それで
そして、そこにはある程度の
ある程度の音声……あなたが聞きたいのは
もし、緊急車両や
緊急車両や
えー
あなたが知っている…
車に乗っている人との会話とか
車の中の人と
うん
誰かが何かを叫んでいたら
車に向かって何かを叫んでいたら、その車は
それが何であるかを理解する必要があります。
うん
だから
そのために必要なすべてのことを
車が
完全に自律している
はい
ありがとうございました。
これまでの素晴らしい仕事に感謝します
私が質問したいのは、チームの皆さんです。
示されたデータは
示されたデータは主に米国からのものだったようですが
示されたデータは主に米国からのもののようです。
コンピュータがトレーニングされていますが、それが
しかし、それが各国に展開されていくと
独自の道路システムを持つさまざまな国に
道路システムや
それぞれの道路システムや課題を持つ各国に展開した場合
どのようにスケールアップしていくのでしょうか?
最初から作るのは無理だと思いますが
実現可能なソリューションではありません。
どうやって他の国に移すのか
そうですね……私たちは実際にトレーニングを行っています。
のデータを使ってトレーニングを行っています。
おそらく50カ国以上のデータを使ってトレーニングを行っています。
しかし、私たちは
完全な自動運転を目指しているのだから
完全な自動運転を実現するためには、一つの国を選ぶ必要があります。
国を選ぶ必要がありますが、私たちはここにいるので
アメリカを選びました。
そうすると、多くの質問が寄せられます。
なぜカナダではないのか?
道路が少し違うので
カナダは道が少し違うから
難しい問題を解決しようとすると
難しい問題を解決しようとするときには
難しい問題を解決しようとするとき、あなたは「何のために
複雑さを増すのはやめましょう
今のところは……我々のためだけに解決しよう。
そしてそれを他の国に外挿していきます。
世界中のビデオを使用しています。
世界中のビデオを使用しています。
私たちが作っているものの多くは
国を問わず、基本的にすべての
コンピュータ・ビジョン・コンポーネントなどの
国をあまり気にしません。
特定の
機能はあまり気にしません。
様々な国には道路や縁石があり
縁石があり、車があります。
私たちが作っているものは、かなり
そのための一般的なものです
そうですね、それに第一の指令があります。
これはどの国でも同じです。
これはどの国でも同じです。
指令
うん
そして
今でも車は衝突しないように
クラッシュしない
それで
基本的には…
それが何であれ、それにぶつからないでください。
高速道路に不時着したufoであっても
衝突しないでください
ぶつからないためには、それを認識する必要はありません。
ぶつからないためには、それを認識する必要はありません。
これはとても重要なことです。
そして、私が聞きたいのは
フォトメトリック・プロセスを行う際
マルチビュー・ジオメトリでは、どのくらいの誤差があるのでしょうか?
1ミリ、1センチくらいでしょうか?
センチくらいでしょうか。
機密事項
申し訳ありませんが、質問は何ですか?
合成画像との違いは何ですか?
合成
確かに
の違いは何ですか?
合成されたジオメトリと
実際のジオメトリ
数センチから3、4センチの範囲です。
センチ、3~4センチ以内です。
これが標準偏差です
異なる種類のモダリティとの融合
誤差を減らすために
スケーラブルな方法を見つけようとしています
時には他のセンサーを使って
他のセンサーを使って
ベンチマークのために他のセンサーを使用することもありますが、主にカメラを使用しています。
このシステムでは主にカメラを使用しています
はい、ありがとうございます。
私たちは、車の位置を
センチメートル単位で正確に
センチメートル単位で
ご存知の通り
センチ単位の正確な位置を目指したいと思います。
距離にもよりますが、近くにいる場合は
遠くのものより近くのものの方がはるかに正確です。
遠くにあるものよりも正確になります。
車が判断する必要がないので
判断する必要がないからです。
遠く離れていても、近づけば近づくほど
ますます正確になります
まさに
たくさんの質問
皆さんありがとうございます 私の質問は
AIと製造に関するものです。
エイリアンのドレッドノートのコンセプトについて聞いてからしばらく経ちました。
エイリアンのドレッドノートのコンセプト
あなた方の後ろにいるヒューマノイドは
あなた方の後ろにいるヒューマノイドは、プロダクション・ヘルス・タイムラインから持ち出されたものですか?
生産性向上のタイムラインで
人間はその過程で過小評価されていると
プロセス
そうですね……時々、ある種の
私の言うことが極端になりすぎて
極端になりすぎると
そこで
テスラのシステムの中には
ほぼ完全に自動化されている部分と
ほぼ完全に自動化されている部分もあれば
完全なマニュアル
そして
もしあなたが生産システム全体を歩いてみたら
生産システム全体を歩いてみると、完全に自動化されたものから
完全に自動化されたものから
オートマチックから
ほぼ完全なマニュアルまで
しかし、大部分は……ほとんどは、すでに
すでに……自動化されている
うん
で、次に
そして
一部の設計アーキテクチャの変更で
大型化など
大型の
アルミニウム
ハイプレッシャーダイキャスト
大型のアルミ高圧ダイキャスト部品を採用することで、リア
車の後部3分の1を1つの部品として鋳造することができます。
今回はそれを実現するために行います。
車のフロント3分の1は単一の
ピース
つまり、ボディラインは
えーと
サイズが60〜70%ほど小さくなります。
うん
しかし、そう、ロボットには
に促されたものではありません。
特に製造業のニーズに
それは、ただ
私たちは明らかに部品を作っているだけです
その
役に立つ人型ロボットに必要な部品を
作るべきだと思いますが
私たちが作らなくても、他の誰かが作ってくれるでしょう。
だから、作るべきだと思うし
そして安全であることを確認する
作るべきだと思います。
大量生産は非常に難しく
過小評価されていますが、私たちはそれが得意です。
私たちはそれが得意になりました。
ヒューマノイドロボットにとっても重要です。
人型ロボットにとっても重要です。
人間型ロボットが超高額にならないようにするには
そして
ハイ
プレゼンをありがとうございました。
プレゼンテーション
私の質問は、道場のスキルアップについてです。
道場の
特に、計算ノードをどのようにして
コンピュートノードの

熱と電力供給の観点から、コンピュートノードをどのように
排出できる熱量は限られています。
放出できる熱量と
熱を逃がすことはできず、電力を供給することも
クラスタ・ラックのように
クラスタ・ラックのように
どのようにスケールアップしたいか、どのように
複数のデータセンターで拡張するには
データセンター
確かに
こんにちは
私はBillです。
道場のエンジニアの一人です。
熱的見地と電力的見地から
観点から
非常にモジュール化された設計となっています。
コンピュートタイルで見たように
タイル全体を冷却することができるので
一旦接続すると、上下ともに液冷となります。
上面と下面の両方で液体冷却されます。
他に何も必要ありません。
だから、これらをクリックすると
合わせて
一旦、電源をクリックして、一旦は
クリックして
冷却することで、フルパワーで
完全に冷却され
そして、そのすべてが
立方フィートにも満たない
そうです。
テスラは、パワーエレクトロニクスと
パワーエレクトロニクスと冷却の専門知識を持っているので
パワーエレクトロニクスの専門知識を
車両のパワートレインからパワーエレクトロニクス
パワーエレクトロニクスの専門知識を活用し、高度な冷却技術を
開発しました。
パワーエレクトロニクスと自動車のために開発した
それをスーパーコンピュータに応用したのです。
コンピュータ
なぜなら、あなたが指摘したように……熱を逃がすことは
熱を逃がすことが
非常に重要です。
制限されます。
だから
そう
だから、面白いことに
計算機レベルでの動作は
1ボルト未満
これは
非常に低い電圧で動作していますが、アンペア数が多いので
そのため、熱も大きい
iの二乗Rは、実際にあなたのお尻に噛みつくものです。
お尻に食い込む
私の質問は、同様に
スケーリングの問題
だから、自然な結果のように思えるのですが
当然の結果のように思えますが
学習用ハードウェアを大幅に高速化すると
より多くのデータでモデルを学習することになります。
より多くのデータを使って
あるいは、より複雑なモデルを学習することになります。
モデルを学習することになります。
膨大なコストがかかる可能性があります。
車の推論時に実行するには、かなりコストがかかる可能性があります。
ええと、私が思ったのは、もし
また、次のような計画もあるのではないかと思っています。
えーと
dojoを自動運転車などで使用するような
自動運転車で使うようなものとしてdojoを適用する計画があるのか、と。
もしそうなら
そこに新たな課題があると思われますか?
そこでの課題
そうですね。
アンドロイドのモデルは
アンドロイドのモデルは自動車だけではありません。
オートラベリングモデルのように車だけではなく、他にも
他のモデルは
車のアプリケーションを超えたようなモデルもありますが
車のアプリケーションを超えたモデルもありますが、それらは車のスタックに組み込まれているので、Dojoはそれらすべてに使われます。
Dojoはそれらのすべてにも使われる
車だけでなく
トレーニングの推論部分
そう、つまりdojoの
最初の用途は、ビデオデータを
ビデオデータを使用してトレーニングを行い、そのデータを
その後、車の逆推論エンジンである
エンジンで実行されます。
しかし
これは重要なテストだと思います。
実際に優れているかどうか、あるいは
CPUクラスタよりも優れているのか
そうではありません。
しかし、それ以外は、基本的に
一般的な一般化されたニューラルネット
トレーニングコンピュータ
しかし、ニューラルネットに非常に最適化されています。
ニューラルネットに最適化されています。
CPUとGPUSは
のために作られたものではありません。
そう
設計されていません。
ニューラルネットの学習に特化して設計されたものではありません。
我々は、gpusを特に
非常に効率的に
ニューラルネットを描写するために非常に効率的なGPUを作ることができましたが、それは
それは彼らの設計意図ではありませんでした。
Gpuは本質的にはまだ
ニューラルネットのトレーニングを
エミュレーションモードで
Dojoでは、私たちは次のように言っています。
全体をASICにしてしまおうと。
全体を
ただ
一つの目的のために作られたもので
目的は1つ、それはニューラルネットの
トレーニング
一般に、特定の目的のために設計されたシステムは
特定の目的のために設計された
特定の目的のために設計されたシステムは、一般的な目的のために設計されたシステムよりも
一般的な目的のために設計されたシステムよりも
ここで質問があります。
ハイ、アーン
あなたは2つの独立したシステムを説明しました。
1つはビジョン、もう1つはプランナーとコントロール
制御……Dojoはあなたを愛していますか……トレーニング
境界線を越えたネットワークと
2つ目は、もしそのようなネットワークを訓練できたとして
そのようなネットワークを訓練することができたら
第二に、もしそのようなネットワークを訓練できたとしたら、FSTシステムにオンボードの計算能力があって
システムにオンボードの計算能力があり
厳しいレイテンシーの制約の中で
ありがとうございます。
ええ、そうですね。
プランナーネットワークを訓練できると思います。
プラットフォームに依存しないんですよ。
そして、もし何かあるとすれば、この全体をエンド・ツー・エンドで作ってしまえば
何かあるとすれば、この全体を端から端まで作ってしまえば
多くの中間状態をデコードするよりも
中間状態をデコードするよりも効率的なので
全体を神経回路に組み込んだ方が
ニューラルネットワークの中に全体を
中間状態のデコードを多く避けて
中間状態のデコードを回避して
車の運転に必要な本質的なものだけをデコードして
車の運転に必要なものだけを解読することができます。
そう、そして最後には、多くの研究の指針となっている
多くのネットワーク開発の指針となっています。
多くのネットワーク開発の指針となっており、時間の経過とともに
スタックのニューラルネットワークは、より多くの機能を
ますます多くの機能を持つようになりました。
すべてをエンド・ツー・エンドで学習させたいと考えています。
エンド・ツー・エンドで学習させたいと考えています。それが最も効果的だと考えているからです。
最も効果的であると考えているからです。しかし、私たちはそれを
しかし、私たちは段階的に構築しているので、現在のインターフェースは
ベクトル空間があり、それをプランナーで利用しています。
プランナーで使用していますが
しかし、基本的には
実際に機能を取り込み、最終的にエンドツーエンドで
エンド・トゥ・エンドで微調整することを根本的に妨げるものは何もありません。
それがこのシステムの方向性だと思います。
そう、そして発見とはつまり
ネットワークブロックに配置すべき適切なアーキテクチャーは何か
ネットワークブロックにどのようなアーキテクチャを配置すれば
タスクに対応するためにネットワークブロックに配置すべき適切なアーキテクチャとは何か、ということです。
空間的なRNを配置して
知覚の問題を解決するために
今はただのニュートラルなネットワークになっていますが
同様に、プランニングについても、検索と最適化を
探索と最適化をネットワークアーキテクチャの中に
探索と最適化をネットワークアーキテクチャに組み込む必要があります。
それができれば、プランニングが非常に素早くできるようになるはずです。
プランニングが非常に早くできるようになります。
C plus plusのアルゴリズムに似ています
OK
OK
私は、彼の質問によく似た質問をしていたと思います。
よく似た質問がありました
ニューラルネットの多くは
コンピュータ・ビジョンや
そして伝統的な計画のようなものがあります。
モデル予測制御による
凸型最適化問題を素早く
素早く
そして
より適したコンピュート
凸最適化やモデル予測制御にもっと適した
凸型最適化やモデル
予測制御……ソリューションを非常に
迅速に
私のように焼き込みたい人は、100
前にも言ったように、もしあなたがこのような
モデルとなるようなアーキテクチャを
蛋白質の制御を行うが
いくつかのブロックをニューラルネットワークに置き換えたり
あるいは、物理学の知識があれば
物理ベースのモデルを使うこともできます。
ニューラルネットワークのフォワードパスに物理ベースのモデルを使うこともできます。
今後は、ハイブリッド
システムを目指します。
ニューラル・ネットワーク・ブロックと
物理ベースのブロックと一緒に配置された
ブロックを配置し、さらにネットワークを追加するハイブリッドシステムを目指します。
ハイブリッド・スタックとなり、我々が得意とするものは
明示的に配置し、ネットワークを作成します。
ネットワークが作成されたら、そのネットワークを使って
ネットワークを使って最適化します。
このアーキテクチャが組み込まれたエンドツーエンドのスタック
組み込まれています。
つまり、私はそう考えています。
思うのですが、例えば
サラウンドビデオ
そして
何が起こっているのかを理解するためのニューラルネット
何が起こっているかを理解し
変換
それらのサラウンドビデオをベクトル空間に
そうすれば、基本的にはビデオゲームになります。
そして、もし
もし、あなたが
グランドセフトオートのようなものです。
車を走らせたり、歩行者を歩かせたりすることができます。
車を走らせたり、歩行者を歩き回らせたり
クラッシュせずに
できるんですよ。
制御と計画のためにニューラルネットを持つ必要はありませんが
しかし、おそらくその方が
最終的には良いでしょう
だから
しかし、私は、あなたはおそらく
実際のところ、制御と計画を用いれば、人間よりも
コントロールと計画性があれば、人間よりもずっと安全に
計画
主にCプラスプラスで
知覚と視覚は
ニューラルネット
こんにちは
質問ですが、他の企業では
例えば、強化学習や機械学習を
強化学習や機械学習を使って
最適化
電力消費やデータセンターなどの
他のあらゆる内部プロセスに利用しています。
質問は、Teslaは製造設計に機械学習を利用しているのか、ということです。
製造設計やその他のエンジニアリングプロセスにおいて
その他のエンジニアリングプロセスで機械学習を利用していますか?
i
私は機械学習の使用を推奨しません。
難しいからです。
基本的に機械学習を使わなければならない場合以外は
機械学習を使わなければならない場合以外はやめておきましょう。
誰かが「機械学習を使ってみたい」と言ったら、それは赤信号です。
誰かがこのテストを解くのに機械学習を使おうと
このテストを解くのに機械学習を使いたいと言われたら、私はそれが
ような気がします。
そう
ああ
99.9%の確率で必要ないと思います。
そう
だから
そう
しかし、それは、ある種の
機械学習に手を出すのは
必要なときに
必要な時に機械学習に手を伸ばすようなものですが、私はそれが
便利で簡単にできることではなく
うーん、それはとても難しいことです。
もし、人型ロボットができたら、それは変わるかもしれません。
ロボットが
理解することができる
通常の指示
うん
でも
そう
一般的に、機械学習の使用を最小限に
機械学習を
工場
シミュレーターからのビデオを見ると
シミュレータからのビデオを見る限りでは
グラフィカルとニューラルを組み合わせた
グラフィカルとニューラルを組み合わせたように見えましたが、どのような技術が使われているのでしょうか?
どのような技術が使われているのでしょうか?
シミュレータで使われている基本的な技術、特に
ニューラル・レンダリングにはどのような技術が使われているのでしょうか?
ええ、私たちがやっているのは
スタックの一番下にあるのは
従来のゲーム技術
ラスタライズをリアルタイムに行っています
非常に似ていますよね。
GTAのように
その上で、リアルタイムのレイトレーシングを行っています。
これらの結果は
つまり、私たちは
一番下に小さなアスタリスクが付いていましたが
これは昨晩のものです
私たちはニューラルレンダリングの世界に入っています。
空間に入り、様々なことを試しています。
様々なことを試しています。
私たちは、ニューラルレンダリングが
ニューラル・レンダリングが
頂点に立つチェリーのようなものにしたいのです。
シミュレータ上でモデルがオーバーフィットすることがないように
シミュレータ上でモデルがオーバーフィットしないようにしたい
現在、私たちは以下のようなことを行っています。
写実性の向上
最近発表された論文によると、写真の
フォトリアリズム・エンハンスメント
しかし、私たちはその論文に書かれていること以上のことを
その論文に書かれている以上のことができます。
より多くのラベル付きデータ より多くの計算機
また、環境に対するコントロールも非常に優れています。
環境を
また、この作業をリアルタイムで行うことを手助けしてくれる
リアルタイムでの実行を手助けしてくれる人もたくさんいます。
しかし、私たちはできる限りのことをやってみるつもりです。
シミュレータだけですべてのトレーニングができるようになるまで
シミュレーターだけですべてのトレーニングができるように
しなければならないとしたら、その必要はないでしょう。
なぜなら、私たちには他の誰も持っていない多くの実世界の
他の誰も持っていない実世界のデータを
現実世界でのちょっとしたギャップを埋めるだけです。
現実世界の
そう、つまり
シミュレーターは
珍しいケースでは非常に役に立ちます。
稀なケース、例えば
知っていると思いますが
事故の直前に衝突を回避するような
事故
そして
皮肉なことに、車の事故回避能力が高まれば高まるほど
事故を回避する能力が高くなればなるほど
事故が減ることになります。
トレーニングセットが小さくなるので
シミュレーションでクラッシュさせなければならない
衝突の可能性を最小限にするためには
怪我の可能性を
歩行者や車に乗っている人の怪我を最小限にする
5メートルの速度で走行しています。
秒速20メートルで走行しているとします。
どのような行動をとれば傷害の可能性を
傷害の可能性を最小限にするために
それを、いくつかの
高速道路の反対側を走る車
高速道路を逆走するようなことが
起こることもありますが、それほど頻繁ではありません。
ヒューマノイド・コンタクトについては
どのようなユースケースから始めるか、また
どのような使用例から始めて、どのような
大きな課題は
えーと
これを実現するための大きな課題は何でしょうか?
ヒューマノイドの場合は
テスラボットは
オプティマス
基本的には、まず
扱うことから始めます。
基本的には、退屈な仕事や
退屈で反復的で危険な仕事を扱うことから始めます。
基本的に、人々が最もやりたくない仕事は何か?
最もやりたくない仕事は?
うん
こんにちは…早速ですが、あなたのシミュレーションについて
あなたのシミュレーションは…明らかに完璧ではありませんが
今のところ完璧ではありませんが、何か
何らかの領域適応技術を使っていますか?
のギャップを埋めるために
シミュレーションデータと実際の
実世界のデータとのギャップを埋めるために
危険なのではないでしょうか?
模擬データのみで学習したモデルを
模擬データのみで学習したモデルを導入するのは危険なので、何らかの
ある種の明示的な領域適応とか
どこかのパイプラインで
パイプライン
現在は……つまり
シミュレータから直接ビデオを出力しています。
キネマティクスなどのフルクリップを作成して
それを使ってすぐにトレーニングをしています。
すぐにトレーニングしていますが、それは
しかし、これは全データセットではなく、ごく一部の対象セグメントです。
対象とした小さなセグメントであり
実世界のビデオに基づいて評価しています。
私たちは細心の注意を払っています。
また、もしファンシーなことを始めなければならない場合は
より洗練されたことを始めなければならない場合には
しかし、現在のところ、私たちは
シミュレータ上ではオーバーフィッティングの問題はありません。
シミュレータ上ではオーバーフィットの問題はありませんが、データの規模が大きくなれば
データの規模が大きくなれば問題になるでしょう。
ニューラルレンダリングを使ってそのギャップを埋め
そのギャップを埋めるためにニューラルレンダリングを使いたいと思っています。
私たちはすでに、同じネットワークを
車と同じネットワークを使って
それを再学習させてSIMと鉄道を検出し
アートを決定するために
これは実際に、これらの問題を防ぐのに役立っています。
このようなことを防ぐのにも役立っています。
強調しておきたいのは
強調しておきたいのは、データセットは圧倒的に実際の
実際に道路を走っている車の映像であることを強調しておきます。
現実よりも奇妙なことや曲がりくねったことはありません。
現実以上に奇妙なことや
本当に奇妙なことばかりです。
しかし、もしも、非常に奇妙な例をいくつか見つけたら
何かとても奇妙な例を見つけたら
私たちが見たとても奇妙な写真や
奇妙な写真があったとしたら
効果的に学習させるためには
効果的に訓練するためには
シミュレーションの作成
1000のシミュレーションを作成したいと思います。
変形した
私たちが見た風変わりなもの
足で重要なギャップを埋めて
ギャップを埋め、システムをより良くするために
これらはすべて、時間の経過とともに
ただ
衝突や負傷の可能性を減らし
衝突や負傷の可能性を減らすことです。
これは9の行進と呼ばれています。
99.999999に到達するのか
を達成するにはどうしたらいいのか?
そうです。
それぞれの9は、桁違いの
難易度が上がる
プレゼンテーションをありがとうございました。
興味があったのは
テスラボットについて
具体的には
人型のフォームファクターが
人型のフォームファクターが
適していると思いますか?
そして、二次的な
えーと
人間の形をしているということは
感情や交友関係を全く考えていない
について
製品のロードマップには全く含まれていません。
えーと
私たちは、この製品が
ディストピア的SF映画に登場しないことを
SF映画
でも……つまり
今の時点では
このロボットができるかもしれないと言っているのです。
ただ、私たちは可能な限り文字通りのことをしようとしています。
可能な限り文字通りのことをしようとしているのですが……退屈で危険な
危険な反復作業
人がやりたがらない仕事を
そして
そして
それができるようになれば
他のこともできるようになるかもしれません。
でも
これこそが、私たちにとっての
これこそが、私たちが手にした素晴らしいものなのです。
だから
あなたの相棒になるかもしれません。
買って、あなたの友達にしてもらったり
何でも
きっとみんな、とてもクリエイティブな使い方を考えてくれると思います。
クリエイティブな使い方を
だから
それで
まず最初に、本当に素晴らしいプレゼンテーションをありがとうございました。
まず最初に、本当に素晴らしいプレゼンテーションをありがとうございました……私の質問は
私の質問はAIについてです。
私たちが見てきたのは、これらの
言語モデリングAIでは
スケーリングがもたらす影響は非常に大きく
彼らの能力やできることに
できるようになりました。
そこで気になったのが、皆さんは
同じようなスケーリングの効果が
あなたの
ニューラルネットワークを使ったアプリケーションでも
ネットワークが大きくなればなるほど
学習するデータがあれば、より良いパフォーマンスが得られます。
訓練するためのデータがあれば
これは私たち自身でも実感しています。
これは私たち自身の経験でもあります。
レイテンシーを考慮しなければなりません。
車ではレイテンシーを気にする必要がありますが、そのためには
実際にはもっと大規模なネットワークを
しかし、先に述べたように、私たちは
しかし、前述したように、私たちは車に搭載するためのニューラルネットワークを
車に搭載するためのニューラルネットワークだけではなく
任意のサイズのモデルを利用できるオートラベリング・パイプラインがあります。
任意のサイズのモデルを利用できるオートラベリングパイプラインを持っています。
実際、私たちは、展開できない多くのモデルを交換してきました。
展開できないようなモデルでも
展開できないモデルと交換してきましたが、その方がはるかに効果的でした。
オートラベリングの精度を向上させるためには、100
オートラベリングの精度を上げるために
このようなことを繰り返してきました。
この傾向は確かにあります。
そう、オーダーラベリングは
非常に重要な役割を果たしています。
非常に重要な役割を果たしています。
オーダーラベリングがなければ、私たちは
自動運転の問題を解決することはできなかったでしょう。
自動運転の問題を解決することはできないでしょう。
蒸留のようなものです。
非常に巨大なモデルと問題の構造を使って
問題の構造を利用して
復元し、それをニューラルネットワークに抽出して
それをニューラルネットワークに変換し、車に搭載するというものです。
しかし、私たちは基本的に、たくさんの
しかし、基本的には多くのニューラルネットワークと
しかし、基本的には、自動車に搭載することを想定していない多くのニューラルネットワークやタスクが存在します。
また、時間が経てば経つほど、新しい情報を得ることができます。
新しいフレームの情報を得ることができます。
あなたのコンピュータが
すべての情報にアクセスできるように
1つのフレームだけを取り出して
1つのフレームを例えば200ミリ秒かけて見るのではなく
新しいフレームが入ってくるのです。
新しいフレームが入ってくるので、すべての情報を利用したいのです。
1つのフレームだけでなく、すべての情報を
1つのフレームだけでなく
思うに
私たちが目にしていることのひとつは
車の予測能力は……非常に優れています。
不気味なほど優れています
うん
人間よりも優れた能力を発揮しています。
予測するという点では、人間よりも優れてきています。
どんな
この道路がどのように見えるかを予測する
目に見えないところでは、カーブを曲がるときのように
予測することができます。
非常に高い精度で
そして
そうそう
歩行者や自転車を予測することができます。
歩行者や自転車を予測します。
自転車のちょっとした角や
バスの窓から少しだけ見える
予測する能力は
予測能力は人間よりもはるかに優れているでしょう。
人間よりもはるかに優れています。
目に見えないものがあると
目に見えないものでも
ニューラルネットワークは実際には非常に賢明なものを作り上げています。
実際には非常に感覚的であったり、時には不気味なほど優れていたり
時には不気味なほど良くできていて、あなたは
これはトレーニングセットに含まれているのだろうかと
そして実際に
実際には、想像できる限界まで
ニューラルネットは地球を記憶するのに十分なパラメータを持っています。
地球を覚えている可能性があるので
極限状態では、実際に正しい答えを出すことができます。
正解を教えてくれるかもしれません。
ニューラルネットの重みに焼き付けられたHDマップのようなものです。
ニューラルネット
テスラボットの設計について質問があります
テスラボットの設計について質問があります。
人型のフォルムを維持するためには
ヒューマノイド・フォーム
5本指の手を作ること
重量制限を守りながら
かなり難しいかもしれません。
ケーブルドライブを使わなければならないかもしれませんし、そうなると
様々な問題が発生します
つまり、これはまだバージョン1を購入したばかりで
買ったばかりのバージョン1なので、これからです
だから
その
それは
人がやるようなことができる必要があります。
人々がすることができる必要があります。
一般的な、つまり
ヒューマノイド・ロボット
えーと
つまり、潜在的には、あなたに
指と親指のようなものを
2本の指と親指のような
そのような
うん
今のところ、私たちは指を
5本の指を使ってみて
うまくいくかな?
多分うまくいくと思うけど……そんな必要はないよね
驚くほどの握力がなくても
驚異的な握力がなくても
しかし、道具を扱うためには
道具
道具を扱ったり、バッグを持ったりする能力が必要です。

プレゼンをありがとうございました。
プレゼンテーション
私の古い教授が言っていました。
彼がテスラで嫌いだったのは
テスラの嫌いなところは、自動操縦のUXが
システムに自信が持てないということでした。
特に、物体が回転したり
特に、物体が回転していたり、分類がちらついていたりすると
良い自動運転システムがあったとしても
良い自動運転システムがあったとしても
テスラのオーナーや他の道路利用者や
道路利用者や他の道路利用者、そして一般の人々に
一般の人々に、あなたのシステムが
安全性と信頼性
それはそうだと思います。
車は
少し前までは、車は回転していましたが
もうスピンすることはありません。
FSDのベータ版ビデオをご覧になったことがあれば
ベータ版のビデオを見ると
かなりしっかりしています。
もっとしっかりしたものになっていくだろう
もっともっとデータを追加してトレーニングしていけば
このようなマルチカメラ・ネットワークは
数ヶ月しか経っていないのに、かなり良くなっています。
数ヶ月しか経っていないのに、本当に良くなっています。
まだまだ完成品ではありません。
私たちは決して気にしません。
これは完璧なものになるだろうと思っています。
宇宙に最適なのはなぜか?
すべての情報は、ビデオの中で
ビデオでは、多くのデータと優れたアーキテクチャを生成する必要があります。
データと優れたアーキテクチャ
うん
これは、タイムラインの中での中間点に過ぎません。
タイムライン上の
つまり、人間よりもはるかに優れたものに向かっているのは明らかです。
人間よりもはるかに優れたものになることは間違いありません
私の番だ
ハイ、ここで……もし、あなたが
ボットの短・中期的な経済性について、少しお話いただけないでしょうか。
ボットの短期・中期的な経済性についてお話いただけないでしょうか。
肉体労働者を代替するという長期的なビジョンは理解できますが
肉体労働に取って代わるという長期的なビジョンは理解できますが
しかし、危険で退屈な作業の繰り返しは
危険で退屈な作業は、あまり高い報酬が得られない傾向にあると思います。
高い報酬を得られない傾向があると思いますので、私には
どうやって再現すればいいのかわかりません。
スーパーカーからスタートして
低価格帯の市場に参入する
ロボットやヒューマノイドで、どうやってそれを
ヒューマノイド
まあ、見てのお楽しみということにしておきましょう。
こんにちは
私は車のAIがどのようにして
優先順位は
乗員の安全性と歩行者の安全性
そして、どのような思考プロセスを経て
どのようにしてAIに反映させるかを決定しているのでしょうか?
つまり、私たちは
評価すべき点は
コンピュータの観点からすると
すべてがゆっくりと動いています
だから人間にとっては……わかると思うんだけど
物事は速く動いていますが、コンピュータにとっては
速く動いているわけではないので、これは
これは現実的にはやや誤った
絶対に起こらないというわけではありませんが
絶対に起こらないというわけではありませんが、非常に稀なことでしょう
うん
もしあなたが、それがまるで
別の方向に行くとしたら
レンダリングのように
完全なレイトレーシングのような
ニューラルネットで強化されたグラフィックで
サイバーパンクのようなものや、高度なビデオゲームで
高度なビデオゲームで
秒間に60フレームの処理を行うことができます
そして
完璧にレンダリングされた
1フレームをレンダリングするのに、人間はどのくらいの時間がかかるでしょうか?
1フレームをレンダリングするのに
一切のミスなく
行うことができます……といっても、1ヶ月くらいはかかりますが
ヶ月はかかると思います。
ヶ月はかかるでしょう。
1秒間に60フレームのうち、1フレームをレンダリングするだけで
ビデオゲームでは1秒間に60フレームのうち
そうですね。
コンピュータは速く、人間は遅い
つまり、例えば
ロケット側では……あなたは……あなたは
ロケットを軌道に乗せることはできません
私たちは実際にジョイスティックを接続して
誰かがロケットを盗めるか試してみましたが
軌道に乗るには
そのためには
で反応する必要があります。
だいたい
6.7ヘルツで反応する必要があります……人々はそれをすることができません
今でもそうだが、それはかなり低い。
私たちが話しているのは、もっと
30ヘルツでも
30ヘルツくらいの話です。
ハイ、ここでは……ハードウェア3では
ハードウェア3では、多くの憶測が飛び交っています。
大規模なネットでは限界に達しているのではないかと
提供できる限界に達しているのではないかと
提供することができます。
拡張された計算モードがどの程度のヘッドルームを提供したか
拡張されたコンピュートモードは、どの時点で
ハードウェア4が必要になるとしたら
確信しているのは、ハードウェア3か
フル・ストップ・ドライビング・コンピュータ1ならば
実現できると確信しています。
人間をはるかに超える安全レベルでの完全な
人間をはるかに超える安全性を実現できると確信しています。
わかりませんが
少なくとも200〜300%は
人間よりも優れていると思います。
将来的には、完全な自動運転のためのハードウェアや
完全な自動運転のコンピュータも
サイバートラックと一緒に導入することになるでしょう。
サイバートラックと一緒に導入することになるでしょう。つまり、1年ほどで
あるいは
えー
それは
おそらく……約4倍の性能になるでしょう
約4倍の性能を持つ
しかし
ただ、実際には
例えば、議論のために
議論のために、人間より300安全なものから
1,000パーセントの安全性に
えーと
道路上には様々な運転をする人がいるように
道路上には様々な運転能力を持った人がいますが
運転能力に差があっても運転させているのと同じです。
世界一のドライバーでなくても、道路を走ることはできるのです。
世界一のドライバーでなくても、道路を走ることはできます。
だから、私たちが見るように
だから
そう
何が新しくなったかというと
すべて
そうですね
車に深度センサーが付いていないので
車には深度センサーがないので
敵対的攻撃のようなことをされるのではないかと
攻撃のような
プリントアウトした写真などを使って
RGBニューラルネットワークを騙すような
ニューラルネットワーク
ワイリーコーディのようなものを引っ張ってくるような
のようなもの
壁にトンネルを描くように
壁に
おっとという感じです
うん
あまり見たことがありませんね。
つまり
確かに今のような状況では
のTシャツを持っていたとしましょう。
のTシャツを持っていたとします。
ストップサインが描かれたTシャツを持っていたら
私は実際にストップサインの入ったTシャツを持っています。
ストップサインの入ったTシャツを持っていて
車を点滅させる
車は止まるでしょう。
私はそれを証明しました
でも
しかし、これらの……敵対的攻撃を目の当たりにすれば、明らかに
敵対的な攻撃を目の当たりにすれば、車を訓練して
車を訓練して…
実際にはTシャツを着た人が
Tシャツを着た人がいて、そのTシャツには一時停止の標識がある。
Tシャツを着ている人がいて、そのTシャツには一時停止の標識が描かれているので、おそらく本物の一時停止の標識ではないだろうと
サイン
こんにちは……私の質問は……予測と計画についてです。
予測と計画について聞きたいのですが
不確実性をどのようにして
不確実性をどのように計画アルゴリズムに組み込むのか
基本的には、知っていることを前提にしているのでしょうか?
あなたは、他の車の自動操縦を
道路上の他のすべての車の自動操縦を行っていると言いましたが
道路上の他の車の自動操縦をしているとおっしゃいましたが、他の車がすべてそのルールに従うと仮定しますか?
それとも、他の車が
あるいは、例えば
それとも、例えば運転の下手な人がいるかもしれないという可能性を考慮しているのでしょうか?
マルチモーダルな未来を考慮しています。
未来を選択しているわけではありません。
この人は実際にいろいろなことができて
いろいろなことができることを考慮して
そのためには、実際の
物理学や運動学を駆使して
実際の物理学や運動学を使って、行動する前に、その人が私たちの邪魔になるようなことをしていないか
干渉するようなことをしていないかを確認してから行動します。
不確実性がある場合は
保守的になり、相手に譲ることになります。
もちろん、これには限界があります。
あまりにも保守的だと、おそらく実用的ではないので
保守的になりすぎると、おそらく実用的ではないからです。
断定しなければなりません。
その上で、相手が
相手が
相手がこちらに譲歩して
感覚的に行動する
言ってみれば
えーと
艦隊に何かを導入する前に
艦隊に何かを導入する前にシャドウモードで実行して
そうすることで、例えばこのニューラルネットが
例えば、このニューラル・ネットが、この特定の状況で
この特定の状況で
うん
なぜなら、効果的にドライバーが
ネットをトレーニングしているわけですから
もし、ニューラルネットが
ニューラルネットが制御して
右に曲がったと言っても、実際には左に曲がっていたとしたら
実際には左に行ってしまったとしたら、「ああ、違いがある」となるわけです。
なぜそのような違いがあるのか
そう、そして第二に
人間のドライバーは、基本的に
ニューラルネットに何が正しい行動なのかを学習させています。
正しい行動をとるように
衝突に至らないことを前提として
その場合はカウントされません。
その場合
そして第二に、我々は様々な
不確実性の推定値があります。
これを見ると、私たちは実際に…
何かを見ることができなかった場合、私たちは
安全のために車の速度を落とし
安全のために車を減速させ、行動する前にもっと情報を得る。
行動する前にもっと情報を得ようとする……そう、私たちは図々しくなりたくない。
何も知らずに突っ込んでいくような図々しさは
知っている場所にしか行きません。
知っている場所にしか行かない。
でも……うん
それは、まるで
憧れの車になるべきだ
知らなければ知らないほど、遅いほど
遅くなるんだ
これはある時点では真実ではないが、今は
そう、そう、そうなんだよ
私たちは
自信に比例するスピード
プレゼンテーションに感謝します。
好奇心旺盛な
FSDが改善されているという事実に感謝します。
改善しているという事実に感謝していますが、もしAIスタックに沿って一つのコンポーネントを改善する能力があれば
AIスタックに沿って1つのコンポーネントを改善する能力があれば
それが以下のようなものであっても、今日発表することができます。
シミュレーション データ収集 計画
コントロールなど、あなたの意見ではどのコンポーネントが
あなたの意見では、どのコンポーネントが最も大きな影響を
自動運転のパフォーマンスに最も大きな影響を与えると思われるのは
自動運転
システム
曲線の下の部分で、複数のポイントがあるように見えます。
複数のポイントがあり、もし何かを改善すれば
何かを改善すれば……それは
面積
つまり、短期的には、それは間違いなく
すべてのネットをサラウンドビデオにする必要があります。
サラウンドビデオにする必要がありますが、そのためにはまだ
これは非常に短期的なものです。
これは非常に短期的なもので、明らかに我々はそれを素早く修正していますが
しかし、まだ
まだ、サラウンド・ビデオを使っていないネットがあります。
サラウンドビデオを使っていないネットもあります。
すべてのネットがサラウンドビデオを使用するのが理想だと思います。
サラウンドビデオ
そうですね、そうですね、多くのパズルのピースが
成功のためのピースは揃っています。
ただ、もっと強力な人材が必要です。
協力して
それが実際の箱なんです。
それが実際のボトルネックなんです。
私がこのイベントを開催する理由の1つです。
このイベントを開催した理由のひとつは、まさに
アンドレがよく言っていたように
とてつもない量の仕事があります。
を実現するためには
このイベントを成功させるためには、膨大な作業が必要です。
才能ある人たちに参加してもらい
問題を解決してくれる才能ある人々が必要なのです。
素晴らしいプレゼンテーションをありがとうございました。
たくさんの質問に答えていただきました。
しかし、ひとつだけ
それは
大量のデータがあると
膨大な量のデータがあると想像したとき、不必要なものまで
ニューラルネットワークの忘却問題のように
ニューラルネットワークにおける忘却の問題のように
そういった点をどのように考えているのか
また
もう1つは、オンラインでの学習を考慮していますか?
オンライン学習や継続的な学習
そう
各ドライバーが
各ドライバーがそれぞれのバージョンの
自動運転の
ソフトウェア
私はその文献を知っていると思います。
あなたが参照している文献を知っていると思いますが、それは私たちが見てきた問題の一部ではありません。
私たちが見てきた問題の一部ではありません。
あまり継続的な学習を行っていません。
一度システムをトレーニングして
何度か見つけて
車に乗っているようなものだから、評価できる
評価できる安定したものが必要です。
広く評価できる安定したものが必要です。
車に搭載されることになります。
スポットでの学習や継続的な学習をあまりせずに
継続的に学習することで、忘却の問題に直面することもありません。
忘却の問題に直面することもありません。
といった設定も可能です。
一般的に保守的なドライバーにしたいのか
保守的な運転をしたいのか、速く走りたいのか、遅く走りたいのか
速く走りたいのか、遅く走りたいのか……それはまるで
空港に遅刻しそうなんだけど……。
もっと速く走れないかな?
基本的には、あなたがuberのドライバーにする指示は
運転手に指示を出すようなものです
フライトに遅れそうなんですが、お願いします
急いでくださいとか、ゆっくりしてくださいとか
あなたのスタイルが何であれ
それでは、もう少し質問をしてみましょう。
今日はこれで終わりにしましょう。
さて、私たちのモデルはますます有能になり
モデルの性能が上がってきていて
現実の世界にモデルを展開していると思いますが
可能性があると思うのは
AIがもっと人間の望むものと
人間が望むものとのズレが生じる可能性があります。
そのことをあなた方は
ロボットをどんどん導入していく中で、あなた方が心配していることは
ロボットをどんどん導入していく中で、あなた方はそのことを心配しているのでしょうか?
それとも、その時になったらその問題を解決しようと思っていますか?
と思うのか
ええ、私たちはAIを心配すべきだと思います。
AIについては……その……例えば
私たちがここでやろうとしているのは、つまり
狭いAI
かなり狭い範囲で……例えば、車を人間よりも
人間よりもうまく運転できるようにするとか
そして、人型ロボットには
基本的なことができる
えー
そうですね。
超人的な知性を手に入れようとする時点で
超人的な知能を持ち始める時点で
全ての賭けが始まるのか
うん
でも
それはそれとして、それはそれとして、それはそれとして
そう
そうなるかもしれないけど、でも
テスラでやろうとしているのは
役に立つ
人々に愛される
人々に愛され、そして
紛れもなく良いものを作ることです。
それを目指しています。
さて、もう一つ質問です。
こんにちは……私の質問はカメラについてです
センサーについてです。
合成動物を作るという話をされていましたが
動物
考えてみると
カメラは人間の目の非常に貧弱な近似品です。
カメラは人間の目の非常に貧弱な近似品であり、人間の目は一連のフレームを撮るだけでなく
人間の目は、一連のフレームを撮るだけではありません。
最近のカメラのようなものは
最近では、イベントカメラのようなカメラがあります。
カメラのようなものがありますが、それについて調べたことがありますか?
より柔軟なカメラを検討していますか?
より柔軟なカメラの設計や独自のカメラの構築を検討していますか?
例えば
ハードウェア4では、次世代のカメラができるでしょう。
次世代のカメラを用意する予定ですが
しかし、現在のカメラでは
現在のカメラの限界には達していません。
現在のカメラの限界には達していません。
ええと
完全な自動運転を、より高い安全性で実現できると確信しています。
完全な自動運転をより高い安全性で
人間よりも
現在のカメラと
現在の計算機ハードウェア
うん
しかし
でも
300%よりも1,000%良くなった方がいいのか
300%ではなく1,000%でいいのか
だから
私たちのレベルの進化は続くでしょう。
レベルの進化を
その目標を追求し、将来的には
将来
将来、人々は振り返ってこう言うでしょう
自分たちで運転しなければならなかったなんて、信じられない
自分で運転しなければならないなんて
自動運転車のようなものが
のように普通のことになるでしょう。
自動運転のエレベーター
エレベーターには昔、エレベーター・オペレーターがいたことをご存知でしょうか。
エレベーター・オペレーター
誰かがそこにいて、その人が
大きな大きなリレースイッチを
エレベータを操作する
そして、時々、彼らは疲れてしまったり
疲れてしまったり、ミスをしてしまったりして
誰かを半分に分けてしまったり
それで、今は……エレベータを自動化して
エレベーターは自動化され、ボタンを押すだけで
ボタンを押せば、100階建ての超高層ビルでも
100階建ての超高層ビルでも
心配することなく、ただ行って
ボタンを押せば
エレベーターが目的の場所に連れて行ってくれるんです。
行くことができます。
しかし、かつてはすべてのエレベータが
手動で操作していましたが、これからは車と同じように
自動車も同じように
すべての車が自動運転になる
そして電気自動車へと変わっていくでしょう。
ガソリン車もマニュアル車もあるでしょう。
ガソリン車もマニュアル車もあるだろう。
馬がまだいるように
だから
皆さま、ご来場ありがとうございました。
このプレゼンテーションを楽しんでいただけましたか?
プレゼンテーションを楽しんでいただけたでしょうか。
質問