Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

selective router precision

Abierto
#91 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
25/100
Tipo de issue
Nueva funcionalidad
Claridad
Necesita aclaración
Estado de actividad
Estancado
Stack tecnológico
python, pytorch

Línea de trabajo

Lee megablocks/layers/router.py, megablocks/layers/mlp.py y megablocks/layers/dmoe.py alrededor de las líneas enlazadas y, después, sigue el dtype configurado y el comportamiento de autocast en la ruta de entrenamiento relevante. Compara el comportamiento observado con la referencia de Switch Transformer del issue; el trabajo requiere una respuesta confirmada por un maintainer o un cambio claramente delimitado para el routing selectivo en fp32.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

question

To my understanding -- and please correct me if I am wrong about this -- there is no mechanism to selectively compute routing logits in fp32, as is suggested in e.g. switch transformers. Basis:

  1. The only mention of fp32/float computations I see anywhere are for moe_lbl_in_fp32
  2. the router is initialized with the same dtype as the MLP weights (as configured by Arguments).
  3. There does not seem to be any explicit casting || autocast deactivation in router.py, nor any attempt to do so in dMoE
  4. Given that the router is implemented as a torch.nn.Linear, and the input to the router is pre-casted to autocast's precision, I can only presume that the computation must be done in half precision under normal AMP training.

Is this correct? If so, have you observed any instabilities in practice during training? Perhaps it is just not necessary...

Lenguaje dominante
Python
Estrellas
1.6k
Forks
228
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de databricks/megablocks

Todos los issues de databricks/megablocks

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.