|
Download docs/LIMITS.md from DaisyChainAI/DaisyChain-Train: direct link, hf CLI and curl.
- Browser
- Download file 2.34 kB
-
https://huggingface.co/DaisyChainAI/DaisyChain-Train/resolve/1a34a534bbf5fecd0e6fa7bc530decea45e50d04/docs/LIMITS.md
- Command line
-
hf download hf://DaisyChainAI/DaisyChain-Train@1a34a534bbf5fecd0e6fa7bc530decea45e50d04/docs/LIMITS.md
-
curl -L -o LIMITS.md https://huggingface.co/DaisyChainAI/DaisyChain-Train/resolve/1a34a534bbf5fecd0e6fa7bc530decea45e50d04/docs/LIMITS.md
2.34 kB
| # Honest limits β read before you rely on DaisyChain | |
| DaisyChain is a real tool for a **specific** job: chaining spare/old machines to | |
| train **small** models faster by pooling their compute. It is not magic, and it | |
| is easy to misapply. Here's the honest envelope. | |
| ## What it does | |
| - **Data-parallel** training: every node holds a full copy of the model and | |
| trains on its slice of the data; gradients are averaged across the network. | |
| - **Capacity-weighted**: each node measures its own speed (CPU or GPU) and takes | |
| a proportional batch, so a faster machine does more. GPU nodes auto-join and | |
| carry more load; CPU-only nodes still participate. | |
| ## What it does NOT do (expect these) | |
| - β **Not GPU-class training.** N pooled old CPUs/GPUs are still that class of | |
| hardware. A single modern GPU will beat the whole cluster for real models. | |
| - β **Pools compute, not memory.** Every node needs the *whole* model in RAM | |
| (or VRAM). You **cannot** train a model bigger than a single node can hold. | |
| Chaining 5 laptops does not give you one big machine. | |
| - β **Sublinear scaling.** Gradient sync over WiFi is bandwidth-bound, and the | |
| **slowest node paces every step** (synchronous). Each added node helps less | |
| than the last; a slow link can erase the benefit. | |
| - β **Not for huge/modern models.** Transformers/large CNNs at CPU (or old-GPU) | |
| speed are impractically slow. | |
| ## The sweet spot | |
| Small models (small MLPs, tabular/classifier tasks, small fine-tunes), | |
| a handful of machines, model fits on each, you want more throughput and don't | |
| have a GPU handy. Education, research, retro/old-hardware hobby clusters. | |
| ## Hardware / OS | |
| - **Multi-node reliably runs on Linux/macOS.** On **Windows**, gloo tensor | |
| collectives are unstable β use **Docker** or **WSL**. Single-machine use is | |
| fine on Windows. | |
| - **Old GPUs** must be new enough for current PyTorch (compute capability β³ 5.0, | |
| roughly GTX 900 / Maxwell and up). Kepler/Fermi-era cards won't work with | |
| modern torch. | |
| - Put all nodes on the same **interface** (Tailscale `tailscale0`, or a real LAN | |
| NIC) via `GLOO_SOCKET_IFNAME` β not a VPN/Docker/WSL virtual NIC. | |
| ## The one-line version | |
| You can chain old machines to train a **small** model together, faster by | |
| throughput, with honest sublinear scaling β and DaisyChain won't pretend to be | |
| more than that. | |