Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[QUESTION] Why is expert parallelism not supported during fp16 training? #810

Open
yutian-mt opened this issue May 7, 2024 · 1 comment

Comments

@yutian-mt
Copy link

assert not args.model_parallel.fp16, \
            "Expert parallelism is not supported with fp16 training."

from

"Expert parallelism is not supported with fp16 training."

compared to the case when ep=1, the difference when ep>1 is that it introduces additional all-to-all communication operation. I'm a bit confused about why this setup does not support fp16 training.

@felipeliliti
Copy link

 razão pela qual o paralelismo especializado pode não ser suportado durante o treinamento FP16 pode ser devido às limitações do próprio FP16. FP16, ou formato de ponto flutuante de meia precisão, usa menos memória e permite que o modelo treine mais rápido. No entanto, nem todas as equações suportam FP16, o que pode limitar seu uso em certos cenários.
No contexto dos modelos MoE, os requisitos de memória podem ser bastante altos. Por exemplo, a saída da rede conjunta no transdutor é um tensor de 4 dimensões que ocupa quantidades significativas de memória. Usar FP16 poderia potencialmente aliviar alguns dos problemas de uso de memória, mas pode não ser suficiente ou compatível com todos os aspectos do processo de treinamento.
Também vale a pena notar que a documentação do Megatron-LM da NVIDIA menciona que ao usar MoE com paralelismo especializado e paralelismo tensorial, o paralelismo de sequência deve ser usado. Isso pode ser outro fator a considerar ao tentar entender as limitações do uso de paralelismo especializado durante o treinamento FP16.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants