Skip to content

Conversation

@themightyoarfish
Copy link

This adds a Note on making experiments reproducible.

It also adds Instructions for building the Documentation to README.md. Please ping if I missed any requirements.

I'm not sure what to do about the submodule changes. Please advise.

@t-vi
Copy link
Collaborator

t-vi commented Sep 6, 2018

I think there are known reproducibility issues with distributed (search the forums).
Also things like index_add (using atomic add) are not deterministic, this includes CTC loss - although the latter might possibly be fixable by fixing the precision of the atomic add operands.

@themightyoarfish
Copy link
Author

Ok then the note should be amended, but would you agree that there should be some documentation on it? At least on a single machine this would do the trick, and finding this information was really hard.

@ssnl
Copy link
Collaborator

ssnl commented Sep 6, 2018

@themightyoarfish Please revert the submodule change. Moreover, it might be good to mention that reproducibility is not guaranteed across versions and/or architectures. E.g., a RNG on CUDA definitely behaves different than the RNG on CPU even though they use same seed; and when we optimize a sampling kernel in a release, the generated numbers might be different (although distribution is the same).

Rasmus Diederichsen added 2 commits September 6, 2018 22:13
- Add caveat that reproducibility is not guaranteed across platforms or
releases
@themightyoarfish
Copy link
Author

I have fixed the submodule change hopefully and clarified the note. I wasn't intending to communicate that it's possible to be reproducible across platforms or releases or anything; the info is intended for users trying to make their runs reproducible.

README.md Outdated
To build documentation in various formats, you will need Sphinx.

```
conda install sphinx sphinx_rtd_theme

This comment was marked as off-topic.

This comment was marked as off-topic.

Copy link
Contributor

@facebook-github-bot facebook-github-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ezyang is landing this pull request. If you are a Facebook employee, you can view this diff on Phabricator.

facebook-github-bot pushed a commit that referenced this pull request Sep 12, 2018
…nn (#11434)

Summary:
Ping ezyang
This addresses your comment in #114. Strangely, when running the doc build (`make html`) none of my changes are actually showing, could you point out what I'm doing wrong?

Once #11329 is merged it might make sense to link to the reproducibility note everywhere.
Pull Request resolved: #11434

Differential Revision: D9751208

Pulled By: ezyang

fbshipit-source-id: cc672472449564ff099323c39603e8ff2b2d35c9
@themightyoarfish
Copy link
Author

Seems like we have a typo in the note
Furthermore, results need to be reproducible between CPU and GPU executions, there's a not missing here.

@themightyoarfish
Copy link
Author

@ezyang Fixed the problem in #11571

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants