Con el ritmo acelerado del desarrollo de los modelos de inteligencia artificial, los diseñadores de chips enfrentan presiones crecientes para pasar de la computación de propósito general a infraestructuras altamente especializadas. En el centro de esta transformación, la arquitectura RISC-V surge como una opción controvertida; mientras algunos la ven como un medio para lograr una flexibilidad sin precedentes a través de instrucciones personalizadas (Custom Instructions), otros temen que pueda imponer complejidades de ingeniería que debiliten la eficiencia de los sistemas de aceleración de inteligencia artificial.
El dilema de la separación entre procesador y acelerador
Los expertos plantean un punto de vista divergente sobre el uso de RISC-V para realizar operaciones de cálculo pesado (Inferencia). Steve Roddy, de la empresa Quadric, sostiene que comenzar con una arquitectura de CPU para diseñar un acelerador de inteligencia artificial podría ser una "mala idea" desde el punto de vista de la ingeniería. La razón radica en el problema de la partición (Partitioning); donde los diseñadores se ven obligados a dividir el trabajo entre un procesador programable y un acelerador externo.
Esta partición conduce a varios desafíos técnicos:
- Complejidad de la transferencia de datos: La necesidad de compiladores extremadamente avanzados para gestionar el movimiento de datos entre el acelerador y el procesador a través de una red en chip (NoC).
- Ineficiencia de la estructura: Los procesadores tradicionales están diseñados para seguir punteros (Pointers) y lógica variable, mientras que las operaciones de inteligencia artificial requieren cálculos de matrices (Matrix-by-Matrix) predecibles durante millones de ciclos, algo en lo que destacan unidades como la TPU de Google y no los procesadores RISC-V tradicionales.
- Escalabilidad del problema: Cuanto mayor sea el tamaño del acelerador, más difícil será gestionar esta partición y mayor será el costo de resolver los problemas de transferencia de datos.
RISC-V como el "cerebro" de los aceleradores y no sus "músculos"
Por otro lado, Dave Kelf, CEO de Breker, considera que el valor real de RISC-V no reside en realizar cálculos pesados, sino en actuar como una función de control (Control Function) sobre los aceleradores. En los sistemas modernos, las máquinas de estado complejas (State Machines) a menudo fallan en la gestión de las operaciones, y aquí es donde entra RISC-V para proporcionar:
- Control flexible: La capacidad de gestionar la divergencia en operaciones de computación paralela (SIMT) de manera eficiente.
- Instrucciones personalizadas de carga y almacenamiento: Reducción de la latencia entre el acelerador y el procesador mediante la adición de instrucciones de programación especiales para optimizar el movimiento de datos.
- Evitar regalías: Proporcionar una alternativa económica a los procesadores propiedad de otras empresas (como Arm o Tensilica) sin pagar costosas tarifas de licencia, manteniendo la capacidad de personalización.
Desafíos de verificación y monitoreo en sistemas personalizados
Los desafíos no terminan con el diseño de instrucciones, sino que se extienden a la fase de verificación (Verification). Francisca Tan, de Siemens EDA, señala que la alta personalización requiere capacidades de observabilidad (Observability) avanzadas para rastrear las instrucciones personalizadas durante la ejecución. Asimismo, Ewald Liess, de la empresa SignatureIP, advierte que la multiplicidad de núcleos en sistemas de alto rendimiento puede provocar problemas de coherencia de caché (Cache Coherency) y estados de bloqueo (Deadlocks) en la red de interconexión (Fabric), lo que significa que las instrucciones pueden funcionar correctamente a nivel de software, pero el chip podría fallar debido a cuellos de botella en el tráfico de datos.
¿Qué cambia prácticamente para los diseñadores?
Este debate apunta a un cambio fundamental en cómo se utiliza RISC-V en el mercado de la inteligencia artificial. En lugar de intentar competir con procesadores especializados en cálculos matriciales, la tendencia se dirige hacia el uso de RISC-V como un orquestador (Orchestrator) inteligente. Esto significa que las empresas que adopten RISC-V deben centrarse en:
- Construir instrucciones personalizadas destinadas a reducir la latencia y no a aumentar la potencia de cálculo bruta.
- Invertir masivamente en herramientas de verificación y monitoreo para garantizar la estabilidad del sistema ante ráfagas de tráfico de datos (Traffic Bursts).
- Centrarse en la integración entre el procesador y la red de interconexión (NoC) para asegurar que la flexibilidad no se convierta en una carga en la gestión de datos.