OverviewFilesCommitsIssuesDocsReleasesPeers

hypercompute / research / raw / 03-distributed-ai.raw.json

397 lines · json ref:
{
  "summary": "Deep research harness — fan-out web searches, fetch sources, adversarially verify claims, synthesize a cited report.",
  "agentCount": 109,
  "logs": [
    "Q: Research the state of the art (2024-2026) in distributed AI across peers/devices…",
    "Decomposed into 6 angles: Primary — exo + heterogeneous consumer-device inference, Distributed inference systems + parallelism mechanics, Decentralized training — DiLoCo / Prime Intellect / Nous, Technical — communication bottleneck and bandwidth math, Skeptical / maturity verdict — production vs research vs hype, Mapping to P2P — Hyperswarm/udx feasibility for activations",
    "Primary — exo + heterogeneous consumer-device inference: 6 results",
    "Technical — communication bottleneck and bandwidth math: 6 results",
    "Mapping to P2P — Hyperswarm/udx feasibility for activations: 6 results",
    "Mapping to P2P — Hyperswarm/udx feasibility for activations: 3 novel (3 filtered)",
    "Decentralized training — DiLoCo / Prime Intellect / Nous: 6 results",
    "Decentralized training — DiLoCo / Prime Intellect / Nous: 3 novel (3 filtered)",
    "Skeptical / maturity verdict — production vs research vs hype: 6 results",
    "Skeptical / maturity verdict — production vs research vs hype: 4 novel (2 filtered)",
    "Distributed inference systems + parallelism mechanics: 6 results",
    "Distributed inference systems + parallelism mechanics: 5 novel (1 filtered)",
    "Fetched 27 sources → 131 claims → verifying top 25",
    "[v0:exo supports both pipeline and tensor pa] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "[v1:exo supports both pipeline and tensor pa] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "[v2:For exo's pipeline-parallel inference th] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "[v2:exo supports both pipeline and tensor pa] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "\"exo supports both pipeline and tensor parallelism …\": 0-0 (3 abstain) ✗",
    "[v0:Adding devices increases aggregate (mult] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "[v1:Adding devices increases aggregate (mult] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "[v2:Adding devices increases aggregate (mult] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "\"Adding devices increases aggregate (multi-request)…\": 0-0 (3 abstain) ✗",
    "[v1:exo targets Mac clusters with hardware i] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "[v2:exo runs a model across multiple devices] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "[v1:vLLM recommends tensor parallelism only ] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "[v0:vLLM recommends tensor parallelism only ] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "[v1:exo runs a model across multiple devices] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "[v0:exo runs a model across multiple devices] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "\"exo runs a model across multiple devices using pip…\": 0-0 (3 abstain) ✗",
    "[v2:vLLM recommends tensor parallelism only ] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "\"vLLM recommends tensor parallelism only when a mod…\": 0-0 (3 abstain) ✗",
    "[v0:exo automatically discovers devices on t] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "[v2:exo targets Mac clusters with hardware i] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "[v0:Tensor parallelism requires fast interno] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "[v1:exo automatically discovers devices on t] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "[v2:Tensor parallelism requires fast interno] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "[v0:exo targets Mac clusters with hardware i] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "\"exo targets Mac clusters with hardware interconnec…\": 0-0 (3 abstain) ✗",
    "[v2:exo automatically discovers devices on t] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "\"exo automatically discovers devices on the network…\": 0-0 (3 abstain) ✗",
    "[v1:Even within a single node, when GPUs lac] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "[v1:Tensor parallelism requires fast interno] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "\"Tensor parallelism requires fast internode communi…\": 0-0 (3 abstain) ✗",
    "[v2:Even within a single node, when GPUs lac] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "[v0:distributed-llama accelerates LLM infere] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "[v1:distributed-llama accelerates LLM infere] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "[v0:The architecture is split into a root no] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "[v2:distributed-llama accelerates LLM infere] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "\"distributed-llama accelerates LLM inference by con…\": 0-0 (3 abstain) ✗",
    "[v0:Even within a single node, when GPUs lac] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "\"Even within a single node, when GPUs lack NVLink i…\": 0-0 (3 abstain) ✗",
    "[v0:For exo's pipeline-parallel inference th] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "[v1:The architecture is split into a root no] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "[v1:It connects multiple devices over a stan] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "[v0:It connects multiple devices over a stan] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "[v2:The architecture is split into a root no] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "\"The architecture is split into a root node (loads …\": 0-0 (3 abstain) ✗",
    "[v2:It connects multiple devices over a stan] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "\"It connects multiple devices over a standard Ether…\": 0-0 (3 abstain) ✗",
    "[v1:For exo's pipeline-parallel inference th] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "\"For exo's pipeline-parallel inference the bottlene…\": 0-0 (3 abstain) ✗",
    "[v1:Petals runs LLMs BitTorrent-style: each ] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "[v0:Petals runs LLMs BitTorrent-style: each ] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "[v2:Single-batch inference on Petals runs at] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "[v1:Single-batch inference on Petals runs at] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "[v0:Single-batch inference on Petals runs at] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "\"Single-batch inference on Petals runs at up to 6 t…\": 0-0 (3 abstain) ✗",
    "[v0:DiLoCo enables training language models ] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "[v2:DiLoCo enables training language models ] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "[v1:DiLoCo is a variant of federated averagi] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "[v1:DiLoCo enables training language models ] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "\"DiLoCo enables training language models across isl…\": 0-0 (3 abstain) ✗",
    "[v2:Petals runs LLMs BitTorrent-style: each ] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "\"Petals runs LLMs BitTorrent-style: each user loads…\": 0-0 (3 abstain) ✗",
    "[v2:DiLoCo is a variant of federated averagi] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "[v0:DiLoCo is a variant of federated averagi] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "\"DiLoCo is a variant of federated averaging that us…\": 0-0 (3 abstain) ✗",
    "[v1:Prime Intellect trained INTELLECT-2, a 3] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "[v2:Prime Intellect trained INTELLECT-2, a 3] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "[v0:Decentralized RL training over untrusted] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "[v1:Decentralized RL training over untrusted] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "[v2:Decentralized RL training over untrusted] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "\"Decentralized RL training over untrusted permissio…\": 0-0 (3 abstain) ✗",
    "[v0:Prime Intellect trained INTELLECT-2, a 3] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "\"Prime Intellect trained INTELLECT-2, a 32-billion-…\": 0-0 (3 abstain) ✗",
    "[v1:INTELLECT-2 and its full code and data w] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "[v0:INTELLECT-2 and its full code and data w] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "[v2:INTELLECT-2 and its full code and data w] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "\"INTELLECT-2 and its full code and data were open-s…\": 0-0 (3 abstain) ✗",
    "[v0:Psyche's DisTrO optimizer reduces inter-] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "[v2:Psyche's DisTrO optimizer reduces inter-] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "[v1:Psyche's DisTrO optimizer reduces inter-] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "\"Psyche's DisTrO optimizer reduces inter-node commu…\": 0-0 (3 abstain) ✗",
    "[v0:DisTrO/DeMo communicates only the sign o] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "[v1:DisTrO/DeMo communicates only the sign o] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "[v2:DisTrO/DeMo communicates only the sign o] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "\"DisTrO/DeMo communicates only the sign of the DCT …\": 0-0 (3 abstain) ✗",
    "[v0:Psyche uses the Iroh P2P library to esta] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "[v1:Psyche uses the Iroh P2P library to esta] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "[v0:Streaming DiLoCo reduces total bits exch] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "[v1:The Psyche network is training a 40-bill] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "[v0:The Psyche network is training a 40-bill] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "[v2:The Psyche network is training a 40-bill] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "\"The Psyche network is training a 40-billion-parame…\": 0-0 (3 abstain) ✗",
    "[v1:Streaming DiLoCo reduces total bits exch] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "[v2:Psyche uses the Iroh P2P library to esta] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "\"Psyche uses the Iroh P2P library to establish dire…\": 0-0 (3 abstain) ✗",
    "[v0:Streaming DiLoCo synchronizes only every] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "[v1:Streaming DiLoCo synchronizes only every] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "[v2:Streaming DiLoCo reduces total bits exch] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "\"Streaming DiLoCo reduces total bits exchanged by ~…\": 0-0 (3 abstain) ✗",
    "[v2:Streaming DiLoCo synchronizes only every] failed: API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited",
    "\"Streaming DiLoCo synchronizes only every H=100 inn…\": 0-0 (3 abstain) ✗",
    "Verify done: 25 claims → 0 confirmed, 25 killed"
  ],
  "result": {
    "question": "Research the state of the art (2024-2026) in distributed AI across peers/devices — distributed inference (running ONE model split across multiple machines), distributed/decentralized training, and distributed GPU use — with concrete named systems, how-they-work mechanics, honest maturity (production vs research vs hype), and the fundamental bottlenecks. The context is evaluating what is realistically buildable over a P2P (Holepunch/Hyperswarm) stack.\n\nCover and name concrete systems with mechanics, hardware/bandwidth requirements, and tradeoffs:\n\n1. exo (exolabs): how it actually runs \"multiple peers as one model\" — device discovery, model PARTITIONING strategy (ring/pipeline parallelism, memory-weighted partitioning across heterogeneous devices), supported backends (MLX, tinygrad), what hardware it targets (Mac clusters, Thunderbolt/LAN), throughput/latency reality, and limitations. Is it production or experimental?\n\n2. DISTRIBUTED INFERENCE generally: pipeline parallelism vs tensor parallelism vs data parallelism — what each demands of the network. Named systems: Petals (BitTorrent-style LLM inference), llama.cpp RPC backend, distributed-llama, vLLM + Ray, GPUStack, Cake. LAN vs WAN feasibility, why tensor-parallel needs NVLink/fast interconnect and pipeline-parallel tolerates slower links. Real tokens/sec numbers where available.\n\n3. DISTRIBUTED / DECENTRALIZED TRAINING: low-communication training algorithms that make WAN training feasible — DiLoCo / OpenDiLoCo (Prime Intellect), INTELLECT-1 and INTELLECT-2 (32B, async RL), Nous Research DisTrO / Psyche, Gensyn, Templar, Photon. How they cut communication (local steps + infrequent sync, gradient compression), what was actually trained and released, and verification of untrusted workers (TOPLOC). Real vs vaporware.\n\n4. THE COMMUNICATION BOTTLENECK: why distributed AI is network-bound — NCCL/RCCL collectives (all-reduce, ring), bandwidth/latency requirements of each parallelism strategy, the gap between datacenter interconnect (InfiniBand/NVLink, 100s of GB/s) and consumer LAN/WAN (1-10 Gbps LAN, much less WAN). What bandwidth each approach actually needs and how low-comm methods (DiLoCo) change the math.\n\n5. HETEROGENEOUS / CONSUMER-DEVICE distributed AI: running big models on clusters of consumer machines (Mac Studios via MLX, mixed GPU/CPU, Thunderbolt bridges). Memory-weighted layer assignment, KV-cache distribution, quantization's role. What's genuinely possible on a home/office network today.\n\n6. MAPPING TO P2P: given a Holepunch-style stack (Hyperswarm/HyperDHT discovery, udx transport, hole-punched direct connections), what parts of distributed inference/training are feasible over P2P vs require datacenter interconnect. Which parallelism strategy fits P2P best (pipeline, because it only passes activations point-to-point between consecutive stages), what the activation-transfer bandwidth looks like, and where WAN latency kills it.\n\nPrioritize primary sources (exo GitHub/docs, Petals + DiLoCo papers, Prime Intellect/Nous writeups, llama.cpp RPC docs), real throughput/bandwidth numbers, and an honest production-vs-research-vs-hype verdict for each system. The key question throughout: what can a peer-to-peer network of ordinary machines actually do for running and training AI models today.",
    "summary": "All 25 claims refuted by adversarial verification. Research inconclusive — sources may be low-quality or claims overstated.",
    "findings": [],
    "refuted": [
      {
        "claim": "exo automatically discovers devices on the network with no manual configuration, using libp2p for peer discovery and cluster formation, and figures out how to split the model based on a realtime view of device topology (Topology-Aware Auto Parallel).",
        "vote": "0-0",
        "source": "https://github.com/exo-explore/exo"
      },
      {
        "claim": "exo supports both pipeline and tensor parallelism for sharding a single model across multiple devices, achieving up to 1.8x speedup on 2 devices and 3.2x speedup on 4 devices.",
        "vote": "0-0",
        "source": "https://github.com/exo-explore/exo"
      },
      {
        "claim": "exo targets Mac clusters with hardware interconnect: it provides day-0 support for RDMA over Thunderbolt 5, claiming a 99% reduction in inter-device latency, and benchmarks run on 4x M3 Ultra Mac Studio clusters running models like DeepSeek v3.1 671B and Qwen3-235B.",
        "vote": "0-0",
        "source": "https://github.com/exo-explore/exo"
      },
      {
        "claim": "exo runs a model across multiple devices using pipeline parallel inference, splitting the model into contiguous slices of layers ('shards'), each shard assigned to a different device (which can be separate accelerators on one machine or physically separate machines over a network).",
        "vote": "0-0",
        "source": "https://blog.exolabs.net/day-1/"
      },
      {
        "claim": "For exo's pipeline-parallel inference the bottleneck is inter-device latency, not bandwidth, because per-token activations transferred between stages are tiny (under 4KB for Llama 3.2 3B, scaling roughly linearly with layer size).",
        "vote": "0-0",
        "source": "https://blog.exolabs.net/day-1/"
      },
      {
        "claim": "Adding devices increases aggregate (multi-request) throughput but reduces single-request throughput: Llama 3.2 3B on M4 Pro went from 49.3 TPS single-request on one device to 39.7 TPS on three devices, while multi-request throughput rose from 49.3 to 108.8 TPS (a 3-device cluster processes 2.2x as many tokens as a single device).",
        "vote": "0-0",
        "source": "https://blog.exolabs.net/day-1/"
      },
      {
        "claim": "vLLM recommends tensor parallelism only when a model fits within a single node's multiple GPUs, and pipeline parallelism (combined with tensor parallelism) when the model is too large for a single node — directly establishing pipeline parallelism as the cross-node strategy.",
        "vote": "0-0",
        "source": "https://docs.vllm.ai/en/stable/serving/parallelism_scaling/"
      },
      {
        "claim": "Tensor parallelism requires fast internode communication (preferably InfiniBand high-speed network adapters), which is why it is unsuitable for slow/consumer interconnects.",
        "vote": "0-0",
        "source": "https://docs.vllm.ai/en/stable/serving/parallelism_scaling/"
      },
      {
        "claim": "Even within a single node, when GPUs lack NVLink interconnect (e.g. L40S), vLLM recommends pipeline parallelism over tensor parallelism for higher throughput — confirming tensor parallelism's dependence on high-bandwidth links like NVLink.",
        "vote": "0-0",
        "source": "https://docs.vllm.ai/en/stable/serving/parallelism_scaling/"
      },
      {
        "claim": "distributed-llama accelerates LLM inference by connecting home devices into a cluster using tensor parallelism with synchronization over Ethernet.",
        "vote": "0-0",
        "source": "https://github.com/b4rtaz/distributed-llama"
      },
      {
        "claim": "The architecture is split into a root node (loads model/weights, synchronizes neural-network state, forwards to workers) and worker nodes (each processes its own slice of the network, requiring no model configuration), with RAM split across all nodes.",
        "vote": "0-0",
        "source": "https://github.com/b4rtaz/distributed-llama"
      },
      {
        "claim": "It connects multiple devices over a standard Ethernet switch or router (LAN), not a specialized datacenter interconnect, targeting Linux/macOS/Windows on ARM and x86_64 AVX2 CPUs.",
        "vote": "0-0",
        "source": "https://github.com/b4rtaz/distributed-llama"
      },
      {
        "claim": "Petals runs LLMs BitTorrent-style: each user loads a small part of the model and joins a network of peers serving the other parts, distributing transformer layers across volunteer peers.",
        "vote": "0-0",
        "source": "https://github.com/bigscience-workshop/petals"
      },
      {
        "claim": "Single-batch inference on Petals runs at up to 6 tokens/sec for Llama 2 (70B) and up to 4 tokens/sec for Falcon (180B), i.e. interactive but slow speeds for very large models over distributed peers.",
        "vote": "0-0",
        "source": "https://github.com/bigscience-workshop/petals"
      },
      {
        "claim": "DiLoCo enables training language models across islands of poorly-connected devices while communicating 500 times less than fully synchronous (standard) distributed training, with equivalent final performance on 8 workers.",
        "vote": "0-0",
        "source": "https://arxiv.org/abs/2311.08105"
      },
      {
        "claim": "DiLoCo is a variant of federated averaging that uses a large number of inner steps with AdamW as the inner optimizer and Nesterov momentum as the outer optimizer (i.e., local steps + infrequent outer sync).",
        "vote": "0-0",
        "source": "https://arxiv.org/abs/2311.08105"
      },
      {
        "claim": "Prime Intellect trained INTELLECT-2, a 32-billion-parameter reasoning language model, via globally distributed reinforcement learning across a dynamic, heterogeneous, permissionless swarm of compute contributors.",
        "vote": "0-0",
        "source": "https://arxiv.org/abs/2505.07291"
      },
      {
        "claim": "Decentralized RL training over untrusted permissionless workers required a custom verification component, TOPLOC, to validate rollouts/inference outputs from untrusted workers before they are used.",
        "vote": "0-0",
        "source": "https://arxiv.org/abs/2505.07291"
      },
      {
        "claim": "INTELLECT-2 and its full code and data were open-sourced, and the model improves on QwQ-32B in the 32B reasoning category, establishing a concrete released artifact rather than a vaporware claim.",
        "vote": "0-0",
        "source": "https://arxiv.org/abs/2505.07291"
      },
      {
        "claim": "Psyche's DisTrO optimizer reduces inter-node communication via 1-bit quantization of DCT coefficients, compressing results by more than 3x on top of DeMo's order-of-magnitude reduction.",
        "vote": "0-0",
        "source": "https://nousresearch.com/nous-psyche"
      },
      {
        "claim": "DisTrO/DeMo communicates only the sign of the DCT coefficient to reconstruct the momentum matrix, which is the mechanism enabling low-communication WAN training.",
        "vote": "0-0",
        "source": "https://nousresearch.com/nous-psyche"
      },
      {
        "claim": "The Psyche network is training a 40-billion-parameter dense model (Consilience) on 20 trillion tokens over a decentralized network.",
        "vote": "0-0",
        "source": "https://nousresearch.com/nous-psyche"
      },
      {
        "claim": "Psyche uses the Iroh P2P library to establish direct peer-to-peer connections over UDP/QUIC, succeeding with direct (hole-punched) connections in roughly 90% of cases and falling back to relays otherwise.",
        "vote": "0-0",
        "source": "https://nousresearch.com/nous-psyche"
      },
      {
        "claim": "Streaming DiLoCo reduces total bits exchanged by ~400x and peak bandwidth by ~8x versus standard data-parallel training, while reaching similar loss and downstream accuracy.",
        "vote": "0-0",
        "source": "https://arxiv.org/pdf/2501.18512"
      },
      {
        "claim": "Streaming DiLoCo synchronizes only every H=100 inner steps and synchronizes parameter subsets sequentially rather than all at once, which is what slashes peak bandwidth.",
        "vote": "0-0",
        "source": "https://arxiv.org/pdf/2501.18512"
      }
    ],
    "sources": [
      {
        "url": "https://github.com/exo-explore/exo",
        "quality": "primary",
        "claimCount": 5
      },
      {
        "url": "https://blog.exolabs.net/day-1/",
        "quality": "primary",
        "claimCount": 4
      },
      {
        "url": "https://www.virge.io/en/blog/exo-mac-studio-cluster-llm/",
        "quality": "blog",
        "claimCount": 5
      },
      {
        "url": "https://aicoolies.com/reviews/exo-review",
        "quality": "secondary",
        "claimCount": 5
      },
      {
        "url": "https://www.gkservis.com/case-studies/llm-inference-cluster.html",
        "quality": "unreliable",
        "claimCount": 5
      },
      {
        "url": "https://michalasobczak.pl/ai-ml/2025/03/exo-the-gpu-cluster-tinygrad-mlx/",
        "quality": "blog",
        "claimCount": 5
      },
      {
        "url": "https://docs.vllm.ai/en/stable/serving/parallelism_scaling/",
        "quality": "primary",
        "claimCount": 5
      },
      {
        "url": "https://github.com/b4rtaz/distributed-llama",
        "quality": "primary",
        "claimCount": 5
      },
      {
        "url": "https://github.com/bigscience-workshop/petals",
        "quality": "primary",
        "claimCount": 4
      },
      {
        "url": "https://www.spheron.network/blog/what-is-nvlink-gpu-interconnect-bandwidth-explained/",
        "quality": "blog",
        "claimCount": 5
      },
      {
        "url": "https://github.com/ggml-org/llama.cpp/discussions/9136",
        "quality": "forum",
        "claimCount": 5
      },
      {
        "url": "https://arxiv.org/abs/2311.08105",
        "quality": "primary",
        "claimCount": 5
      },
      {
        "url": "https://arxiv.org/abs/2505.07291",
        "quality": "primary",
        "claimCount": 5
      },
      {
        "url": "https://nousresearch.com/nous-psyche",
        "quality": "primary",
        "claimCount": 5
      },
      {
        "url": "https://arxiv.org/pdf/2501.18512",
        "quality": "primary",
        "claimCount": 5
      },
      {
        "url": "https://www.primeintellect.ai/blog/intellect-1",
        "quality": "primary",
        "claimCount": 5
      },
      {
        "url": "https://www.primeintellect.ai/blog/opendiloco",
        "quality": "primary",
        "claimCount": 5
      },
      {
        "url": "https://arxiv.org/pdf/2507.14392",
        "quality": "primary",
        "claimCount": 5
      },
      {
        "url": "https://www.abhik.ai/concepts/gpu/nccl-communication",
        "quality": "blog",
        "claimCount": 5
      },
      {
        "url": "https://corti.com/borrowing-memory-not-speed-clustering-a-mac-studio-and-a-dgx-spark-with-exo/",
        "quality": "blog",
        "claimCount": 5
      },
      {
        "url": "https://epoch.ai/gradient-updates/how-far-can-decentralized-training-over-the-internet-scale",
        "quality": "primary",
        "claimCount": 5
      },
      {
        "url": "https://sharedllm.org/blog/sharedllm-vs-petals-vs-exo.html",
        "quality": "blog",
        "claimCount": 5
      },
      {
        "url": "https://medium.com/@leif.markthaler/deep-dive-exo-distributed-ai-inference-on-consumer-hardware-068e341d8e3c",
        "quality": "blog",
        "claimCount": 5
      },
      {
        "url": "https://www.ahmadosman.com/blog/do-not-use-llama-cpp-or-ollama-on-multi-gpus-setups-use-vllm-or-exllamav2/",
        "quality": "blog",
        "claimCount": 4
      },
      {
        "url": "https://arxiv.org/abs/2509.26182",
        "quality": "primary",
        "claimCount": 4
      },
      {
        "url": "https://research.yandex.com/blog/petals-decentralized-inference-and-finetuning-of-large-language-models",
        "quality": "primary",
        "claimCount": 5
      },
      {
        "url": "https://arxiv.org/html/2603.05692v1",
        "quality": "primary",
        "claimCount": 5
      }
    ],
    "stats": {
      "angles": 6,
      "sources": 27,
      "claims": 131,
      "verified": 25,
      "confirmed": 0,
      "killed": 25
    }
  }
}