Comments (3)
Hi Matthew, thank you for your question.
When a new node joins the cluster, the amount of nodes changes in the system and we need to redistribute ranks. The safes way to do that is to stop all the workers that run the user training scripts and perform rank distribution.
Please look at the example https://github.com/pytorch/elastic/blob/master/examples/imagenet/main.py to see how you can implement checkpointing now.
from elastic.
@Tierex thanks for your answer! I actually was using the imagenet code as a sanity check.
Just to make sure I understand you, when a node joins and we redistribute ranks, we use the most recent checkpoint to restore state everywhere. If there is no checkpoint yet, but we were partially through an epoch we would lose the partial progress of that epoch when ranks are redistributed.
Is that accurate?
from elastic.
Yes, @mttcnnff this is correct. Currently, torchelastic is agnostic about user scripts, as a result we cannot wait while epoch finishes when the cluster membership change occurs. Eventually, we are planning to fix it, I created a feature request to keep track of this issue: #98
from elastic.
Related Issues (20)
- Elastic agent doesn't detect worker failures in NCCL HOT 4
- Pytorch Lightning with TorchElastic - One worker doesn't start HOT 3
- Enable NCCL_ASYNC_ERROR_HANDLING in Torchelastic HOT 1
- Torch Elastic - How to make sure all nodes are in the same AZ? HOT 2
- Support PyTorch 1.8, TorchVision 0.9.0 and TorchAduio 0.8.0 HOT 7
- ModuleNotFoundError: No module named 'torch.distributed.elastic' HOT 4
- Out of Data documentation HOT 4
- Imagenet example fails during accuracy calculation (v0.2.2 on 1.8.1) HOT 1
- Cannot reuse --rdzv_id between different elastic launch ?
- EtcdStore: AttributeError: can't set attribute HOT 1
- Kubernetes CustomResourceDefinition Moving out of Beta HOT 4
- submodule path docs/src/pytorch-sphinx-theme not in .gitmodules
- [feature request] petctl to support pulling script directory from github repo by commit or tag
- Is petctl also deprecated?
- [feature request] Add CPU example HOT 2
- Kubernetes: ttlSecondsAfterFinished not working in ElasticJob spec
- rendezvous: _matches_machine_hostname doesn't resolve hostnames fully HOT 2
- Please add more torch elastic training examples
- RuntimeError: Expected all tensors to be on the same device, but found at least two devices HOT 4
- [examples/imagenet/main.py] Why doesn't elastic code contain gpu sync to compute performance, e.g. all_reduce
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from elastic.