News for hackers. Stuff that matters.
Re:Tesla Project Dojo Overview by modeless on Monday August 23, 2021 @02:57AM (#28272984)
Stochastic gradient descent is not embarrassingly parallel, because it's an iterative process where each step depends on the previous one. If you figure out a better optimization algorithm that is more parallelizable, the world will beat a path to your door.
Re:Tesla Project Dojo Overview by inciampati on Monday August 23, 2021 @05:49AM (#28273850)
Actually, nope! SGD is embarrassingly parallel when it's HOGWILD! https://arxiv.org/abs/1106.5730. Formally, the hogwild and serial implementations are indistinguishable. This has a lot of citations but it's such an easy trick that no door path beating seems to have happened. The "trick" is just to make model updates atomic, and then each SGD step can happen in parallel without coordination or locks.
Re:Tesla Project Dojo Overview by modeless on Monday August 23, 2021 @10:35AM (#28276393)
Sorry, all Hogwild does is remove locks. It still needs constant global communication (global shared memory is assumed in the paper). That's not embarrassingly parallel.
Re:Tesla Project Dojo Overview by kettleballroll on Monday August 23, 2021 @11:20AM (#28277169)
As far as I know, hogwild doesn't really scale to very large systems and doesn't get used in practice, but maybe that's just because it's most useful on CPUs, which are inefficient for other reasons
Re:Tesla Project Dojo Overview by WanderPanda on Monday August 23, 2021 @04:37AM (#28273528)
And it is not like the models performance is actually known at every step
Re:Tesla Project Dojo Overview by TekMol on Monday August 23, 2021 @03:26AM (#28273117)
So we build self driving software by creating one big brain that does gradient descent.

Would we have been more effective if we built other things like this? 400,000 people were involved in the Apollo program. Would it have been better if we had just one person with a really big brain? How about the Linux kernel and Wikipedia?

And why should I figure out a better algorithm? Shouldn't that be the job of the one guy with the biggest brain who comes up with everything?

Re:Tesla Project Dojo Overview by IshKebab on Monday August 23, 2021 @03:55AM (#28273292)
Uhm it's a lot easier to make a single supercomputer a million times faster than it is to make a single brain a million times cleverer.
Re:Tesla Project Dojo Overview by TekMol on Monday August 23, 2021 @04:02AM (#28273333)
What is the difference?

Couldn't evolution have settled on bigger brains if they are an advantage? Why all that slow interpersonal communication if it is more efficient to have the combined thought processes inside a single brain?

Re:Tesla Project Dojo Overview by joshmarlow on Monday August 23, 2021 @10:51AM (#28276650)
> Couldn't evolution have settled on bigger brains if they are an advantage?

Biological brains are limited by other factors. Human brain size in particular is limited by factors like needing to fit through a human birth canal without wrecking an upright walking gate ([0]) and being able to be powered using a hunter-gather diet.

[0] - loosing the upright walking/running gate would have limited certain ecological options (like persistence hunting). Instead, human gestation is shorter than it should be given our body size when you compare it to other mammals.

Re:Tesla Project Dojo Overview by BenoitP on Monday August 23, 2021 @04:56AM (#28273638)
I think you might be interested in learning about Amdahl's law:

https://en.wikipedia.org/wiki/Amdahl%27s_law

Some parts of an algorithm are parallelizable, but only up to a certain limit; and that's where the endgame bottleneck is: the last remaining 'in series' parts and the communication overhead for the parallelized parts.

Note that their Dojo system has absolutely massive networking equipment: that's for having a better endgame at Amdahl's law.

----

On another note, one can modify the algorithm itself so that is has more inherent parallelism. For example DNA sequencing: you match short reads, them send them off to be reconciled together. The way to have more parallelism is to generate more matches -by lowering the threshold for matching-. Having more matches means more communication costs, but better parallelism.

For gradient descent, one of the tricks is learning in batches of input data: the neural network doesn't learn from the freshest point of view, but it can be done in parallel (also the way to aggregate new knowledge is to do an average of the weights, which must limit the amount of things learned)

Re:Tesla Project Dojo Overview by alpaca128 on Monday August 23, 2021 @04:43AM (#28273558)
Evolution doesn't care about brains. They're just an accidental byproduct that happens to improve our chances of survival.
Re:Tesla Project Dojo Overview by ben_w on Monday August 23, 2021 @04:56AM (#28273636)
Some things can be optimised in parallel, but other things can’t.

The example my father gave when I was a teen was: “nine women can’t make one baby in one month”.

> And why should I figure out a better algorithm?

They said “if”; if you do, you could get very, very rich.