Casi toda la inteligencia artificial moderna corre sobre GPUs, y por buenas razones: son máquinas de throughput hechas para procesar enormes cantidades de datos en paralelo. Pero hay aplicaciones donde el problema no es el volumen, sino el tiempo: necesitan una respuesta en nanosegundos, y ahí una GPU llega tarde.
Un equipo del MIT acaba de mostrar un camino concreto para ese escenario. Su trabajo sobre KAN en FPGA ganó el Best Paper de FPGA 2026 y propone correr redes neuronales como circuito digital puro, sin instrucciones ni planificador de por medio.
TL;DR
- Duc Hoang, Aarush Gupta y Philip Harris (MIT) publicaron KANELÉ, ganador del Best Paper en FPGA 2026 de ACM/SIGDA.
- El método corre redes Kolmogorov-Arnold (KAN) directamente como lógica digital en FPGA, no como instrucciones en CPU/GPU.
- El objetivo es inferencia de latencia ultra-baja: del orden de nanosegundos, fuera del alcance práctico de una GPU.
- La clave es cuantización de punto fijo: se aprende una función continua y se discretiza en una tabla de búsqueda (LUT).
- Las KAN ponen funciones univariadas aprendibles en las aristas, lo que encaja de forma natural con las LUT del FPGA.
- Un segundo paper (ICML 2026, arXiv 2602.02056) usa la localidad de los splines para aprendizaje online en el propio chip.
- Aplicaciones: triggers de física de altas energías, control en robótica, trading de baja latencia y cómputo en el borde.
Qué pasó
El 7 de junio de 2026, el investigador Aarush Gupta publicó un explicador de su tesis de maestría sobre arquitecturas de hardware para inferencia ultrarrápida y aprendizaje online usando redes Kolmogorov-Arnold (KAN). Detrás hay dos artículos académicos con resultados concretos. El primero, titulado KANELÉ: Kolmogorov-Arnold Networks for Efficient LUT-based Evaluation, firmado junto a Duc Hoang y Philip C. Harris, recibió el premio al mejor artículo del simposio internacional FPGA 2026 de ACM/SIGDA. El segundo, presentado en ICML 2026, ataca el aprendizaje online dentro del propio chip.
La idea central de KAN en FPGA es deceptivamente simple: en lugar de ejecutar una red neuronal como una secuencia de instrucciones sobre un procesador, se la implementa como un circuito digital fijo, grabado en la tela reconfigurable del FPGA. Eso elimina casi toda la sobrecarga que arrastran las CPUs y GPUs, y abre la puerta a latencias que estos procesadores no pueden alcanzar.
Por qué importa la inferencia en FPGA
Una GPU es excelente cuando el cuello de botella es procesar millones de muestras a la vez. Pero su arquitectura paga un precio: planificar y optimizar instrucciones, acceder a memoria de forma dinámica, coordinar miles de hilos. Toda esa maquinaria añade latencia. Para cargas muy especializadas que exigen respuestas en el orden de nanosegundos, ese sobrecosto es inaceptable.
Los FPGA (field-programmable gate arrays) son dispositivos de lógica digital reconfigurable. Contienen tablas de búsqueda (LUT), que representan funciones digitales enumerando la salida para cada combinación de entradas binarias; flip-flops, que guardan estado; y otros bloques de memoria y cómputo. Reconfigurando esos componentes y sus conexiones se diseña un circuito a medida. La consecuencia clave es que la red neuronal se vuelve hardware directamente: cada multiplicación y cada suma viven en el silicio, no en una cola de instrucciones.
💭 Clave: en un FPGA la red no "se ejecuta", la red es el circuito. Por eso puede responder en nanosegundos en vez de microsegundos o milisegundos.
¿Dónde se necesita esto en la vida real? En los triggers de los grandes experimentos de física de partículas, que deben decidir en tiempo real qué colisiones guardar entre millones por segundo; en lazos de control de robótica de alta frecuencia; en sistemas de trading de baja latencia; y, cada vez más, en cómputo en el borde donde el presupuesto de energía y tiempo es minúsculo.
Los FPGA convierten la red neuronal en lógica digital, no en instrucciones.
Qué es una red Kolmogorov-Arnold
Para entender por qué las KAN encajan tan bien con un FPGA, conviene contrastarlas con el perceptrón multicapa (MLP) clásico. Un MLP coloca pesos lineales en las aristas y funciones de activación fijas (como ReLU) en los nodos. Una red Kolmogorov-Arnold invierte la idea: pone funciones de activación aprendibles en las aristas, normalmente representadas como splines (curvas suaves definidas por tramos), y deja los nodos como simples sumas.
El nombre viene del teorema de representación de Kolmogorov-Arnold, que dice que cualquier función continua de varias variables puede expresarse como composición de sumas y funciones de una sola variable. En la práctica, esto significa que la red aprende un conjunto de funciones univariadas. Y una función univariada es, justamente, lo que una LUT sabe representar de maravilla: para cada valor de entrada, un valor de salida.
Cuantización de punto fijo: del número real al bit
Los FPGA operan sobre bits, no sobre números reales. Para llevar la aritmética de una red al hardware necesitamos codificar números reales como cadenas de bits, un proceso llamado cuantización. El esquema usado aquí es la cuantización de punto fijo: se representa el número en base 2 reservando algunos bits para la parte fraccionaria.
Un ejemplo aterriza la idea. Con 8 bits totales y 4 bits fraccionarios podemos representar 2⁸ valores, desde −8 hasta 7.9375, espaciados en incrementos de 1/2⁴ = 0.0625. Cualquier número real fuera de esa rejilla se aproxima al valor representable más cercano, y esa diferencia es el error de cuantización. Minimizarlo es central para que el entrenamiento y la inferencia sean estables.
def cuantizar_punto_fijo(x, bits_frac=4):
escala = 2 ** bits_frac
# se redondea al valor representable mas cercano de la rejilla
return round(x * escala) / escala
for valor in [3.14159, 0.01, -7.9, 9.0]:
print(valor, "->", cuantizar_punto_fijo(valor))
# 3.14159 -> 3.1875
# 0.01 -> 0.0
# -7.9 -> -7.9375
# 9.0 -> 7.9375 (saturado al maximo representable)
El truco fino es no aprender la LUT directamente —algo difícil por descenso de gradiente— sino aprender una función continua f y luego cuantizarla. Si discretizamos el dominio en 2^(bits de entrada) valores y el rango en 2^(bits de salida) valores, cada entrada posible queda mapeada a su salida correspondiente, y eso es exactamente una tabla de búsqueda.
LUT-NN y KANELÉ: la pieza que une todo
Una red neuronal de tablas de búsqueda (LUT-NN) usa LUTs como primitiva básica. El problema histórico es que entrenar LUTs con gradientes es complicado. La receta que evita ese muro es: entrenar una función real-valuada f por descenso de gradiente y, una vez entrenada, cuantizarla a la LUT final. Como las KAN ya están hechas de funciones univariadas en sus aristas, la traducción a LUTs es natural —no hay que forzar una arquitectura pensada para multiplicaciones densas dentro de un molde que no le calza.
Ese es el corazón de KANELÉ (Kolmogorov-Arnold Networks for Efficient LUT-based Evaluation): aprovechar la estructura de la KAN para una evaluación eficiente basada en tablas de búsqueda. El flujo conceptual se ve así:
graph LR
A["f(x) continua aprendida"] --> B["Cuantizacion de punto fijo"]
B --> C["LUT (tabla de busqueda)"]
C --> D["Logica digital en FPGA"]
D --> E["Inferencia en nanosegundos"]
Cada función de arista de la KAN se convierte en una LUT, y el conjunto de LUTs interconectadas es la red corriendo en hardware. No hay caché, no hay planificador, no hay acceso dinámico a memoria: solo señales propagándose por compuertas.
Cada función de la KAN se hornea en una LUT del FPGA.
Aprendizaje online: la localidad de los splines
El segundo artículo (ICML 2026) lleva la idea un paso más allá: no solo inferencia rápida, sino aprendizaje online dentro del propio FPGA. Aquí la propiedad que se explota es la localidad de los splines. En una KAN, una función de arista es un spline definido por tramos; cambiar el valor de una entrada solo afecta a un puñado de coeficientes locales del spline, no a toda la función.
Esa localidad es oro para el hardware. Significa que actualizar el modelo con un nuevo dato no exige recomputar la red entera, sino ajustar unas pocas posiciones de la tabla. El costo de cada actualización es pequeño y, sobre todo, acotado y predecible —condiciones ideales para implementarlo como un circuito de actualización on-chip. En la práctica, abre la posibilidad de modelos que se adaptan en caliente, en sistemas donde mandar los datos a un servidor para reentrenar sería demasiado lento o simplemente inviable.
📌 Nota: el aprendizaje online en el borde es difícil justamente porque el reentrenamiento suele ser caro. La localidad de splines de las KAN convierte ese costo en algo manejable por hardware fijo.
Datos y cifras
Más allá de la teoría, vale ubicar los hitos verificables. El artículo KANELÉ fue reconocido como Best Paper de FPGA 2026, el simposio de referencia de la comunidad de FPGA dentro de ACM/SIGDA; está catalogado con DOI 10.1145/3748173.3779202. El trabajo sobre aprendizaje online aparece como preprint en arXiv con identificador 2602.02056 y fue aceptado en ICML 2026, una de las conferencias de mayor prestigio en machine learning. Ambos llevan firma compartida (contribución igualitaria) de Duc Hoang y Aarush Gupta, junto a Philip Harris.
En cuanto a desempeño, el régimen objetivo es la latencia sub-microsegundo, con operaciones del orden de nanosegundos —el territorio donde las GPUs dejan de ser competitivas por su sobrecarga inherente. Los números finos de cada benchmark (recursos consumidos del FPGA, error de cuantización, exactitud frente a un MLP equivalente) están en los dos papers originales, que es el lugar correcto para consultarlos antes de citar cifras concretas.
Impacto y análisis para LATAM
Para la comunidad de desarrolladores e investigadores en América Latina, este trabajo toca dos fibras. La primera es la del cómputo en el borde: muchos despliegues de la región operan con restricciones reales de energía, conectividad y costo, y un modelo que vive en un FPGA de bajo consumo —sin depender de una GPU en la nube para cada inferencia— es una arquitectura atractiva para IoT industrial, agricultura de precisión, monitoreo ambiental o instrumentación científica.
La segunda es académica. Las KAN son una arquitectura relativamente joven y todavía hay mucho espacio para investigación aplicada: explorar nuevas funciones de arista, mejores esquemas de cuantización, o el matrimonio entre KAN y hardware reconfigurable en dominios específicos. Es el tipo de tema donde un grupo universitario con acceso a placas FPGA de gama media puede producir resultados publicables sin necesitar clústeres millonarios de GPUs.
💡 Tip: si querés experimentar con KAN antes de pensar en hardware, podés prototipar en software con la librería de referencia
pykany entender el comportamiento de los splines antes de cuantizar.
Para instalar la librería y empezar a jugar con redes Kolmogorov-Arnold en cualquier sistema:
# Windows (PowerShell)
py -m pip install pykan
# macOS
pip3 install pykan
# Linux
pip3 install pykan
A partir de ahí se puede entrenar una KAN pequeña, inspeccionar las funciones univariadas que aprende en cada arista y simular la cuantización de punto fijo para anticipar el error que tendría una versión en LUT. Es el puente natural entre el prototipo en Python y la implementación en hardware.
Qué sigue
La dirección es clara: convertir las KAN en un bloque de construcción estándar para aceleradores de latencia ultra-baja, con flujos de herramientas que automaticen el paso de la función continua entrenada a las LUTs del FPGA. El aprendizaje online on-chip, si madura, podría habilitar sensores y controladores que se calibran solos en tiempo real. Y como ambos papers son recientes y abiertos, lo más probable es que veamos reproducciones, comparativas frente a otras arquitecturas LUT-NN y nuevas aplicaciones en los próximos meses. El campo de "machine learning como hardware" está lejos de cerrarse.
📖 Resumen en Telegram: Ver resumen
Preguntas frecuentes
¿Qué es una red Kolmogorov-Arnold (KAN)?
Es una arquitectura de red neuronal que coloca funciones de activación aprendibles (splines) en las aristas, en lugar de los pesos lineales más activaciones fijas del perceptrón multicapa clásico. Su nombre viene del teorema de representación de Kolmogorov-Arnold.
¿Por qué usar un FPGA en vez de una GPU para inferencia?
Porque para tareas de latencia ultra-baja (nanosegundos) la GPU paga demasiada sobrecarga en planificación de instrucciones y acceso a memoria. El FPGA implementa la red como circuito digital fijo, eliminando esa sobrecarga.
¿Qué es la cuantización de punto fijo?
Es codificar números reales como bits reservando una cantidad fija de bits para la parte fraccionaria. Permite representar un conjunto discreto de valores en un rango fijo, con un error de aproximación que conviene minimizar.
¿Qué aporta KANELÉ específicamente?
Aprovecha que las KAN ya están hechas de funciones univariadas para convertirlas eficientemente en tablas de búsqueda (LUT) del FPGA, logrando inferencia rápida. Ganó el Best Paper de FPGA 2026.
¿Cómo permiten las KAN aprender en el propio chip?
Por la localidad de los splines: actualizar una entrada solo afecta a unos pocos coeficientes locales, así que cada actualización es barata y acotada, ideal para implementarse como hardware de actualización on-chip.
¿Dónde puedo leer los resultados completos?
En los dos artículos originales: KANELÉ (FPGA 2026) y el paper de aprendizaje online en arXiv 2602.02056, además del explicador de alto nivel del autor.
Referencias
- Ultrafast machine learning on FPGAs via Kolmogorov-Arnold Networks — explicador de alto nivel del autor (Aarush Gupta).
- KANELÉ: Kolmogorov-Arnold Networks for Efficient LUT-based Evaluation — Best Paper, FPGA 2026 (ACM/SIGDA).
- Ultrafast on-FPGA Online Learning via Spline Locality in Kolmogorov-Arnold Networks — preprint arXiv, ICML 2026.
📱 ¿Te gusta este contenido? Únete a nuestro canal de Telegram @programacion donde publicamos a diario lo más relevante de tecnología, IA y desarrollo. Resúmenes rápidos, contenido fresco todos los días.
Top comments (0)