ParallelDroplessMLP initialises self.mlp twice
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 48/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Estancado
- Área
- machine-learning, performance
Línea de trabajo
Comienza comparando los constructores de layers/dmoe.py y layers/moe.py, centrándote en cómo ParallelDroplessMLP hereda y reemplaza self.mlp. Confirma la secuencia de inicialización y comprueba si se necesita algún estado de la superclase aparte de self.mlp. Se considera completado cuando se evita la asignación redundante de pesos de MLP sin cambiar la implementación del reemplazo ni el comportamiento existente.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
What the title says. In layers/dmoe.py:
class ParallelDroplessMLP(moe.ParallelMLP):
def __init__(self, args : Arguments):
super(ParallelDroplessMLP, self).__init__(args) # <-- first init!
self.hidden_size = args.hidden_size
self.ffn_hidden_size = mpu.features_per_rank(args)
self.blocking = 128
self.mlp = dmlp_registry.get(args) # <-- second init!
As a subclass of moe.ParallelMLP, ParallelDroplessMLP first initialises self.mlp in super().__init__() (at layers/moe.py):
class ParallelMLP(torch.nn.Module):
def __init__(self, args : Arguments):
# ... omitted ...
# Expert MLP.
self.mlp = mlp.MLP(args)
This causes extra initialisation time && init memory usage, as the weights created in this init are immediately overwritten by new weights created via self.mlp = dmlp_registry.get(args).
Apologies in advance if this double-init process is actually crucially important to the mechanics of the library; I personally did not observe anything breaking after commenting out the first initialisation.
- Lenguaje dominante
- Python
- Estrellas
- 1.6k
- Forks
- 228
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de databricks/megablocks
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
databricks/megablocks#188 · 2 comentarios ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
databricks/megablocks#184 ·
-
Compatibility with CUDA 13.0Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 30/100
databricks/megablocks#180 · 1 comentario ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
databricks/megablocks#179 ·
-
Issue with Sparse MLPAbierto
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
databricks/megablocks#178 · 1 comentario ·
Todos los issues de databricks/megablocks
Issues similares
-
Python Volcengine provider returns failures instead of raising themPosiblemente ocupada @Ricardo-M-L la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 79/100
agent-infra/sandbox#248 ·
-
Textractor leaves empty temporary files when remote retrieval failsPosiblemente ocupada @HuaTNA la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
-
test(bm_generation): pin the learning parameters and CPU sync shortcutPosiblemente ocupada @iloveeyjafjalla la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
qboson/kaiwu-pytorch-plugin#1341 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
elder-plinius/V3R1T4S#625 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
foxglove/mcap#1907 · 1 comentario ·
Los mantenedores suelen responder en 1 día