A medida que las cargas de trabajo de inteligencia artificial (IA) se vuelven más complejas, las empresas buscan arquitecturas de hardware más eficientes y escalables para ejecutar modelos de aprendizaje profundo. FuriosaAI, una prometedora empresa en el desarrollo de chips de IA, ha introducido Tensor Contraction Processing (TCP) como una alternativa a las tradicionales matrices sistólicas.
Pero, ¿es realmente TCP una innovación revolucionaria o simplemente una evolución de las arquitecturas existentes? Para responder a esta pregunta, los ingenieros de FuriosaAI, Younggeun Choi y Junyoung Park, abordaron recientemente las diferencias entre TCP y las matrices sistólicas en eventos clave como Hot Chips Conference, AI Hardware Summit y la PyTorch Conference.
A continuación, exploramos sus explicaciones y cómo TCP podría redefinir la aceleración de la IA.
¿Qué es una matriz sistólica y cuáles son sus limitaciones?
Una matriz sistólica es una cuadrícula de elementos de procesamiento (PEs) que mueve datos en una secuencia estructurada y sincronizada, similar a un latido del corazón (de ahí el nombre “sistólica”). Se usa ampliamente para multiplicación de matrices, una operación clave en el aprendizaje profundo, y ha sido la base de muchos aceleradores de IA.
Cuando se usa en condiciones óptimas, una matriz sistólica proporciona alta eficiencia computacional y bajo consumo energético, ya que los datos fluyen de manera predecible y mantienen ocupados a todos los elementos de procesamiento. Sin embargo, su estructura rígida conlleva varias limitaciones:
- Tamaño fijo: si la carga de trabajo no coincide exactamente con la dimensión de la matriz, se desperdician recursos y baja la eficiencia de utilización.
- Patrón de flujo de datos predefinido: esto limita la adaptabilidad cuando se procesan tensores de diferentes formas—un problema común en tareas de inferencia de IA.
- Riesgo de ineficiencia: si la matriz es demasiado grande, se desperdician ciclos computacionales en matrices pequeñas; si es demasiado pequeña, no alcanza la eficiencia esperada en cargas grandes.
Aquí es donde la arquitectura TCP de FuriosaAI busca mejorar la situación.
¿Qué hace diferente a TCP?
Si bien TCP y las matrices sistólicas comparten el objetivo de paralelizar cálculos, FuriosaAI introduce innovaciones clave en flexibilidad y eficiencia:
1. Configuración dinámica de unidades de cómputo
- A diferencia de la estructura fija de una matriz sistólica, TCP está compuesto por unidades más pequeñas («slices») que pueden reconfigurarse dinámicamente según el tamaño del tensor.
- Esto permite a TCP mantener una alta utilización incluso cuando las cargas de trabajo tienen tamaños de tensor variables.
2. Mayor flexibilidad en el movimiento de datos
- En una matriz sistólica, los datos se mueven en una única dirección predefinida, lo que genera ciclos computacionales desperdiciados.
- TCP introduce una red de búsqueda (fetch network) que distribuye los datos a múltiples unidades de procesamiento simultáneamente, aumentando la reutilización de datos.
- En lugar de tratar el cálculo solo como una operación espacial (como en las matrices sistólicas), TCP usa técnicas de reutilización temporal para optimizar el rendimiento.
3. Operaciones nativas de tensores
- Los NPUs tradicionales (unidades de procesamiento neuronal) están optimizados para multiplicación de matrices, lo que obliga al software a transformar operaciones tensoriales en matrices 2D.
- TCP procesa los tensores directamente, eliminando la necesidad de conversión y evitando pérdida de eficiencia.
- Esto facilita optimizar nuevos modelos de IA, reduciendo el esfuerzo de ingeniería necesario para desplegar modelos como Llama 2 o Llama 3.
4. Mayor eficiencia energética
- El acceso a la memoria es el principal consumidor de energía en IA: mover datos entre memoria externa (DRAM) y unidades de procesamiento en chip puede consumir hasta 10.000 veces más energía que el cálculo en sí.
- TCP maximiza la reutilización de datos dentro de los buffers internos, reduciendo drásticamente los costosos accesos a la memoria externa.
¿Cómo maneja TCP las cargas dinámicas de IA mejor que las GPUs?
Uno de los mayores retos en la inferencia de IA es lidiar con tamaños de lotes (batch sizes) y formas de tensores variables. Las matrices sistólicas tradicionales tienen dificultades con esto porque:
- Requieren una estructura de carga de trabajo estática, lo que reduce la eficiencia cuando cambian los tamaños de lote.
- Solo son eficientes si la carga de trabajo llena la matriz completamente, lo cual rara vez ocurre en inferencia real.
TCP supera estas limitaciones mediante la reconfiguración dinámica de sus unidades de cómputo en función de la forma del tensor. Por ejemplo:
- Si se ejecuta un modelo grande, TCP asigna más unidades de procesamiento para optimizar el rendimiento.
- Para cargas más pequeñas, TCP se divide en múltiples unidades independientes, evitando desperdiciar recursos.
- A diferencia de las matrices sistólicas, TCP se ajusta en tiempo real a los cambios en la forma del tensor.
Esto hace que TCP sea ideal para modelos de IA a gran escala utilizados por proveedores de IA en la nube y grandes empresas.
¿Cómo mejora TCP la inferencia de IA en comparación con las GPUs?
Las GPUs dominan la aceleración de IA actualmente, pero presentan ineficiencias en comparación con chips diseñados específicamente como TCP:
1. Consumo energético
- Las GPUs de alto rendimiento como la Nvidia H100 consumen hasta 1.200W, mientras que el chip RNGD de FuriosaAI opera con solo 150W, una reducción de 8 veces en consumo de energía.
2. Procesamiento eficiente de datos
- Las GPUs procesan tensores como matrices 2D, lo que requiere convertir datos multidimensionales. Esta conversión agrega sobrecarga y reduce el paralelismo.
- TCP mantiene las estructuras tensoriales, eliminando transformaciones ineficientes y simplificando la optimización de modelos.
3. Despliegue y personalización de modelos
- Optimizar modelos de IA para GPUs requiere una ingeniería extensa a nivel de kernel para recuperar eficiencia perdida por la conversión de tensores.
- TCP elimina esta complejidad al procesar tensores de manera nativa, facilitando el despliegue y ajuste de modelos de IA.
El futuro de la aceleración de IA: ¿Dónde encaja TCP?
El sector del hardware de IA está evolucionando rápidamente, con un aumento en el diseño de chips personalizados para reducir la dependencia de Nvidia y mejorar la eficiencia. TCP refleja tendencias clave de la industria:
- El declive de los chips de IA de propósito general
- Si bien las GPUs iniciaron la revolución de la IA, las empresas buscan ahora chips especializados que maximicen la eficiencia en cargas de trabajo específicas.
- El auge del silicio personalizado para IA
- Gigantes como Google, Meta y Amazon están desarrollando sus propios aceleradores de IA para reducir costos y mejorar el rendimiento.
- La posible compra de FuriosaAI por Meta sugiere un movimiento hacia chips de IA internos.
- El paso más allá de las matrices sistólicas
- Las matrices sistólicas han dominado la aceleración de IA, pero sus limitaciones estructurales ya no son viables para modelos modernos.
- TCP representa la siguiente evolución, optimizando tanto el rendimiento como el consumo energético.
Conclusión: ¿Es TCP el futuro del hardware de IA?
La arquitectura TCP de FuriosaAI representa un gran avance en la aceleración de IA al superar las limitaciones de matrices sistólicas y GPUs.
Con empresas como Meta explorando adquisiciones en este campo, TCP podría desempeñar un papel crucial en la próxima generación de hardware de IA. No reemplazará por completo a las GPUs, pero su eficiencia y adaptabilidad lo posicionan como un actor clave en la aceleración de la IA moderna.
Fuente: FuriosaAI