NVIDIA-NeMo / NVIDIA-NeMo/Automodel

Merge moe and fsdp paths

Open
#1,201 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Python
Stars
963
Forks
318
Avg merge
3d 20h
Merged PRs (30d)
143

Description

Right now these two are separate paths. For example, if a user wants to use EP then a paralllelize_fn is used which will then apply FSDP itself, but if a user just wants FSDP2 then the FSDP2Manager is used. This incurs confusion and we should clean this up s.t. parallelisms are applied via the managers (FSDP2Manager, MegatronFSDPManager, DDPManager).

Additionally, we need to merge the moe and device meshes into one.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing how parallelize_fn, FSDP2Manager, MegatronFSDPManager, and DDPManager currently apply parallelisms. Compare the MoE and device-mesh handling in these paths. Done means parallelisms are applied through the managers and the MoE and device meshes are merged without preserving the confusing separate paths.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, pytorch
Domain
distributed-systems, machine-learning
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.