Estás leyendo la publicación: La startup de hardware de EE. UU., Cerebras, establece un récord para el modelo de IA más grande que se entrena en un dispositivo
Cuando se trata de chips potentes, la empresa estadounidense Cerebras lo tiene cubierto. Han entrenado su modelo de IA en un solo dispositivo alimentado por Wafer Scale Engine 2, que se considera el chip más grande del mundo en términos de potencia de procesamiento.
Según la puesta en marcha de AI, un solo sistema CS-2 puede reducir el tiempo de ingeniería y el trabajo necesarios para entrenar modelos de procesamiento de lenguaje natural (NLP) de meses a minutos. La rama de la IA conocida como procesamiento del lenguaje natural (NLP) tiene como objetivo hacer posible que las computadoras analicen y comprendan el lenguaje humano a partir de datos de texto o voz.
Uno de los “elementos más desagradables” del entrenamiento de grandes modelos NLP, que a menudo implica distribuir el modelo en cientos o miles de GPU diferentes, será eliminado, según Cerebras, como resultado de su hallazgo más reciente.
El mecanismo de dividir un modelo entre GPU, según el negocio, es exclusivo de cada par de clústeres de cómputo de la red, por lo que es imposible transferir el trabajo a otros clústeres o redes neuronales.
El procesador Cerebras WSE-2, que según el fabricante es el procesador más grande jamás creado, hizo factible entrenar un modelo considerable en un solo dispositivo. Es 56 veces más grande que la GPU más grande, con 2,55 billones de transistores más y 100 veces más núcleos de computación.
Un nuevo grupo de chips que podría “desbloquear redes neuronales a escala cerebral” está siendo alimentado por el procesador WSE-2, según un comunicado realizado por Cerebras el año pasado. El negocio de IA afirmó que un solo CS-2 podría manejar modelos con cientos de miles de millones o billones de parámetros usando este procesador.
Escalar ML en clústeres de GPU: desafíos
El desafío de la computación distribuida de extender el entrenamiento de una red extensa sobre un grupo de procesadores es un desafío. Las grandes redes neuronales y otros problemas computacionales que no se pueden resolver en un solo procesador se incluyen en esta categoría. Se necesita mucho esfuerzo para dividir la computación, la memoria y la comunicación y luego repartirlos entre cientos o miles de procesadores. El hecho de que cada asignación de CPU, memoria y red en un clúster de procesadores se personalice complica aún más las cosas: la partición de una red neuronal en un clúster de procesadores en particular es exclusiva para esa red neuronal y ese hardware de clúster. Sería necesaria una partición diferente para otra red neuronal en el mismo clúster. También se necesitaría una partición diferente en otro clúster incluso para la misma red neuronal. Aunque esto es de conocimiento común en la computación distribuida, parece que lo hemos olvidado ya que la computación distribuida y la IA se han fusionado rápida e inevitablemente.
Dadas las propiedades distintivas de la red neuronal, las propiedades únicas de cada procesador en el clúster y las propiedades específicas de la red de comunicación que conecta los procesadores, es posible distribuir una red neuronal sobre un clúster particular de procesadores (Figura 1). El tamaño, la profundidad, los parámetros y la estructura de comunicación del modelo interactúan con el rendimiento informático, la capacidad de memoria y el ancho de banda de memoria de cada procesador, así como con la topología, la latencia y el ancho de banda de la red de comunicación, para determinar cómo distribuir la información. red neuronal sobre el clúster.
Veamos esto con más profundidad. Piense en una red neuronal sencilla de cuatro capas como la Figura 2. Un tono distinto designa cada capa. Cada capa realiza cálculos y luego transmite los resultados a la siguiente capa, que los utiliza para realizar sus propios cálculos.
Datos paralelos
Es sencillo entrenar una red neuronal si cabe en una sola CPU. El paralelismo de datos se puede usar para acelerar el entrenamiento cuando hay varios procesadores disponibles.
Como se ilustra en la Figura 3, dividimos los datos por la mitad para el entrenamiento de datos en paralelo y repetimos toda la red en los Procesadores 1 y 2. Luego, los resultados se promedian después de enviar la mitad de los datos al Procesador 1 y la mitad al Procesador 2. Debido a que los datos se dividen por la mitad y se procesan simultáneamente, esto se conoce como paralelismo de datos. Si todo sale según lo planeado, el entrenamiento debería llevar aproximadamente la mitad de tiempo con dos procesadores que con uno.
Modelo de tubería paralela
Como se ilustra en la Figura 4, el problema de Pipeline Model Parallel se divide mediante la asignación de capas específicas al Procesador 1 y algunas capas al Procesador 2. El aspecto desafiante de este tipo de paralelización es que los niveles operan en una tubería. Antes de que el Procesador 2 pueda iniciarse, los resultados de una capa específica deben pasar del Procesador 1 al Procesador 2. La latencia y el ancho de banda de la red están bajo una gran presión.
Modelo Tensor Paralelo
¿Qué sucede si un procesador de gráficos no puede caber ni siquiera en una capa? Entonces se requiere el modelo tensorial paralelo. Aquí, una sola capa se divide en muchas CPU. Por lo tanto, como se muestra en la Figura 5, una parte de la capa 1 se coloca en el Procesador 1 y una parte de la capa 1 se establece en el Procesador 2. Esto aumenta la complejidad en un nivel adicional, ejerce presión sobre el ancho de banda y requiere la intervención del usuario humano. El rendimiento de cada capa, procesador y red debe instrumentarse minuciosamente durante semanas o meses. Las características esenciales del modelo y del clúster también limitarán la aceleración que se puede lograr a través de este enfoque. Cuando se expande más allá de un único servidor de GPU, la latencia de estas actividades de comunicación entre procesadores se convierte en un cuello de botella, ya que el paralelismo del modelo de tensor requiere una comunicación frecuente a nivel de capa. Debido a que solo pueden caber 4 u 8 GPU en un solo servidor, el nivel de paralelismo de este método generalmente se restringe a esa cantidad en la práctica. En pocas palabras, los protocolos de red necesarios para la comunicación de servidor a servidor son demasiado lentos.
Paralelismo Híbrido
Debido a las limitaciones de tamaño y hardware, se deben emplear los tres métodos (datos en paralelo, modelo de canalización en paralelo y modelo de tensor en paralelo) para entrenar las redes neuronales más importantes en clústeres de GPU. La empresa investigó algunas de las redes más extensas jamás publicadas al observar la cantidad de GPU requeridas para operar la red neuronal y las diversas formas de paralelización necesarias para entrenar una variedad de modelos (Figura 6).
La red puede ejecutar datos en paralelo en redes “pequeñas” (hasta 1.2B de parámetros). El grado de paralelismo es bastante bueno con 64 GPU, incluso en estos escenarios más sencillos. Debido a la difusión de la formación en numerosos servidores físicos, se necesita un software complejo para gestionar la tarea. Cuando los gradientes se agregan después de cada paso de la fase de comunicación, se requiere una red de interconexión de alta velocidad y primitivas de reducción extremadamente efectivas para evitar un cuello de botella en el rendimiento. Además, existe una restricción de tamaño de lote, particularmente para estos modelos más pequeños, lo que reduce la cantidad de paralelismo de datos que se puede usar sin chocar con esta barrera de comunicación.
Resumen
Los clientes de Cerebras ahora pueden entrenar modelos NLP con miles de millones de parámetros en una sola máquina. Estos enormes modelos pueden implementarse actualmente en cuestión de minutos en lugar de meses. Basta con unas pocas pulsaciones de teclas para cambiar entre varios tamaños de modelo, y no hay un paralelismo intrincado. Ocupan mucho menos espacio y electricidad. No obstante, las organizaciones que no cuentan con equipos de ingeniería de sistemas dispersos considerables pueden utilizarlos.
Referencias:
- https://www.cerebras.net/blog/cerebras-sets-record-for-largest-ai-models-ever-trained-on-single-device
- https://venturebeat.com/2022/06/22/cerebras-systems-sets-record-for-largest-ai-models-ever-trained-on-one-device/
- https://www.theregister.com/2022/06/27/in_brief_ai/
- https://www.businesswire.com/news/home/20220622005318/en/Cerebras-Systems-Sets-Record-for-Largest-AI-Models-ever-Trained-on-a-Single-Device
Por favor no olvides unirte Nuestro subreddit de ML
Echa un vistazo a https://aitoolsclub.com para encontrar 100 de Cool AI Tools