deepspeedai / deepspeedai/DeepSpeed
[REQUEST] Dict input and output of Pipeline Parallelism
Open
@ShadenSmith is already working on this.
Since Jun 16, 2023.
enhancement
- Dominant language
- Python
- Stars
- 43.1k
- Forks
- 5k
- Avg merge
- 4d 15h
- Merged PRs (30d)
- 112
Description
Hi I found it confusing when handling multiple inputs of a layer in pipeline parallelism. The lack of flexbility make it difficult to use tuple input. Is there any plans to use dict input?
e.g.
class Layer1(nn.Module):
...
def forward(self, input_ids, attention_mask):
...
return {"hidden_states": h, "position_ids": pos_ids}
class Layer2(nn.Module):
...
def forward(self, hidden_states, position_ids):
...
return {"hidden_states": h}
Also use can set some parameters with default values in forward to use them alternatively.
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.