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

Simplify and relax dependencies (Take 2) #818

Merged
merged 7 commits into from
Mar 9, 2023

Conversation

EricHallahan
Copy link
Contributor

Motivation and Changes

The requirements files specified in ./requirements have historically been strict, as to prevent CI Docker images changing without our prior knowledge. However, this places a burden on users who would like to run GPT-NeoX on a host without containerization, and many non-critical packages are unnecessarily strictly specified as well. This motivates the following changes in this PR:

  • Loosen the dependency version requirements for non-critical packages.
  • Remove the lingering einops requirement. This is an artifact of the old T5 positional bias code and is safely removable.
  • Make the dependence upon wandb optional, making installation accessible through a new requirements file ./requirements/requirements-wandb.txt.
    • New behavior has been added to notify users who request Weights & Biases monitoring without wandb installed: Users are instructed to either install the wandb package or disable the feature in the configuration via use_wandb.
  • Clean up the deepy.py DeepSpeed launcher script.

Notes

This PR supersedes #456. The following changes were not maintained from #456:

  • Tokenizer dependency changes and code fixes. These should likely be completed in a separate PR considering the expanded number of tokenization options now available in GPT-NeoX.
  • Retain MPI features and dependency on mpi4py. These were less relevant in the past, but in the time since October 2021 this reality has changed and has become worth maintaining again.

- Move `wandb` to `./requirements/requirements-wandb.txt`
- Clean up `./deepy.py`
- Make GPT-NeoX not explode if `wandb` is not installed.
- Tell the user when `wandb` is not importable and explain how to fix.
- Remove implicit dependence on `shortuuid`.
- Ensure that `wandb` is installed in Dockerfile.
Quentin-Anthony
Quentin-Anthony previously approved these changes Mar 9, 2023
@Quentin-Anthony Quentin-Anthony merged commit 9610391 into main Mar 9, 2023
@Quentin-Anthony Quentin-Anthony deleted the simplify-dependencies-2023-03 branch March 9, 2023 22:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants