deepspeedai / deepspeedai/DeepSpeed
[BUG] Questions about PipelineEngine._reduce_output when output is list
Open
@duli2012 is already working on this.
Since Jun 16, 2023.
bug
training
- Dominant language
- Python
- Stars
- 43.1k
- Forks
- 5k
- Avg merge
- 4d 15h
- Merged PRs (30d)
- 112
Description
In else block output[0] is of type list, thus for idx, out in outputs and reduced[idx] += out seems a bit weird.
And according to _exec_forward_pass:
https://github.com/microsoft/DeepSpeed/blob/cd911f9ab2213edb0c8781bd5fd604c37c020dfb/deepspeed/runtime/pipe/engine.py#L672-L678
outputs should be a 2-d list contains losses in different micro batch. I think the following code is more reasonable:
for out in output:
for idx, o in enumerate(out):
reduced[idx] += o
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.
Assessment
This issue has not been assessed yet.