This will eventually become a tutorial on how to host a hivemind node or connect to an existing node.
Currently, there is no way to do it easily. There are some tests (you can check ./tests/benchmark_throughput.py
or look into CI logs) and we want to expand them. If you want to
do something complex with it, please contact us by opening an issue (less preferred: telegram).
hivemind
quick tourTrainer process:
RemoteExpert
(hivemind/client/remote_expert.py
) behaves like a pytorch
module with autograd support but actually sends request to a remote runtime.RemoteMixtureOfExperts
(hivemind/client/remote_moe.py
) finds best experts
for a given input and either returns them as RemoteExpert
or applies them
right away.Runtime process:
Runtime
(hivemind/runtime/__init__.py
) aggregates batches
and performs inference/training of experts according to their priority.Server
(hivemind/server/__init__.py
) wraps runtime and
periodically uploads experts into DHTNode
.DHT:
DHTNode
(hivemind/dht/__init__.py
) is a node of
Kademlia-based DHT that stores metadata used by trainer and runtime.DHT:
Runtime: