|
před 5 roky | |
---|---|---|
.circleci | před 5 roky | |
tesseract | před 5 roky | |
tests | před 5 roky | |
.gitignore | před 5 roky | |
CONTRIBUTING.md | před 5 roky | |
LICENSE | před 5 roky | |
README.md | před 5 roky | |
requirements.txt | před 5 roky | |
setup.py | před 5 roky |
Distributed training of large neural networks across volunteer computers.
[WIP] - this branch is in progress of updating. If you're interested in supplementary code for Learning@home paper, you can find it at https://github.com/mryab/learning-at-home .
Currently, there isn't any way to do it easily. There are some tests (you can look into CI logs and/or config) and we want to expand them, but if you want to do something complex with it, you're on your own.
Trainer process:
RemoteExpert
(tesseract/client/remote_expert.py
) behaves like a pytorch
module with autograd support but actually sends request to a remote runtime.GatingFunction
(tesseract/client/gating_function.py
) finds best experts
for a given input and either returns them as RemoteExpert
or applies them
right away.Runtime process:
TesseractRuntime
(tesseract/runtime/__init__.py
) aggregates batches
and performs inference/training of experts according to their priority.TesseractServer
(tesseract/server/__init__.py
) wraps runtime and
periodically uploads experts into TesseractNetwork
.DHT:
TesseractNetwork
(tesseract/network/__init__.py
) is a node of
Kademlia-based DHT that stores metadata used by trainer and runtime.DHT: