News for hackers. Stuff that matters.
Re:Exo: Run your own AI cluster at home with everyday devices ⌚ by mg on Tuesday July 16, 2024 @02:55AM (#40974169)

    This enables you to run larger models
    than you would be able to on any single
    device.
No further explanation on how this is supposed to work?

If some layers of the neural network are on deviceA and some layers are on deviceB, wouldn't that mean that for every token generated, all output data from the last layer on deviceA have to be transferred to deviceB?

Re:Exo: Run your own AI cluster at home with everyday devices ⌚ by mikewarot on Tuesday July 16, 2024 @03:27AM (#40974320)
Yes, so you would have a vector about 8k values long to be transferred on each token generated.

You could do that easily with any modern network.

Re:Exo: Run your own AI cluster at home with everyday devices ⌚ by mg on Tuesday July 16, 2024 @03:40AM (#40974366)
That's exciting. So we could build a SETI@home style network of even the largest models.

I wonder if training could be done in this way too.

Re:Exo: Run your own AI cluster at home with everyday devices ⌚ by alexandercheema on Tuesday July 16, 2024 @03:48AM (#40974403)
Repo author here. That's correct. The embeddings for Llama-3-8B are around 8KB-10KB. For Llama-3-70B they're around 32KB. These are small enough to send around between devices on a local network. For a SETI@home style network, latency will kill you if you go over the internet. That's why we're starting with local networks.
Re:Exo: Run your own AI cluster at home with everyday devices ⌚ by mg on Tuesday July 16, 2024 @05:12AM (#40974793)
Ah yes. At first, I thought that since it is all one-way forward-only communication, latency would only affect the time to the first token.

But I guess the final output needs to be sent back to the first node before it can continue. So if there are 50 nodes with a latency of 40ms each, each token would take 2s to process.

Re:Exo: Run your own AI cluster at home with everyday devices ⌚ by alexandercheema on Tuesday July 16, 2024 @05:19AM (#40974826)
Yeah, unfortunately the autoregressive nature of these models slows it down significantly with added device<->device latency. However, you can still max out on throughput with pipeline parallelism, where you overlap execution. See: https://pytorch.org/docs/stable/pipeline.html
Re:Exo: Run your own AI cluster at home with everyday devices ⌚ by juvo on Tuesday July 16, 2024 @06:49AM (#40975291)
Re:Exo: Run your own AI cluster at home with everyday devices ⌚ by DiogoSnows on Tuesday July 16, 2024 @06:09PM (#40980804)
For generating synthetic data you could have a SETI@Home setup if you consider each home as a node that generates some amount of data. I mean, such a setup can be built with Exo, I wouldn’t suggest including it as part of Exo.

Out of curiosity, would you ever support training or at least fine-tuning?

Re:Exo: Run your own AI cluster at home with everyday devices ⌚ by steeve on Tuesday July 16, 2024 @03:00AM (#40974190)
Yes, that’s how it works (pipeline parallelism)
Re:Exo: Run your own AI cluster at home with everyday devices ⌚ by mg on Tuesday July 16, 2024 @03:03AM (#40974203)
Interesting. Let's do the math ...

Let's say the model has 50B parameters and 50 layers. That would mean about one billion values have to travel through the wifi for every generated token?

I wonder how much data that is in bytes and how long it takes to transfer them.

Re:Exo: Run your own AI cluster at home with everyday devices ⌚ by blackbear_ on Tuesday July 16, 2024 @03:28AM (#40974324)
It's not the parameters that are sent, it's the layer outputs. That makes for a few thousands floats per token
Re:Exo: Run your own AI cluster at home with everyday devices ⌚ by mg on Tuesday July 16, 2024 @03:37AM (#40974355)
Woops! I would have thought the number of neurons roughly equals the number of parameters, but you are probably right and the number of parameters is much higher.

A few thousand floats would be just around 10K bytes, right? Those can be sent in a fraction of a second. Consumer internet speed is at what ... 10MB/s? So we could build a SETI@home style network of layers and produce 1K tokens per second?

Re:Exo: Run your own AI cluster at home with everyday devices ⌚ by tama_sala on Tuesday July 16, 2024 @01:46PM (#40978645)
The embedding size is only 8k so while the parameters are 70B. So it's a huge difference