microsoft / microsoft/MInference
[Question]: Why is every head config saved with "vertical_and_slash"?
@iofu728 is already working on this.
Since Jul 30, 2024.
- Dominant language
- Python
- Stars
- 1.2k
- Forks
- 82
- Avg merge
- 1d 18h
- Merged PRs (30d)
- 1
Description
Describe the issue
Regardless of the pattern observed, the config saves it as "vertical_and_slash" when using the search_patterns function.
https://github.com/microsoft/MInference/blob/b5b8745181c159d99be43f0759eeca3e8311447c/minference/modules/minference_forward.py#L198-L216
The configs saved in the repo appear to only contain this method type ^.
Specifically those lines:
if best_ty == "stream_llm":
best_ty = "vertical_and_slash"
if best_ty == "block_sparse":
best_ty, best_v, best_s = "vertical_and_slash", 1000, 6096
When doing the forward pass, I think this means that we never route to anything other than the vertical_and_slash impl / kernels.
Is this a bug or intended? The experiment docs cite the use of this search patterns function.
On the other hand:
Search pattern v2 https://github.com/microsoft/MInference/blob/b5b8745181c159d99be43f0759eeca3e8311447c/minference/modules/minference_forward.py#L220
does actually appear to save pattern type with specific names for routing to different pattern impls.
Do we need to use search patterns v2 to replicate the results of the paper? Or are the vertical_and_slash settings actually enough to pull off needle-in-a-haystack for long sequences?
Contributor guide
No contributing guide indexed for this repository
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.