Registry

[training topologies]

Training topologies

How members train together: roles, slots and the steps of a round. Studio compiles a topology into a run; a template binds one by exact version.

13 of 13 visible
builtin

Synchronous DiLoCo

@beam/diloco

H local steps per round on workers with optimizer state, an outer aggregation on the lead and a broadcast of the merged model.

activestaticdistributed rundilocoroundsstateful
builtin

DiLoCo (elastic)

@beam/elastic-diloco

One role holds run.lead, data.grant and the model; members join and leave and pull data units (the CR-2 star).

activeelasticdistributed rundata-grantsdilocoelastic
builtin

Federated averaging

@beam/fedavg

Rounds of local training on every worker, a tree all-reduce merge of their models and a stop on the training loss.

activestaticdistributed runall-reducefederated-averagingrounds
builtin

Federated averaging on bucket data

@beam/fedavg-data

Rounds of training on a room bucket prefix; each worker trains on its own share of the files (kept across rounds), then a tree all-reduce merge and a stop on the training loss.

activestaticdistributed runall-reducebucket-datafederated-averaging
builtin

FedAvg (live session)

@beam/fedavg-live

A server holds run.lead and the model; a fixed cohort of clients trains each round and the server averages every client's update (quorum = all clients).

activestaticdistributed runfederated-averaginglive-sessionstar
builtin

Gossip ring

@beam/gossip-ring

Each worker keeps its model and mixes in its ring predecessor's every iteration, then all workers merge the final models.

activestaticdistributed rungossipringrounds
builtin

Scored subnet

@beam/scored-subnet

Miners pull data shards and send gradients on a broadcast lane; validators observe every gradient, score it and send signed scores to the model holder, which merges the round weighted by the median of their scores. A round nobody scored is weighted by units. Validators need the runs.observe and runs.score room permissions and join by invite only.

activeelasticdistributed runbittensordata-grantselastic
builtin

Split authorities

@beam/split-authorities

The run lead is not the aggregator: two stars share the trainers.

activeelasticdistributed rundata-grantselasticlive-session
builtin

DiLoCo (fixed cohort)

@beam/static-diloco

One role holds run.lead and the model; a fixed cohort contributes without data grants (the CR-1 star).

activestaticdistributed rundilocolive-sessionstar
builtin

Subnet (miners and validators)

@beam/subnet

Shaped like a Bittensor training subnet; miners pull data shards and send gradients to the model holder; validators send their scores of the miners to a consensus holder that merges them into weights each round (the tempo). Members register and leave freely.

activeelasticdistributed runbittensordata-grantselastic
builtin

Subnet with observing validators

@beam/subnet-observed

Miners pull data shards and send gradients to the model holder on a broadcast lane; validators receive every gradient (and every model version) to score the miners. Validators need the runs.observe room permission and join by invite only (CR-3).

activeelasticdistributed runbittensordata-grantselastic
builtin

Hyperparameter sweep

@beam/sweep

A fan-out over sweep points from a common baseline, one merged model per point, then a final merge.

activestaticdistributed runhyperparameter-sweeproundssynthetic
builtin

Two models

@beam/two-models

Two lanes from the same trainers to two state holders, one with data grants and one without.

activeelasticdistributed rundata-grantselasticlive-session