¿Cómo supera DSA a las GPU NVIDIA?

SambaNova Systems, aclamada como una de las diez principales empresas unicornio de Estados Unidos, recaudó 678 millones de dólares en una ronda de financiación Serie D liderada por SoftBank en abril de 2021, logrando una asombrosa valoración de 50 mil millones de dólares. En las rondas de financiación anteriores de la empresa participaron destacados inversores como Google Ventures, Intel Capital, SK, Samsung Catalyst Fund y otras firmas de capital de riesgo líderes a nivel mundial. ¿Qué tecnología disruptiva ha desarrollado SambaNova para atraer un interés tan generalizado por parte de instituciones de inversión de primer nivel en todo el mundo?

Según los primeros materiales de marketing de SambaNova, la empresa ha adoptado un enfoque diferente para desafiar al gigante de la inteligencia artificial NVIDIA.

sambanova

La comparación es bastante sorprendente: se afirma que una sola máquina SambaNova es equivalente a un clúster NVIDIA V1024 de 100 nodos construido con una tremenda potencia computacional en la plataforma NVIDIA. Este producto de primera generación, basado en la RDU SN10, es una máquina de 8 tarjetas única.

Algunos podrían argumentar que la comparación es injusta, ya que NVIDIA tiene la DGX A100. SambaNova parece haberlo reconocido, y su producto de segunda generación, el SN30, presenta una comparación diferente:

DGX A100

El DGX A100 ofrece 5 petaFLOPS de potencia de cálculo, mientras que el DataScale de segunda generación de SambaNova también ofrece 5 petaFLOPS. En términos de memoria, el DGX A100 tiene 320 GB de HBM, mientras que el SN30 cuenta con 8 TB de DDR4 (el autor especula que esto podría ser un error tipográfico y la cifra real debería ser 3 TB * 8).

El chip de segunda generación es una versión Die-to-Die de la RDU SN10. Las especificaciones de arquitectura de la RDU SN10 son 320TFLOPS@BF16, 320M SRAM y 1.5T DDR4. La RDU SN30 esencialmente duplica estas especificaciones, como se describe a continuación:

“Este chip tenía 640 unidades de cómputo de patrones con más de 320 teraflops de cómputo con precisión de punto flotante BF16 y también tenía 640 unidades de memoria de patrones con 320 MB de SRAM en el chip y 150 TB/s de ancho de banda de memoria en el chip. Cada procesador SN10 también pudo manejar 1.5 TB de memoria auxiliar DDR4”.

“Con la RDU Cardinal SN30, la capacidad de la RDU se duplica, y la razón por la que se duplica es que SambaNova diseñó su arquitectura para utilizar empaques de múltiples matrices desde el principio y, en este caso, SambaNova está duplicando la capacidad de la RDU. capacidad de sus máquinas DataScale al agrupar dos nuevas RDU (lo que suponemos son dos SN10 modificados con cambios de microarquitectura para soportar mejor modelos de cimientos grandes) en un único complejo llamado SN30. Cada socket en un sistema DataScale ahora tiene el doble de capacidad de cómputo, el doble de capacidad de memoria local y el doble de ancho de banda de memoria que las primeras generaciones de máquinas”.

Un gran ancho de banda y una gran capacidad son opciones mutuamente excluyentes. NVIDIA optó por un gran ancho de banda con HBM, mientras que SambaNova optó por una gran capacidad con DDR4. Desde una perspectiva de rendimiento, SambaNova parece superar a NVIDIA en cargas de trabajo de IA.

RDU SambaNova SN10 en Hot Chips 33

El Cardinal SN10 RDU es el chip de primera generación de SambaNova, mientras que el SN30 es el chip de segunda generación (una versión Die-to-Die del SN10). Notamos sus características importantes, que incluyen una gran SRAM en el chip, un enorme ancho de banda en el chip y una enorme capacidad de DRAM de 1.5 T.

El SN40L es el chip de tercera generación (con HBM añadido). Las dos primeras generaciones de chips se basaron en las características de programación espacial de Dataflow, reduciendo la demanda de un alto ancho de banda DRAM y optando por la ruta DDR de gran capacidad. Sin embargo, el chip de tercera generación se basa en esta base e incorpora 64 GB de HBM, combinando ancho de banda y capacidad.

RDU SambaNova SN10 en Hot Chips 33

Esto lleva a un tema interesante: cómo escalar el sistema, especialmente cuando se organiza una capacidad de DRAM tan grande, y por qué se eligió DDR4 sobre otras opciones.

Según la introducción, el SN10-8R tiene ocho tarjetas que ocupan 1/4 de un bastidor. Cada RDU contiene seis canales de memoria y cada canal tiene 256 GB. Un SN10-8R tiene 48 canales, con un total de 12 TB, utilizando DDR4-2667 por canal, y las preguntas y respuestas también mencionaron DDR4-3200.

Un SN10-8R tiene 48 canales

Además, la pila de software es compatible con los principales marcos de IA. El analizador de gráficos de flujo de datos construye subgráficos adecuados para la programación y la implementación en la RDU a partir del DAG original, formando el gráfico de flujo de datos.

El compilador de flujo de datos compila e implementa en función de Dataflow Graph, invocando la biblioteca de plantillas de operador (Spatial Templates), similar a la herramienta P&R en EDA, implementando Dataflow Graph en las unidades de almacenamiento y computación de hardware de la RDU.

Además, SambaNova proporciona una manera para que los usuarios personalicen los operadores, admitiendo operadores definidos por el usuario según sus necesidades. El autor especula que esto se basa en la API intrínseca C+ proporcionada por LLVM, ya que la arquitectura central SN10 incluye muchas instrucciones SIMD, que probablemente requieran codificación manual.

software de flujo de samba

En hardware reconfigurable, la comunicación también es programable, un punto fuertemente enfatizado por otra arquitectura, Groq.

En comparación con las arquitecturas tradicionales, la comprensión personal del autor es que los beneficios de este enfoque en la arquitectura de SambaNova son:

1. El paradigma de programación espacial tiene patrones de comunicación más regulares, que pueden controlarse mediante software. Por el contrario, los enfoques tradicionales tienen patrones de comunicación más caóticos, lo que genera una posible congestión.

2. Con una enorme capacidad de DRAM, se pueden almacenar más datos en la tarjeta, convirtiendo parte de la comunicación entre tarjetas en intercambio de datos DRAM en la tarjeta, reduciendo la sobrecarga de comunicación y disminuyendo la demanda de ancho de banda de comunicación entre tarjetas.

sambaflow produce asignaciones de flujo de datos altamente optimizadas

Las GPU sobresalen en ciertas aplicaciones específicas, pero para modelos muy grandes que no pueden caber o funcionar de manera eficiente en una sola GPU, su rendimiento puede verse afectado.

zona de Ricitos de Oro

La arquitectura de flujo de datos de SambaNova presenta numerosas PCU de computación (0.5 TOPS) y PMU de almacenamiento (0.5 M), que se pueden aprovechar para optimizaciones paralelas y de localidad de datos. El siguiente ejemplo ilustra cómo el encadenamiento de varias PCU permite un paralelismo detallado de la tubería, donde las PMU facilitan el intercambio de datos entre PCU y proporcionan un control ideal de la localidad de los datos.

El flujo de datos explota la localidad y el paralelismo de los datos.

Problemas potenciales

Paralelismo de datos regular: operaciones como Parallel.For requieren una memoria compartida para el intercambio de datos. En SN10 y SN30, ¿está limitado a DDR? En SN40L, se puede utilizar HBM, lo que potencialmente mejora la latencia.

Granularidad de PCU y PMU: la granularidad de PCU y PMU es muy fina. ¿Cómo se descompone el DAG a este nivel?

(A) ¿El analizador de gráficos de flujo de datos se descompone directamente en esta granularidad fina y luego los operadores interactúan con él?

(B) ¿O el analizador de gráficos de flujo de datos se descompone en una granularidad más gruesa, con operadores controlando los recursos de hardware y un operador de grano grueso escrito a mano en la interfaz?

En mi opinión, la capa de gráficos proporciona una vista global, lo que permite más oportunidades de optimización. Sin embargo, se necesita una potente herramienta de generación automática de operadores para codificar operadores a partir de los subgrafos producidos por Dataflow Graph Analyzer utilizando recursos mínimos. Los operadores de escritura a mano serían un desafío para la compilación flexible de capas de gráficos. Especulo que el enfoque del mundo real podría implicar operadores de escritura a mano para patrones fijos, con el analizador de gráficos de flujo de datos de la capa gráfica compilando en función de estos patrones existentes, similar a la mayoría de los enfoques.

Explotar plenamente el potencial de rendimiento es un desafío importante. La arquitectura de SambaNova permite la reconfiguración del hardware para adaptarse a los programas, a diferencia de las arquitecturas tradicionales donde los programas deben adaptarse al hardware. Combinado con la informática y el almacenamiento detallados, esto proporciona un mayor espacio de ajuste.

La arquitectura SN10, como se muestra en la imagen, consta de Tiles formados por interconexiones programables, informática y memoria. Los mosaicos pueden formar mosaicos lógicos más grandes, operar de forma independiente, permitir el paralelismo de datos o ejecutar diferentes programas. Los mosaicos acceden a la memoria DDR4 de nivel TB, a la memoria de la máquina host y admiten interconexiones de múltiples tarjetas.

cardenal sn10

Los mosaicos en la arquitectura SambaNova se componen de tres unidades programables: conmutador, PCU (Unidad de cómputo programable) y PMU (Unidad de memoria programable). Comprender cómo controlar estas unidades es crucial para los ingenieros que escriben operadores.

Azulejos en SambaNova

La PCU se compone principalmente de instrucciones SIMD configurables. Contadores programables para ejecutar bucles internos en programas. Una unidad de cola para acelerar funciones trascendentales como la función sigmoidea.

La PCU se compone principalmente de instrucciones SIMD configurables.

La PMU es una SRAM de múltiples bancos que admite conversiones de formatos de datos tensoriales, como Transpose.

La PMU es una SRAM de múltiples bancos que admite conversiones de formato de datos tensoriales, como Transpose

El conmutador contiene una tubería de enrutador y una barra transversal de enrutador que controlan el flujo de datos entre las PCU y las PMU. Incluye un contador para implementar bucles exteriores.

interruptor e interconexión en chip

A continuación se muestra un ejemplo del uso de la normalización de capas, que describe los diferentes pasos de cálculo. En el hardware SambaNova, el Switch conecta diferentes PCU y PMU para formar tuberías. Los cálculos cercanos pueden intercambiar datos rápidamente a través de PMU (una forma de computación en memoria) al tiempo que admiten canalizaciones concurrentes (si el programa tiene DAG paralelos).

Tenga en cuenta que este ejemplo sigue un paradigma de programación espacial, donde diferentes unidades de computación ejecutan programas de computación únicos (las PCU ejecutan el mismo programa en diferentes momentos). Los cálculos se desarrollan completamente en la dimensión espacial, con cierta fusión aplicada.

norma de capa, canalizada en el espacio

Aprovechando el espacio, se puede agregar un enfoque de programación temporal para procesar datos utilizando un mínimo de PMU, MCU y conmutadores. El enfoque temporal considera la ejecución de programas específicos sobre datos específicos en momentos particulares. Intuitivamente, la misma unidad informática puede ejecutar diferentes programas en diferentes momentos. Este enfoque utiliza menos recursos de hardware, lo que permite que el chip ejecute más programas. Combinado con interconexiones en chip de alta velocidad y una gran capacidad DDR4, se pueden procesar programas a mayor escala. Tanto el modo de programación espacial como el temporal son esenciales.

ejecución híbrida espacio+tiempo

El siguiente es un proceso de ejecución de grano grueso para una red pequeña, mientras que el ejemplo anterior se centró en un operador de normalización de capa. A diferencia de otras arquitecturas (TPU, Davinci), la arquitectura SambaNova admite de forma nativa la fusión en chip.

flujo de datos espaciales dentro de una rdu
de un bastidor que proporciona 12 TB de DRAM

Con 1/4 de bastidor que proporciona 12 TB de DRAM, hay capacidad suficiente para utilizar completamente la potencia informática del chip. El SN40L agrega además 64 GB de HBM, probablemente ubicados entre DDR4 y PMU SRAM según el contenido de relaciones públicas.

modelos de tamaño terabyte

Una arquitectura de este tipo requiere técnicas de compilación extremadamente poderosas para respaldarla, y depende en gran medida del compilador para asignar el gráfico de flujo de datos a los recursos de hardware. Los siguientes son varios escenarios de implementación que requieren soporte del compilador.

flexibilidad para soportar escenarios clave

Sistemas interconectados multitarjeta y multimáquina para entrenamiento e inferencia

escalamiento horizontal de sistemas de escala de datos

La ventaja de utilizar una gran capacidad de DRAM es que puede admitir el entrenamiento de 1 billón de modelos de lenguaje de parámetros sin la necesidad de particionar el modelo, a diferencia de los sistemas GPU. Aquí hay una comparación: entrenar un modelo 1T en GPU requiere técnicas complejas de paralelismo de modelos, mientras que en el sistema SambaNova, la huella es menor. Esto plantea un punto interesante: la tecnología Dojo a escala de oblea de Cerebras también tiene como objetivo reducir la huella informática. Quizás basándose en el trabajo actual de SambaNova, sus núcleos podrían implementarse utilizando un enfoque a escala de oblea similar al de Cerebras Dojo (las PCU y PMU de SambaNova también son relativamente detalladas). Por el contrario, otras arquitecturas podrían considerar el enfoque de gran capacidad DRAM de SambaNova (estas arquitecturas también tienen SRAM grandes y están basadas en flujo de datos).

entrenar modelos de lenguaje grandes

La importancia de reducir la huella se puede apreciar en la declaración de Elon Musk. Habilitar clústeres de GPU por encima de 10K es una tarea sustancial, con dificultad y carga de trabajo comparables a las de las supercomputadoras, lo que eleva significativamente la barrera técnica. Si el FSD 12 demuestra la viabilidad del enfoque de modelo grande de extremo a extremo para la conducción autónoma, la disponibilidad de grandes grupos de cómputo será crucial para las empresas que persiguen esta tecnología.

En ausencia de disponibilidad del H100, satisfacer las demandas de capacitación de los modelos grandes para los principales fabricantes de automóviles nacionales podría convertirse rápidamente en un cuello de botella.

almizcle x

Una de las otras ventajas de SambaNova es que puede admitir el entrenamiento en imágenes de alta resolución como 4K o incluso 50K x 50K sin necesidad de reducir la resolución a una precisión menor. Si se aplica en el ámbito de la conducción autónoma, la formación en vídeo de alta definición puede ofrecer ventajas de precisión.

Convoluciones de 4k a 50k

En las GPU, generalmente se requiere una reducción de resolución (posiblemente primero en la CPU host) para ajustar los datos a la DRAM de la GPU. La gran capacidad de memoria de SambaNova significa que no es necesario reducir la resolución ni dividirla.

permitiendo patología de imagen completa de alta resolución

Apoyar la capacitación en imágenes de mayor resolución implica la necesidad de una mayor precisión de capacitación.

Entrenamiento convolucional de alta resolución con precisión récord mundial

De manera similar, para los modelos de recomendación, las mejoras en la precisión se traducen en enormes ganancias económicas. La gran arquitectura de memoria de SambaNova es muy beneficiosa para aumentar la precisión del modelo de recomendación.

Aquí está el efecto de aceleración de SambaNova en diferentes escalas de modelos:

superando la precisión más moderna

Resumen

La arquitectura Dataflow de la RDU permite la ejecución del modelo en SRAM, lo que reduce las demandas de ancho de banda de DRAM. Sin embargo, también requiere que el compilador implemente Dataflow Graph en las RDU.

El compilador utiliza una técnica combinada de tiempo y espacio para maximizar la utilización del hardware para programas más grandes. Combinado con una alta capacidad de DRAM, esto admite modelos más grandes y entrenamiento de imágenes de alta resolución.

Interpretación de los cambios en la arquitectura SN40L

“El chip SN40L de SambaNova es único. Aborda tanto HBM (memoria de alto ancho de banda) como DRAM desde un solo chip, lo que permite a los algoritmos de IA elegir la memoria más adecuada para la tarea en cuestión, brindándoles acceso directo a cantidades de memoria mucho mayores que las que se pueden lograr de otra manera. Además, al utilizar la arquitectura RDU (Unidad de datos reconfigurable) de SambaNova, los chips están diseñados para ejecutar de manera eficiente modelos dispersos utilizando una computación más inteligente”.

La nueva arquitectura SN40L lanzada a principios de septiembre de 2023 agregó más núcleos informáticos e introdujo HBM por primera vez. Esta sección intenta interpretar el razonamiento detrás de esta elección.

Por inferencia, los parámetros del modelo de lenguaje grande son de decenas a cientos de GB, y la caché KV también es de decenas a cientos de GB, mientras que la SRAM de una sola tarjeta SN40 es de solo unos pocos cientos de MB (la SN10 tenía 320 MB).

Por ejemplo, con el modelo LLaMA de parámetro 65B, almacenar los pesos en formato FP16 requiere 65G*2=130GB. Tomando nuevamente LLaMA-65B como ejemplo, si la longitud del token de inferencia alcanza el máximo de 2048 permitido por el modelo, el tamaño total de la caché KV alcanzará los 170 GB.

Idealmente, los parámetros residirían en SRAM, la caché KV en la memoria cercana a la computación y las entradas se transmitirían directamente en el chip para impulsar la canalización de computación. Obviamente, unos cientos de MB de SRAM por tarjeta son insuficientes para alojar más de 100 GB de parámetros y dejar espacio para entradas, incluso con múltiples chips interconectados que requieren miles de chips. Para reducir la huella, todavía se necesita un modelo de programación multiplexada en el tiempo para reutilizar los recursos informáticos en el chip, cargando diferentes programas en diferentes momentos, lo que requiere una transmisión de peso con diferentes pesos para diferentes capas. Sin embargo, si los pesos y la caché KV se almacenan en DDR, la latencia sería bastante alta, lo que convierte a HBM en un medio excelente para alojar datos activos (pesos, caché KV o datos intermedios que deben derramarse).

DDR se utiliza para parámetros y datos de entrada, mientras que HBM actúa como un caché ultragrande para datos calientes (pesos, caché KV o datos intermedios a punto de usarse).

Para el ajuste y la formación, los requisitos de ancho de banda son aún mayores. La introducción de HBM proporciona mayores beneficios de ancho de banda y capacidad.

Deja Tu Comentario

Ir al Inicio