TiledMLP
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 30/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Ambito
- distributed-systems, machine-learning
Direzione di ricerca
Inizia con l’implementazione di base in PR #935 e confrontala con l’approccio basato sugli hook in axolotl/monkeypatch/tiled_mlp/base.py. Analizza l’accumulo dei gradienti con DDP e il resharding dei parametri con FSDP; il lavoro è completo quando TiledMLP funziona sia con DDP sia con FSDP.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
🚀 The feature, motivation and pitch
TiledMLP can save memory for large bs/long seq as well
Reference code: https://github.com/deepspeedai/DeepSpeed/blob/16c1bf429f10db3e681b49fac37d641909aad69d/deepspeed/runtime/sequence_parallel/ulysses_sp.py#L781
Thanks to @upskyy, the base implementation has been done in https://github.com/linkedin/Liger-Kernel/pull/935
However, the current is not compatible with ddp and fsdp, see https://github.com/linkedin/Liger-Kernel/pull/935#issuecomment-3517964534.
For ddp support, one can try registering hooks to temporily accumulate gradients and only return the accumulated gradients in the last iteration, based on https://github.com/axolotl-ai-cloud/axolotl/blob/dd78f2e0cc5cc6458daaad02cc29b649ff1046f5/src/axolotl/monkeypatch/tiled_mlp/base.py#L99
For fsdp, parameters are always resharded after the first backward pass, one need to find a way to unshard parameters in the latter iterations.
-
base implementation based on deepspeed: https://github.com/linkedin/Liger-Kernel/pull/935 @upskyy
-
ddp support (contribute welcome)
-
fsdp support (contribute welcome)
Alternatives
No response
Additional context
No response
- Lingua principale
- Python
- Stelle
- 6.6k
- Fork
- 603
- Merge medio
- 2g 21h
- PR unite (30g)
- 44
Preparare l'ambiente
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di linkedin/Liger-Kernel
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
linkedin/Liger-Kernel#1373 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
linkedin/Liger-Kernel#1335 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 78/100
linkedin/Liger-Kernel#1496 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 52/100
linkedin/Liger-Kernel#1485 ·
I maintainer di solito rispondono entro 1 giorno
-
[NPU] Track reverting Ascend Atlas 950 workarounds after triton-ascend upstream fixes (#1464)Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
linkedin/Liger-Kernel#1481 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di linkedin/Liger-Kernel
Issue simili
-
Broken links found in docsApertadocs pydanty:is-working
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
pydantic/pydantic-ai#8863 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
run-llama/llama_index#23278 ·
I maintainer di solito rispondono entro 2 giorni
-
documentation from-review-extraction github-actions priority: low severity:nit
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 92/100
LearningCircuit/local-deep-research#6946 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
oracle/langchain-oracle#323 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
tenstorrent/tt-metal#58057 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno