Hace 7 meses | Por alehopio a spj.science.org
Publicado hace 7 meses por alehopio a spj.science.org

Debido a las características heterogéneas, paralelas, multicapa y anisostráticas de la arquitectura convencional de los ordenadores ML, la pila de software de cada modelo a escala debe desarrollarse ad hoc. En consecuencia, los costes de I+D de los ordenadores ML se concentran en el desarrollo de software, es decir, en el problema de la productividad de la programación. Con FvNA, definimos los programas y la arquitectura de un modo invariante respecto a la escala. Ambos son libres de ampliar hasta una coincidencia adecuada, la ejecución real.

Comentarios

aironman

#10 Si, lo he leído además. En el paper viene en pseudocódigo ese triple bucle for y no hay repositorio con ninguna implementación. Hay veces en que estos papers vienen con repositorio y otras veces no vienen.

Personalmente me gustan más los que vienen con algo de código que se puede probar, instalar, medir el rendimiento, etc...

Cuando leo que alguien comparte algo, entiendo que viene también la manera de comprobar tu afirmación. Si dices que viene, espero código. Las palabras se las lleva el viento.

Pointman

Es decir... ¡majia!

alehopio

#3 #2 Resulta que ante las sanciones que occidente está imponiendo a la industria china para limitar su crecimiento, los chinos están respondiendo con una tremenda inventiva que además comparten con el resto de la humanidad, de la cual el ejemplo expuesto es una muestra bastante admirable.

Que NVIDIA no les da acceso a controladores de cluster para que no desarrollen la inteligencia artificial, no hay problema ellos desarrollan un nuevo método para programar cluster que consigue una mejora de rendimiento escalable a cualquier nivel (ya no necesitarán esos controladores) y ese nuevo desarrollo los pone a la cabeza en inteligencia artificial.

El jefe del equipo que ha desarrollado esta nueva tecnología es el mismo que desarrolló la inteligencia artificial que diseña sola nuevo hardware para inteligencia artificial

https://cutt.ly/rwlc9Qil

como vimos en

ia-crea-primer-procesador-sin-intervencion-humana-qimeng-no-1/c0108#c-108

Jesulisto

#5 ¡Gracias!

ChukNorris

#5 Pues gracias por las explicaciones.

aironman

#5 Comparten, donde?

alehopio

#9 No te has fijado que el envío es un paper en una revista occidental ???

ChukNorris

#0 Hoyga, si subes algo así, al menos comenta de qué va, o por qué lo consideras relevante.

Jesulisto

#1 Yo te lo explicaría pero no quiero espolilear el final.

alehopio

#1 Resumen
A medida que el aprendizaje automático (machine learning, ML) se convierte en la tecnología destacada para muchos problemas emergentes, se están desarrollando ordenadores dedicados al ML a diversas escalas, desde nubes hasta dispositivos de borde. Sin embargo, las características heterogéneas, paralelas y multicapa de los ordenadores de ML convencionales concentran el coste de desarrollo en la pila de software, es decir, los marcos de ML, las bibliotecas de computación y los compiladores, lo que limita la productividad de los nuevos ordenadores de ML. Se propone una arquitectura fractal von Neumann (FvNA) para resolver el problema de la productividad de programación de los ordenadores de ML. FvNA es invariante de la escala de programación, lo que hace que el desarrollo de una familia de ordenadores ML a escala sea tan sencillo como el de un único nodo. En este estudio, generalizamos FvNA al campo de la computación paralela de propósito general. Modelamos FvNA como un ordenador paralelo abstracto, denominado máquina paralela fractal (FPM), para demostrar varias tareas representativas de propósito general que son eficientemente programables. La FPM limita la entropía de la programación aplicando restricciones al patrón de control de los sistemas de computación paralela. Sin embargo, FPM sigue siendo de propósito general y de coste óptimo. Establecemos algunos resultados preliminares que demuestran que FPM es tan potente como muchos modelos fundamentales de computación paralela, como BSP y la máquina de Turing alterna. Por lo tanto, FvNA también es aplicable en general a varios campos distintos del ML.
1. Introducción
El aprendizaje automático se está convirtiendo rápidamente en la tecnología más utilizada para muchas aplicaciones emergentes, como el procesamiento de imágenes, el reconocimiento de voz, los juegos y la atención sanitaria inteligente. Además, las aplicaciones de ML abarcan desde los móviles y los bordes hasta la supercomputación: Por ejemplo, en el ámbito de la telefonía móvil, las funciones "Snap'n'Shop" (búsqueda de imágenes de productos) [1] son omnipresentes en las aplicaciones de compra por móvil actuales, y esta función se basa en el ML para la comprensión semántica de las imágenes. Mientras tanto, en el campo de la supercomputación, el Premio ACM Gorden Bell 2020 se concedió a Jia et al. [2], que ampliaron el límite de la dinámica molecular ab initio a 100 millones de átomos integrando el ML en el modelado físico. En consecuencia, se están desarrollando ordenadores de ML a diversas escalas. Por ejemplo, Ascend, el ordenador ML de Huawei, es tan pequeño como el núcleo IP en el SoC móvil (Ascend Tiny en HiSillicon Kirin 9000) y tan grande como el clúster de IA (por ejemplo, Atlas 900 que incluye miles de chips Ascend 910, hasta 1 ExaFlops @ FP16).
Debido a las características heterogéneas, paralelas, multicapa y anisostráticas (es decir, se adoptan diferentes ISA en cada capa del sistema) de la arquitectura informática de ML convencional, la pila de software de cada modelo a escala debe desarrollarse ad hoc. En consecuencia, los costes de I+D de los ordenadores ML se concentran en el desarrollo de software, es decir, en el problema de la productividad de la programación.
Tomemos como ejemplo la programación de un cluster de GPUs. Para aprovechar una única GPU, los desarrolladores de software escriben programas CUDA para implementar operadores de ML comunes, como Conv2D, AvgPool y SoftMax. El programa CUDA debe asignar y utilizar la memoria global, compartida y local de forma explícita para aprovechar la potencia de la GPU. Además, es posible que el desarrollador también tenga que implementar operadores fusionados [3] para conseguir una eficiencia óptima, lo que contribuye a una parte significativa de la carga de trabajo de desarrollo. Sin embargo, cuando el equipo se extiende a múltiples GPUs y nodos, la pila de software debe rehacerse inadvertidamente para incluir el control de la comunicación y sincronización multi-GPU/multinodo. Es poco probable que los operadores fusionados en el clúster puedan reutilizarse a partir de la base de código de una sola GPU. Empíricamente, NVIDIA proporciona operadores de GPU única y operadores multi-GPU/multinodo a través de diferentes librerías (la librería CUB/NCCL). Los operadores fusionados son compatibles con el marco TensorRT, pero no se proporciona soporte para multi-GPU/multinodo. Esto hace que la experiencia de programación para los usuarios finales dependa de la escala de la máquina. Los usuarios finales deben dividir y distribuir las cargas útiles según soporte la pila de software, lo que resulta en programas dependientes de la escala.
Para abordar el problema de la productividad, propusimos ordenadores ML con arquitectura fractal von Neumann (FvNA) [4, 5]. FvNA toma prestado el concepto geométrico fractal para describir los patrones autosimilares aplicados a cualquier escala. Con la FvNA, definimos los programas y la arquitectura de forma invariante respecto a la escala. Ambos son libres de ampliar hasta una coincidencia adecuada, la ejecución real. FvNA es multicapa pero isostratal, lo que literalmente significa "igual en todas las estructuras de capas". Es decir, cada capa del sistema adopta el mismo ISA. La capa inferior está totalmente controlada por la superior, por lo que sólo la superior está expuesta al programador como un procesador monolítico. Por lo tanto, los ordenadores ML construidos con FvNA son programables bajo una visión invariante de escala, homogénea y secuencial. Trabajos anteriores han demostrado que FvNA es aplicable al dominio del ML y alivia el problema de la productividad de la programación manteniendo una eficiencia comparable a la de sus homólogos ad hoc.
Sin embargo, aún quedan preguntas sin respuesta sobre FvNA. En este estudio, abordamos las más importantes, entre las que se incluyen las siguientes. (1) ¿Cómo puede FvNA seguir siendo bastante eficiente con una restricción arquitectónica tan estricta? (2) ¿Es FvNA también aplicable a cargas útiles de otros dominios? (3) En caso afirmativo, ¿cuáles son los requisitos previos exactos? Para responder a estas preguntas, comenzamos modelando la máquina paralela fractal (FPM), desde donde se pueden discutir razonablemente el coste, la potencia y la limitación de las máquinas fractales. Establecemos algunos resultados preliminares que demuestran que el FPM es tan potente como muchos modelos fundamentales de computación paralela, el BSP y la máquina de Turing alterna. Estos resultados apoyan nuestra extensión de la computación paralela fractal al dominio de la computación paralela de propósito general.

alehopio

#4 >

Ahora me queda claro que el desarrollo de INTEL sobre un microprocesador fotónico es uno de esos dispositivos especiales de hardware especial para el ML y por tanto para dar soporte a la Inteligencia Artificial


Intel muestra su CPU fotónica con 8 núcleos y 528 hilos a 7 nm
Intel muestra su CPU fotónica con 8 núcleos y 528 hilos a 7 nm