Onboard a streaming mode model similar to Moshi.
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 5k
- Forks
- 1.2k
- Avg merge
- 2d 10h
- Merged PRs (30d)
- 581
Description
🚀 The feature, motivation and pitch
Using Moshi as a case study here but I think the MoE style probably applies to any model with time step reasoning.
Moshi tracks the current start pos as state, it uses 2 values to do this. 1 tensor and 1 int. Its not obvious why 2 variables are needed. I have an open Issue asking about it https://github.com/kyutai-labs/moshi/issues/255. I think the int one could just be rewritten as an IO tensor though if needed. It seems pretty equivalent to start_pos from llama.
The next problem is that Moshi has something similar to MoE but for different time steps. As seen here. https://github.com/kyutai-labs/moshi/blob/main/moshi/moshi/modules/transformer.py#L278
I think that will need to be rewritten like how MoE was in gpt-fast where the weights of all the linear layers are combined into one tensor and then sliced out. https://github.com/pytorch-labs/gpt-fast/blob/main/mixtral-moe/model.py#L187-L201
Alternatives
No response
Additional context
No response
RFC (Optional)
No response
cc @larryliu0820 @mergennachin @cccclai @helunwencser @jackzhxng
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 reading Moshi's moshi/moshi/modules/transformer.py around line 278 and the referenced gpt-fast mixtral model.py lines 187-201. Compare how streaming state and time-step-specific linear layers are represented, then trace the relevant Executorch model onboarding path. Done means a Moshi-like streaming model is supported with its state handling and time-step weights integrated.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, pytorch
- Domain
- machine-learning
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100