deepspeedai / deepspeedai/DeepSpeed
deepspeed-v1 prep notes
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 43.1k
- Forks
- 5k
- Avg merge
- 4d 15h
- Merged PRs (30d)
- 112
Description
Please edit this Issue to collect notes for deepspeed v1 work
TODO items
Start adding TODOV1 comments where needed in preparation for changes, e.g. so far used in changing the logger defaults
Example:
Backward compatibility breaking
This is an opportunity to redesign some APIs, change defaults to better ways. We of course, should try to minimize any breakage.
Also we should consider a back-compat module which if important will try to restore the old functionality where possible to easy with transition.
Logging subsystem
-
change the default logging levels to
logging.WARNINGsee TODOV1 tags in code -
we need to untangle 3 different loggers and streamline them into ideally 1. Currently we have:
- Command-line for launcher
- ds_config for DS engine
- builder
probably we should clean up deepspeed.utils.__init__ as it shouldn't load builder code. If we are just importing the logger. probably should leave logger out of depspeed.utils.__init__ and use a direct from deepspeed.utils.logging import logger
- we want per module log levels - so for example if
wall_clock_breakdown: trueit should be printing stats regardless of log level and currently it doesn't (I'm adding a workaround to useprintinstead).
Collectives / Comms
- Process group management: switch to device mesh to modernize deepspeed
- where possible drop the custom functional collective API and replace with optimized torch.distributed API (which didn't exist when deepspeed was created)
Related discussions:
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the TODOV1 references in deepspeed/launcher/launch.py and the logging setup in deepspeed.utils.init; then read the related discussion in PR #7526. The notes also identify process-group management, device mesh, and torch.distributed as areas to investigate. This issue has no single completion criterion and would need a defined scope before work can be considered done.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, pytorch
- Domain
- distributed-systems, machine-learning, observability
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100