Este artículo presenta un método para introducir y entrenar una arquitectura de red neuronal distribuida (DNA) en los dominios de visión y lenguaje. DNA se inicializa como una protoarquitectura que consiste en módulos tales como transformadores, MLPs, atención y enrutadores. Un token (o parche) puede pasar a través de una serie arbitraria de módulos en cualquier orden. DNA es una generalización natural de métodos dispersos tales como Mixture-of-Experts, Mixture-of-Depths y compartición de parámetros. Los patrones de computación y comunicación de los módulos DNA se aprenden de extremo a extremo durante el entrenamiento y dependen del contenido y contexto de cada token (o parche). Estos patrones pueden ser moldeados por requisitos adicionales para objetivos de optimización tales como eficiencia de computación/memoria o distribución de carga. Experimentalmente, demostramos que el DNA entrenado es competitivo con modelos de línea base densos en ambos dominios, y puede aprender eficiencia computacional/compartición de parámetros de los datos. Además, al analizar la conectividad de emergencia y los patrones computacionales del ADN entrenado, observamos que las rutas que siguen los tokens a través del modelo se distribuyen según una ley de potencia y mostramos que algunas rutas (o, equivalentemente, grupos de módulos) presentan especialización de emergencia. Finalmente, demostramos que el modelo aprende a asignar cálculos y parámetros de activación de forma interpretable.