deepspeedai / deepspeedai/DeepSpeed
[REQUEST] GAN: Different learning rates and schedulers in one config for multiple .initialize() calls possible?
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 43.1k
- Forks
- 5k
- Avg merge
- 4d 15h
- Merged PRs (30d)
- 112
Description
Hi, I'm using deepspeed to train a model that has a discriminator. I'm following the official GAN tutorial mostly (https://www.deepspeed.ai/tutorials/gan/)
Essentially I set up the model like this
model_engine, optimizer, _, _ = deepspeed.initialize(args=args, model = model, model_parameters=model.parameters(), optimizer=optimizer)
model_engine_adversary, optimizer_adversary, _, _ = deepspeed.initialize(args=args, model = adversarial_head, model_parameters=adversarial_head.parameters(), optimizer=optimizer_adversary)
And then start it with
deepspeed train.py --deepspeed_config deepspeed_config.json
If I specify a scheduler in the json config as done in all tutorials, it applies to both model engines. Is there a way to specify two separate ones?
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 with the GAN tutorial and the two deepspeed.initialize calls shown in the issue, then inspect how deepspeed_config.json is applied to each engine. Determine whether one configuration can express separate learning rates and schedulers, and consider the behavior required for both model engines to use independent settings.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- machine-learning
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100