← All research topicsGitHub
Research topic

Decentralised training systems

Gossip, local SGD, pipelines, checkpoints and shared rollouts on unreliable, heterogeneous workers.

23 projects, each with its own page, code and tests. See them on the full research index.

How far over its limit can a rate limiter be pushed in a true rolling window?

research/ratelimit-burst · 7 tests

How far over its limit can a rate limiter be pushed in a true rolling window? Adversarial search over fixed window, sliding log, sliding-window counter, token bucket and leaky bucket: only the sliding log holds the limit; the sliding counter admits up to about 1.5 L and the buckets nearly 2 L, and under Poisson overload at 1.5x load 39-47% of rolling windows exceed the limit for fixed window and buckets. Stylised.

Abstract

A stylised free-choice study of five limiters configured as L requests per window W, by adversarial search on an integer tick clock and a Poisson overload test. Only the sliding log never admits more than L in a rolling window. The sliding-window counter admits up to about 1.4–1.5L (1.40, 1.45, 1.48 for W = 20, 40, 100), and token and leaky buckets admit 1.90–1.98L; fixed window reaches 2L. At 1.5× offered Poisson load, 47% of rolling windows exceed L for fixed window, 39% for the buckets, 8.8% for the sliding counter and none for the sliding log. The searches give lower bounds, not proofs; one client, no distributed state.

What can one stubborn node do to gossip training?

research/gossip-consensus · 7 tests

Pairwise gossip for decentralised training: exact contraction (n−2)/(2(n−1))≈½ per matching round (~20 rounds at any n), noise floor (n−1)(n−2)s²/n, one stubborn node captures consensus at rate 1−1/(n(n−1)), trust-region clipping caps drift at τ/(n(n−1)) per step.

Abstract

Pairwise gossip averaging as a stand-in for all-reduce: disagreement contracts by exactly (n−2)/(2(n−1)) ≈ ½ per matching round (about 20 rounds at any n), the noise floor is (n−1)(n−2)s²/n (matched to 0.3%), a single stubborn node captures the honest mean at exact rate 1−1/(n(n−1)), and a trust-region clip turns capture into linear creep of at most τ/(n(n−1)) per step. Stylised.

What does infrequent averaging do to the answer?

research/local-sgd-bias · 8 tests

Local-SGD/DiLoCo-style averaging on heterogeneous quadratics: exact fixed point with saturating weights 1-(1-ηa_i)^H, non-monotone bias to the unweighted mean, exact a_i/w_i correction, step-count inflation moves the fixed point 0.50→0.91, wall-clock-optimal sync interval.

Abstract

Local-SGD / DiLoCo-style averaging of heterogeneous quadratic workers has a closed-form fixed point: a weighted mean of the workers' optima with weights 1−(1−ηai)H that saturate, so it is exactly unbiased at H=1, forgets curvature as H grows (converging to the unweighted mean), and is non-monotone in between. Weighting by ai/wi removes the bias exactly; if the server trusts claimed step counts, a low-curvature worker moves the fixed point from 0.50 to 0.91 by claiming 100 steps instead of 5, tying communication savings to verified work. Wall-clock-optimal H under a bias tolerance is 5.7× faster than H=1 at moderate comm cost, with a non-interval feasible set. Noise formulas match Monte Carlo. Stylised.

How often should preemptible workers checkpoint?

research/churn-checkpointing · 8 tests

Checkpoint interval for preemptible decentralised training: exact Lambert-W optimum independent of restart cost, Young/Daly overshoot 5–25%, flat within 2×, synchronous efficiency wall (50% at n≈691), flaky workers cut throughput 5×.

Abstract

Exact checkpoint interval under Poisson churn: w* = (1+W0(−e−1−λC))/λ, independent of restart cost, with Young/Daly overshooting by 5–25%; intervals within 2× cost under 3.5%; a synchronous job on n workers restarts at rate nλ so efficiency falls to 50% near n≈700, and admitting flaky workers cut throughput five-fold. Stylised.

Should a pipeline replicate stages or skip them?

research/pipeline-replication · 11 tests

Replicate or skip? pipeline stages on unreliable workers: exact binomial drop law, replicas cannot beat the shared-domain floor (1−ρ)^L, a 4-stage skip budget halves workers for a 1e-3 drop rate (240 → 96), cost-optimal design shifts from skipping to replication as skips get costly.

Abstract

A microbatch crosses L stages held by workers that come and go. The drop probability is the exact binomial tail P(Bin(L,q)>s) with stage outage q = ρ + (1−ρ)(1−a)r, so replicas cannot lift success above the shared-domain floor (1−ρ)L: at L=48, ρ=10−3 no r reaches a 1% drop rate, but allowing one skipped stage makes r=3 enough. At a=0.9 a four-stage skip budget cuts the workers for a 10−3 drop rate from 240 to 96; under a per-skip quality loss κ the cost-optimal design is skip-heavy for cheap skips and moves to replication as κ grows (gain over no-skip 2.9× down to 1.08×). Independent outages, multiplicative skip penalty. Stylised.

How should a model be cut across devices of unequal speed?

research/hetero-pipeline · 8 tests

Cutting a model across heterogeneous devices: exact greedy bottleneck partition (matches DP, with memory caps), W/V ≤ T* < W/V + m·w_max/V, speed-blind splitting costs exactly v̄/v_min (2.4× at σ=0.5), device order is the residual decision (sorts no better than arbitrary, swap search within 1.1%), memory inverse to speed costs 1.7×.

Abstract

For a fixed pipeline order, greedy filling is an exact test of a target stage time (agreeing with an independent dynamic program, with and without memory caps), and every order satisfies W/V ≤ T* < W/V + m wmax/V. A speed-blind equal split costs exactly v̄/vmin times the lower bound (2.40× at log-speed spread 0.5, 8.25× at 1.0) while speed-aware cutting stays within 1.4% at 240 layers. What is left is the device order: at 14 layers and 6 devices the worst order is 1.34× the best, fast-first and slow-first sorts do no better than an arbitrary order (all about 1.16× optimal), and pairwise-swap search gets within 1.1%; the penalty fades to 1.03× at 224 layers. Memory that shrinks as speed grows inflates the bottleneck 1.7×. No communication cost, static speeds.

What does it cost to skip the slowest workers?

research/straggler-backup · 10 tests

Waiting for the fastest k of n workers: exact order-statistic round times (Pareto mean finite iff n−k+1 > 1/α), exact SGD time-to-accuracy with a minimum k and an interior optimum (34× over wait-for-all at s=0, 1.12× at s=32), joint step tuning, and the exact selection bias of the speed filter with Horvitz–Thompson correction.

Abstract

Waiting for the fastest k of n workers has exact round time s + (Hn−Hn−k)/μ for exponential tails, and for Pareto tails the mean is finite iff n−k+1 > 1/α, so with α ≤ 1 waiting for everyone has infinite expected round time. For SGD on a quadratic the time to accuracy has a minimum k and an interior optimum (34× faster than waiting for all at zero fixed cost, 1.12× at large fixed cost). If speed correlates with data, the fastest-k average is biased by Σ(πi/k−1/n)θi; Horvitz–Thompson reweighting removes it but only pays when the bias is large.

Does a bigger swarm learn more from shared rollouts?

research/rollout-commons · 7 tests

Rollout sharing in swarm RL as a public-goods game: Nash gives every agent a lone agent's learning level whatever N (total effort caps at (a/c−1)/θ) while efficient welfare is 4.5× at N=256; at θ=1 one agent generates; a Pigouvian matching subsidy (fraction θ(N−1)/(1+θ(N−1)) of cost) implements the optimum; junk beats honesty iff c−ε > p(τ+F).

Abstract

Not without incentives. With diminishing returns and a peer-rollout discount θ, symmetric Nash play gives every agent exactly the learning level of a lone agent whatever the swarm size (total effort caps at (a/c−1)/θ), while the efficient level grows linearly in N: welfare per agent is 4.5× higher at N=256. At θ=1 a single agent generates everything. A Pigouvian matching subsidy covering θ(N−1)/(1+θ(N−1)) of cost implements the optimum exactly, and junk rollouts beat honesty iff c−ε > p(τ+F).

How stale can a shared rollout be before it is worthless?

research/stale-rollouts · 7 tests

Stale off-policy rollouts in swarm RL: exact importance-weight moments (E w²=e^{δ²}, ESS fraction e^{−δ²}), closed-form truncation bias/variance verified by simulation, best cap cuts shift-estimation MSE 1.9× at δ=1 and ~750× at δ=3, and the staleness window √ln(1/ρ)/drift.

Abstract

With Gaussian policies whose mean has moved by δ standard deviations, the importance weight has exact moments E w = 1 and E w² = eδ², so the effective-sample fraction is e−δ² (0.37 at δ=1) and a learner needing fraction ρ accepts a lag of √ln(1/ρ)/drift policy versions. Truncating weights has closed-form lost mass, bias and variance (matched by simulation); the best cap cuts the mean-shift estimator’s MSE 1.9× at δ=1, 12.8× at δ=2 and about 750× at δ=3, and finite-sample ESS is optimistic once weights are heavy-tailed. Equal-variance Gaussians, one statistic.

How fast does a shared model forget a task, and does splitting it into modules help?

research/forgetting-law · 9 tests

Exact catastrophic-forgetting law for sequential training on random low-rank tasks: (r/d)(1−r/d)(ρᵏ−λᵏ) rises then vanishes, uniform module routing dilutes it but sharing wins on seen-plus-fresh loss, conflicting tasks leave a floor 2rτ²/d.

Abstract

Training to convergence on random rank-r tasks in Rd is a projection, and the expected loss on a task learned k tasks ago is exactly (r/d)(1−r/d)(ρk−λk): zero when learned, a peak (0.044 at d=12, r=3, lag 2.5) at a lag near 0.7d/r, then decay because the tasks agree; matched by simulation to the third decimal. Routing tasks to m modules dilutes both rates by m and cuts short-horizon forgetting (5.9× at T=4, m=8) but a single shared model minimises seen-plus-fresh loss at every horizon tried, and two modules forget more than one at T=12. With conflicting tasks forgetting has a floor 2rτ²/d that only task-specific modules remove. Stylised: linear regression, exact convergence, isotropic tasks.

How should independently trained modules be merged, and how much does parallel training buy?

research/merge-law · 7 tests

Merging independently trained modules on random low-rank tasks: exact residual 1−2amp+a²(mp+m(m−1)p²), optimal scale 1/(1+(m−1)p) (averaging stalls at (1−p)², unscaled sum diverges), harmonic 1/m decay, parallel speedup only logarithmic (8.9× at m=16, d/r=8).

Abstract

Averaging m modules trained to convergence on random rank-r tasks has an exact residual error 1−2amp+a2(mp+m(m−1)p2) with p=r/d, needing only isotropy. The optimal scale is 1/(1+(m−1)p) and leaves (1−p)/(1+(m−1)p): plain averaging stalls at (1−p)2 (0.78 vs 0.47 at m=8, d/r=8) and unscaled task arithmetic diverges (56 at m=64). The decay is harmonic, not geometric, so m parallel workers give a wall-clock speedup that grows only logarithmically (8.9× at m=16, 17× at m=64) and halves in efficiency near m≈d/r×2.5. Seen and fresh losses are closed forms matched by simulation. Stylised: linear regression, exact convergence, consistent isotropic tasks.

When should a continual learner replay an old task, and does a fixed schedule beat random replay?

research/replay-law · 8 tests

Exact expected forgetting under replay schedules in sequential training on random low-rank tasks: 2×2 matrix recursion matches simulation, one replay is best at the forgetting-peak lag yet removes only 25–42%, a fixed period beats random replay only below ~1.2–3 peak lags, halving forgetting needs rate 0.25 (d=12, r=3) to 0.015 (d=128, r=1).

Abstract

Replaying a task alongside each fresh one is a joint projection, so the expected loss on a tracked task is an exact product of 2×2 matrices for any schedule (matched to simulation at every step; recovers the no-replay law). One replay is best at the forgetting-peak lag — 5 at d=32, r=4; 89 at d=128, r=1 — yet removes only 25–42% of total forgetting (replaying at step 1 barely helps at small r/d). A period longer than the peak lag never touches the peak, and a fixed period beats random replay at the same rate only below roughly 1.2–3 peak lags (e.g. 1/8 at d=32, r=4, but random wins at 1/12). Halving forgetting needs a rate 0.25 at d=12, r=3 and 0.015 at d=128, r=1; tasks with 2r≥d are fully recovered by one replay. Stylised: realizable linear regression, exact convergence, one tracked task.

How much of an old task must a continual learner store, and is it better to replay a little often or a lot rarely?

research/replay-memory · 8 tests

Partial replay when only m of an old task's r examples are stored: exact 2×2 law interpolating no replay and full replay, best-step saving nearly linear in m/r, and at a fixed example budget a few large replays beat many small ones by only 0.1–6 points.

Abstract

If only m of an old task’s r examples are stored, replaying them with a fresh task is “project out the stored subspace, then take a plain step in dimension d−m”. That gives an exact 2×2 mean-state matrix interpolating no replay (m=0) and full replay (m=r, matched to replay-law to 12 digits), agreeing with simulation at every step. One replay at its best step recovers a fraction of the full saving that is nearly linear in m/r (0.23, 0.47, 0.72 at ¼, ½, ¾ for d=12, r=4; within 0.004 of m/r at d=128, r=8). At a fixed rate, half the memory buys 57–65% of the saving. At a fixed budget of examples per step, one large replay beats many small ones, but only by 0.1–2 points of total forgetting in wide models and up to 6 in a tight one (d=12, r=4), so buffer size matters more than schedule. Stylised: realizable linear regression, exact convergence, one tracked task.

When continual-learning tasks conflict, how much does a task-aware router of modules actually buy?

research/router-impurity · 8 tests

Task-aware routing when continual-learning tasks conflict: the long-run floor is (2r/d)[τ_w²+τ_b²(1−Purity)] with purity = 1 − the router's Gini impurity, random modules buy nothing, a perfect router removes (m−1)/(K−1) of the between-cluster floor, and a 10% routing error gives back 36%.

Abstract

With cluster-structured conflicts, the long-run loss on an old task is exactly (2r/d)[τw² + τb²(1 − Purity)], where Purity is one minus the router’s expected Gini impurity (matched to simulation within 0.3–2.3% across six routers). Random routing to any number of modules leaves the whole floor; a perfect router onto m modules removes exactly (m−1)/(K−1) of the between-cluster floor, so half needs 5 of 8 clusters’ worth of modules; and a routing error q costs 2q of impurity at first order (10% error returns 36% of the shared-model floor at K=8, 25% returns 59%). Purity is auditable with an unbiased pair-collision estimator. Stylised: realizable linear regression, exact convergence, Gaussian cluster centres, hard routing.

How should the outer optimiser and sync interval be set when workers run H local steps per round?

research/outer-momentum · 9 tests

DiLoCo-style outer momentum: H inner steps precondition the outer quadratic (κ_H ≈ κ/H), exact per-mode rates, optimal momentum falls 0.88 → 0.01 with H (fixed 0.7/0.9 Nesterov needs 4–8× more rounds), and the wallclock-optimal sync interval is H* ≈ C (sync cost in inner steps), worth ≈ √C/2.

Abstract

On a quadratic, H inner steps make the outer optimiser see curvatures 1 − (1 − ηa)H, which saturate at 1: the outer condition number shrinks from κ to about κ/H (1000 → 16.1 at H=64). Per-round rates are exact 2×2 spectral radii (matching literal simulation), the tuned heavy-ball outer step puts every mode at exactly √β*, and the best momentum falls from 0.88 at H=1 to 0.01 at H=1024, so a fixed Nesterov 0.7/0.9 needs 4–8× more rounds. With a sync costing C inner steps, the wallclock-optimal interval is H* ≈ C, worth about √C/2 over syncing every step (16× at C=1000), while plain averaging has no interior optimum. Stylised: noiseless quadratic with a shared Hessian.

How much gradient noise survives in DiLoCo-style local SGD, and how should the outer step, momentum, worker count and sync interval be set against it?

research/noisy-local-sgd · 9 tests

Noise floor of DiLoCo-style local SGD: exact stationary loss αV(1+β)/((1−β)s(2(1+β)−αs)), independent of H at α=1, momentum free at equal effective step, near-linear speedup in M, and a noise-limited sync interval that grows as the floor target falls.

Abstract

On a quadratic with M workers, H noisy inner steps and a heavy-ball outer step, the stationary variance per mode is exactly αV(1+β)/((1−β)s(2(1+β)−αs)) with V the averaged inner noise and s = 1 − (1 − ηa)H, matching literal simulation to 0.2%. At α = 1 the floor is independent of H; for small α more local steps shrink it by less than a factor of 2. Momentum costs no extra floor at equal effective step (and lowers it at large steps), workers give near-linear speedup (331× at M = 256, α still below 1), and unlike the noise-free case the best sync interval grows as the noise-floor target falls (H* = 5, 11, 38 at C = 10), up to 41× faster than syncing every step. Stylised: quadratic, Gaussian noise, shared Hessian, fixed α.

What happens to local SGD when workers drop in and out?

research/partial-participation · 11 tests

Local SGD when workers drop in and out: exact floors for participant averaging (E[1/K|K≥1]) and expected-count normalisation (stable iff αsc<2), at matched speed the fixed normaliser is quieter by E[K]E[1/K] at small steps, and reliable workers bias the fixed point unless inverse-propensity weighted.

Abstract

Each of N workers joins a round with probability p. Averaging the participants has exact stationary variance αVwm/(s(2−αs)) with m = E[1/K | K≥1]; dividing by the expected count instead is stable only for αs < 2/c, c = 1+(1−p)/(Np), and cannot contract faster than 1−1/c per round (0.22 at N=32, p=0.1). At matched speed the fixed normaliser is quieter at small steps by E[K|K≥1]·E[1/K|K≥1] (1.34×), and averaging wins only at fast rates. Reliable workers bias the fixed point (0.467 instead of 1.000 in our example) unless displacements are inverse-propensity weighted. Matched to simulation within 0.5%. Stylised.

What does compressing the pseudo-gradient cost local SGD, and is it better than syncing less often?

research/compressed-sync · 9 tests

Local SGD with compressed displacements: exact floor (1+ω) and stability limit αs(1+ω/N)<2 for rand-k (more workers restore the step, not the floor), closed form for norm-scaled quantisation, and at equal bytes syncing less often beats compressing.

Abstract

Unbiased compression of each worker's displacement (rand-k, relative variance ω) gives an exact stationary variance αVw(1+ω)/(N s((2−αs)−αsω/N)) and shrinks the stable outer step to 2/(s(1+ω/N)): more workers restore the step (0.47 → 2.44 for ω=99, N=16 → 256) but never the floor, which stays (1+ω)×. Norm-scaled (QSGD-style) quantisation has a closed form through one scalar T = E|d|2; at equal error energy its loss equals coordinate-wise at H=1 and is about 10% worse at H=16, with the stiff mode's variance doubling. For equal bytes, syncing 1/ρ times less often leaves the floor unchanged at α=1 while keeping a fraction ρ multiplies it by 1/ρ. Matched to simulation within 2%. Stylised: quadratic, shared curvature (no client drift), unbiased compressors only.

How much outer step does overlapping communication with compute cost, and how many rounds should be in flight?

research/delayed-outer · 11 tests

Overlapping communication in local SGD with τ-round-late outer updates: exact stable step 2 sin(π/(4τ+2)) (shrinks ~1/τ), double-root rate τ/(τ+1), exact noise floor matched to simulation, free at small steps, wall-clock-optimal delay ⌈L/T_c⌉ (1.9–7.5× faster than no overlap).

Abstract

Applying the averaged displacement τ rounds late obeys zτ+1 − zτ + c = 0 with c = αs, so the stable step is exactly c < 2 sin(π/(4τ+2)) ≈ π/(2τ+1): 2, 1, 0.62, 0.45 for τ = 0…3, shrinking like 1/τ. The fastest single-mode rate is the double root τ/(τ+1), and the stationary noise floor is an exact Yule–Walker solve (closed form (1+c)/((1−c)c(2+c)) at τ = 1) that matches literal delayed-DiLoCo simulation to 0.3%. Delay is free at small steps (+1% at α = 10−3, τ = 4) but multiplies the floor by 3.9× at c = 0.8. At an equal floor each delay round costs only about 6% more rounds, so the wall-clock-optimal delay is exactly ⌈latency / compute time⌉ (1.9–7.5× faster than no overlap). Stylised: constant delay, identical workers, quadratics, no momentum.

Does error feedback rescue the noise floor that compressed local SGD loses?

research/error-feedback-sync · 9 tests

Error feedback in compressed local SGD: exact stability limit 2(2−ρ)Nρ/(Nρ²+4(1−ρ)) and closed-form floor that returns to the uncompressed one at small steps (unbiased compression pays 1/ρ), dropping is biased to the send-rate-weighted mean and the residual removes it at a variance price.

Abstract

Workers keep the unsent part of their displacement and add it to the next message. On a quadratic with random sparsification the second moments close exactly: stability requires αs < 2(2−ρ)Nρ/(Nρ2+4(1−ρ)) — half the unbiased limit for a single worker, above the uncompressed limit for large cohorts — and the floor has a closed form that returns to the uncompressed one at small steps (1.08× at ρ=¼ where unbiased compression pays 4×) while the mean keeps its speed. What the residual buys is unbiasedness: dropping converges to the send-rate-weighted mean, feedback to the true mean, but at a variance that only pays off for very small steps. Top-k is simulation only; stylised quadratics.

How should a server weight workers that ran different numbers of inner steps?

research/heterogeneous-steps · 9 tests

Weighting workers that ran different numbers of inner steps: exact floor α²Σw²V/(r(2−r)), worker information I∞·tanh(λH/2) saturates, optimal weights span ≤2× so equal weights lose ≤9/8 (measured ≤1.09) while step-proportional weights lose up to 1.76× per mode and 10.5× on three modes.

Abstract

With worker i running Hi steps, weighted averaging has exact floor α2Σwi2Vi/(r(2−r)), r = αΣwisi. One worker's information is I∞tanh(λH/2): H=8 carries 20% of the ceiling and H=64 93%, so a fast device is worth far less than its step count. Information-optimal weights span at most 2×, hence equal weights lose at most 9/8 (measured ≤1.09), whereas step-proportional (FedAvg-style) weights lose up to 1.76× per mode and 10.5× on three modes when one worker in eight is 256× faster. Matched to simulation within 1%. Stylised: quadratic, shared optimum (no client drift), fixed Hi.

What does a median or trimmed-mean outer step cost local SGD, and what does it buy against Byzantine workers?

research/robust-outer · 11 tests

Median and trimmed-mean outer aggregation in local SGD: exact linear loop with floor and bias split, π/2 variance price with no attackers, bounded worst-case bias Φ(z)=1/(2(1−ε)) that more workers cannot average away but a longer inner loop shrinks.

Abstract

Because the median and trimmed mean commute with shifts, the outer loop stays exactly linear: floor αVwv/(s(2−αs)) plus a bias Vwm2/s2, with the same stability limit as averaging. With no attackers the median costs N·Var = 1.35 to 1.56 (→ π/2). With a fraction ε of attackers its bias is bounded (Φ(z) = 1/(2(1−ε)): 0.18 noise-sigmas at ε = 1/8) and beats averaging once the attack offset exceeds about 1.4 sigmas; more workers shrink only the variance part (total loss 0.103 → 0.102 from N=8 to 128), while a longer inner loop shrinks the bias (39× from H=1 to 256). Trimming exactly the attacker count is worse than the median. Matched to simulation within 1.3%. Stylised: quadratic, Gaussian noise, shared curvature, constant-offset attackers.

Which of sync interval, compression, delay, momentum and robust aggregation sets the final loss of low-communication training?

research/lowcomm-training · 19 tests

Research programme (proposal stage): a predictive theory of DiLoCo-style low-communication training, testing on real small transformers the closed forms derived in about a dozen quadratic-model projects, with 16 references, hypotheses H1 to H6 and an ICML/NeurIPS workshop as the first target

Abstract

An open research programme rather than a finished project. DiLoCo-style training cuts communication by orders of magnitude, but choosing the sync interval, compressor and outer optimiser is still a sweep at every scale, and the best empirical scaling laws do not say why one axis costs more than another. This repository holds about a dozen closed-form results on a quadratic with gradient noise (a noise floor inflated by 1+ω under compression, a delay stability limit 2 sin(π/(4τ+2)), an optimal outer momentum that falls with the sync interval, a median that costs π/2 in variance). The programme asks whether those structural factors survive on trained transformers and compose, so that two or three measured constants per model size predict the final loss of configurations never run, as well as a refitted scaling law does. Six falsifiable hypotheses each state the result that would refute them. Milestone 1 is done: a simulated M-worker DiLoCo harness on a 0.41M-parameter GPT reproduces the synchronous loop exactly at M=1, H=1 and the quadratic closed form to 2% (ratio 0.983, 95% CI containing it). No result on the research question yet; the proposal's citations are not yet machine-checked because the registries were unreachable.

Other research topics

Proper scoring & elicitation28Effort & peer prediction9Verification games & slashing19Detection & tolerances14Markets as routers13Prediction-market design9Paying contributors8Decentralised training systems23Digital twins & sim-to-real164LLM chip design loops40Robot manufacturing loops53Ambient AI assistant46Self-replicating manufacturing34Simulation-first design64Engineered clothing45Task-specific AI accelerators40Algorithmic chip-design loops42Open-source purpose-built robots44The software-engineering loop43Adversarial human imitation41Open-source residential construction41Autonomous multi-angle capture34Sensing, imaging and 3D31Energy supply and dense energy storage39Robot societies among people31Agentic co-design of low-cost robots27Laundry-hanging robots25Machine learning on qualitative data23Robots on the building site27Civilizations & group psychology1History & human sciences1

Produced with AI assistance (Claude). Results are from the code in this repository and are simulated or stylised unless the abstract says otherwise; nothing here implies affiliation with or endorsement by any lab, researcher or company cited. MIT licensed.