Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a 3-stage PP config #345

Closed
wants to merge 9 commits into from
Closed

Conversation

wconstab
Copy link
Contributor

@wconstab wconstab commented May 18, 2024

Stack from ghstack (oldest at bottom):

Pipelining is unique in that there is no need to stick to power-of-2
numbers of stages, and there maybe reasons an odd number is optimal
depending on how you divide up your cluster.

Anyway, I use this for validation of the 1f1b schedule in a slightly-more-complicated
than 2-stage but simpler than 4-stage setup.

seems to run fine, if run with an even batch size
(--training.batch_size 12)

[ghstack-poisoned]
@facebook-github-bot facebook-github-bot added the CLA Signed This label is managed by the Meta Open Source bot. label May 18, 2024
wconstab added a commit that referenced this pull request May 18, 2024
Pipelining is unique in that there is no need to stick to power-of-2
numbers of stages, and there maybe reasons an odd number is optimal
depending on how you divide up your cluster.

In any case, I only discovered this was not working when I tried to use
it for validation of the 1f1b schedule in a slightly-more-complicated
than 2-stage but simpler than 4-stage setup.

I ran into issues with DCP loading my initial seed checkpoint.

ghstack-source-id: 4d6072eb3e8adc1431afa27fb552c72ba4c26967
Pull Request resolved: #345
[ghstack-poisoned]
wconstab added a commit that referenced this pull request May 18, 2024
Pipelining is unique in that there is no need to stick to power-of-2
numbers of stages, and there maybe reasons an odd number is optimal
depending on how you divide up your cluster.

Anyway, I use this for validation of the 1f1b schedule in a slightly-more-complicated
than 2-stage but simpler than 4-stage setup.

ghstack-source-id: e7a6f933be1d765425f755332a2305c3f8787904
Pull Request resolved: #345
wconstab added a commit that referenced this pull request May 18, 2024
Pipelining is unique in that there is no need to stick to power-of-2
numbers of stages, and there maybe reasons an odd number is optimal
depending on how you divide up your cluster.

Anyway, I use this for validation of the 1f1b schedule in a slightly-more-complicated
than 2-stage but simpler than 4-stage setup.

seems to run fine, if run with an even batch size
(`--training.batch_size 12`)

ghstack-source-id: e7a6f933be1d765425f755332a2305c3f8787904
Pull Request resolved: #345
[ghstack-poisoned]
wconstab added a commit that referenced this pull request May 20, 2024
Pipelining is unique in that there is no need to stick to power-of-2
numbers of stages, and there maybe reasons an odd number is optimal
depending on how you divide up your cluster.

Anyway, I use this for validation of the 1f1b schedule in a slightly-more-complicated
than 2-stage but simpler than 4-stage setup.

seems to run fine, if run with an even batch size
(`--training.batch_size 12`)

ghstack-source-id: b6fd58261ae7d38107cf81718bfbb8bfd40acba5
Pull Request resolved: #345
[ghstack-poisoned]
wconstab added a commit that referenced this pull request May 20, 2024
Pipelining is unique in that there is no need to stick to power-of-2
numbers of stages, and there maybe reasons an odd number is optimal
depending on how you divide up your cluster.

Anyway, I use this for validation of the 1f1b schedule in a slightly-more-complicated
than 2-stage but simpler than 4-stage setup.

seems to run fine, if run with an even batch size
(`--training.batch_size 12`)

ghstack-source-id: f447b55db41fa474b9882aedc7d618ca88f9d9ff
Pull Request resolved: #345
[ghstack-poisoned]
wconstab added a commit that referenced this pull request May 20, 2024
Pipelining is unique in that there is no need to stick to power-of-2
numbers of stages, and there maybe reasons an odd number is optimal
depending on how you divide up your cluster.

Anyway, I use this for validation of the 1f1b schedule in a slightly-more-complicated
than 2-stage but simpler than 4-stage setup.

seems to run fine, if run with an even batch size
(`--training.batch_size 12`)

ghstack-source-id: a120318e49d53a61f2b54080de1c9882c4c2016e
Pull Request resolved: #345
[ghstack-poisoned]
wconstab added a commit that referenced this pull request May 21, 2024
Pipelining is unique in that there is no need to stick to power-of-2
numbers of stages, and there maybe reasons an odd number is optimal
depending on how you divide up your cluster.

Anyway, I use this for validation of the 1f1b schedule in a slightly-more-complicated
than 2-stage but simpler than 4-stage setup.

seems to run fine, if run with an even batch size
(`--training.batch_size 12`)

ghstack-source-id: 72d366936cb4fd10de6c3a3ccea7f6d7e5089dfd
Pull Request resolved: #345
[ghstack-poisoned]
wconstab added a commit that referenced this pull request May 21, 2024
Pipelining is unique in that there is no need to stick to power-of-2
numbers of stages, and there maybe reasons an odd number is optimal
depending on how you divide up your cluster.

Anyway, I use this for validation of the 1f1b schedule in a slightly-more-complicated
than 2-stage but simpler than 4-stage setup.

seems to run fine, if run with an even batch size
(`--training.batch_size 12`)

ghstack-source-id: ec1892c5f68d7bb6cb9ec15cddcf8f606f0ecbfe
Pull Request resolved: #345
[ghstack-poisoned]
wconstab added a commit that referenced this pull request May 22, 2024
Pipelining is unique in that there is no need to stick to power-of-2
numbers of stages, and there maybe reasons an odd number is optimal
depending on how you divide up your cluster.

Anyway, I use this for validation of the 1f1b schedule in a slightly-more-complicated
than 2-stage but simpler than 4-stage setup.

seems to run fine, if run with an even batch size
(`--training.batch_size 12`)

ghstack-source-id: d41ffd0e6b11c63e3ca06141b704f659d5054737
Pull Request resolved: #345
[ghstack-poisoned]
wconstab added a commit that referenced this pull request May 22, 2024
Pipelining is unique in that there is no need to stick to power-of-2
numbers of stages, and there maybe reasons an odd number is optimal
depending on how you divide up your cluster.

Anyway, I use this for validation of the 1f1b schedule in a slightly-more-complicated
than 2-stage but simpler than 4-stage setup.

seems to run fine, if run with an even batch size
(`--training.batch_size 12`)

ghstack-source-id: 289eeb8473afa84e3b767986f9fb285f1d91fbf2
Pull Request resolved: #345
@wconstab wconstab closed this Jun 12, 2024
tianyu-l pushed a commit that referenced this pull request Aug 16, 2024
Pipelining is unique in that there is no need to stick to power-of-2
numbers of stages, and there maybe reasons an odd number is optimal
depending on how you divide up your cluster.

Anyway, I use this for validation of the 1f1b schedule in a slightly-more-complicated
than 2-stage but simpler than 4-stage setup.

seems to run fine, if run with an even batch size
(`--training.batch_size 12`)

ghstack-source-id: 289eeb8473afa84e3b767986f9fb285f1d91fbf2
Pull Request resolved: #345
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed This label is managed by the Meta Open Source bot.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants