[FSDP] Make env var and dataclass flag consistent for `cpu_ram_efficient_loading` by SumanthRH · Pull Request #3307 · huggingface/accelerate

What does this PR do?

Makes environment variable and dataclass consistent for cpu_ram_efficient_loading. Currently, there's an inconsistency when the FSDP plugin is initialized in a standalone fashion: the cpu_ram_efficient_loading flag can be set to True but if the user doesn't use accelerate launch , then the environment variable FSDP_CPU_RAM_EFFICIENT_LOADING would not be set. This environment variable is actually used by transformers to initialize parameters efficiently in the process group (See: #2100 (comment) for details on how this happens)

I can see a previous PR #2998 that tried to make all env vars optional, but looks like this was left.

Fixes # (issue)

Before submitting

  • This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
  • Did you read the contributor guideline,
    Pull Request section?
  • Was this discussed/approved via a Github issue or the forum? Please add a link
    to it if that's the case.
  • Did you make sure to update the documentation with your changes? Here are the
    documentation guidelines, and
    here are tips on formatting docstrings.
  • Did you write any new necessary tests?

Who can review?

Anyone in the community is free to review the PR once the tests have passed. Feel free to tag
members/contributors who may be interested in your PR.

cc @muellerzr