Live data from Hacker News

Show HN: Lumabri – Run Moe Models on a P2P Swarm with Colibri

github.com

11–20 of 25 posts

Re: Show HN: Lumabri – Run Moe Models on a P2P Swarm with Colibri

#11

I am sorry I did not understand all of it. But, would this allow running large MoE LLMs on a local network with experts spread out over multiple cheaper GPUs (or even CPUs)? This would perhaps be more useful than over the Internet, within offices for example.

That’s one of the strongest use-cases. On a local network (office, lab, home cluster) the RTT is a few milliseconds instead of 20-50 ms, so the expert-offloading becomes much more practical. You can spread the experts across several cheaper GPUs or even CPUs, keep only the dense parts + router on the machine you’re chatting from, and the whole thing stays private inside your LAN. No internet required, no cloud, just the machines you already have.

Re: Show HN: Lumabri – Run Moe Models on a P2P Swarm with Colibri

#12
post #10

What if one wishes to use various busybox nodes within the house? All the iot devices contributing to matmul but within a LAN?

Because everything stays local and latency is tiny, even modest always-on devices can contribute. A few Raspberry Pi 5s, old mini-PCs, or stronger IoT-style boards can each hold and run a handful of experts. The protocol doesn’t care if the peer is a big GPU or a small ARM box, as long as it can load the expert weights and do the matmul. Pure busybox-class sensors are usually too limited in RAM and compute for current MoE experts, but the broader “every half-decent always-on box in the house joins the swarm” vision works well and keeps everything private inside your LAN.

Re: Show HN: Lumabri – Run Moe Models on a P2P Swarm with Colibri

#13
post #8

Cool idea. How do you handle temperature in the verification?

Ho thanks for the comment. Verification does not depend on temperature. Expert execution is deterministic (pure matmul). LUMABRI_VERIFY=N re-runs N% of the calls on a second replica and requires byte-identical output. Temperature (and sampling) happens only on the chatter, after the experts return their activations. So it can be any value (0, 0.7, 1.2…) without affecting the verification contract.

> Expert execution is deterministic (pure matmul).

Isn't that only true in theory but wrong in practice due to floating points?

Re: Show HN: Lumabri – Run Moe Models on a P2P Swarm with Colibri

#14
This looks really interesting, and if I understand what this does properly: it was high time someone built this!

Without diving into an experiment myself, it would be amazing if you could add some stats or experiment logs, if it's not too much problem and you have them.

For example:

Given model XYZ, every assuming 5 donors with a uniform 32GB each, each forward pass shunts xGB over the link. Each pass takes nMS, etc. etc. Resulting in n T/s, assuming latency of n ms.

Do you have such stats? Or perhaps I missed them in the repo?

Re: Show HN: Lumabri – Run Moe Models on a P2P Swarm with Colibri

#17
post #13
post #8

Earlier quoted context omitted.

Ho thanks for the comment. Verification does not depend on temperature. Expert execution is deterministic (pure matmul). LUMABRI_VERIFY=N re-runs N% of the calls on a second replica and requires byte-identical output. Temperature (and sampling) happens only on the chatter, after the experts return their activations. So it can be any value (0, 0.7, 1.2…) without affecting the verification contract.

> Expert execution is deterministic (pure matmul). Isn't that only true in theory but wrong in practice due to floating points?

[dead]

Re: Show HN: Lumabri – Run Moe Models on a P2P Swarm with Colibri

#19
I’ve been thinking about this same idea recently, so I’m glad it exists now!

The biggest benefit I see is to enable RAM constrained GPUs to perform inference of large parameter models with surprisingly high throughput. Because only a single expert is resident, the memory to compute ratio over the network is limited only by the activations, not the weights. For an Moe like kimi k3 where active parameters are 103B, we might expect to achieve performance limited only by ~5 effective tok/s per Tflop and ~1 tok/s per 100GB/s.

The more members of the network, the smaller your resident parameters are required to be. I’m not sure whether we can split layer inference into arbitrary chunks, but if so you’d be able to increase memory throughput by storing everything in GPU caches.

Of course, we expect latency to be relatively high, but that’s a tradeoff that's fine for certain circumstances.

I’m not sure whether there are any issues more with this idea, but it’s a fun one nonetheless :)

Post reply on HN