Aprendiendo IA

Desmontar un chip de IA desde fuera: la lección del Neural Engine de Apple

Durante tres años, la ingeniera Eileen Yoon intentó escribir un driver libre para el acelerador de IA que Apple lleva dentro de sus chips. Lo abandonó al concluir que el bloque "simplemente no es tan útil", y en agosto de 2026 volvió sobre él para terminar el mapa: no para hacerlo funcionar, sino para entender qué decisiones de diseño se grabaron en silicio y por qué el auge de los transformers las dejó atrás. Su recorrido es una clase magistral de cómo se aprende hardware de IA cuando no hay documentación.

Recibe el resumen diario de IA

Cada mañana, lo esencial de la inteligencia artificial en tu correo, sin humo. Al día con la IA.

Frecuencia:

Desmontar un chip de IA desde fuera: la lección del Neural Engine de Apple
📷 Interconnects · Open-Source AI Reading List · fuente

En resumen

  • El Apple Neural Engine (ANE) del chip M1 tiene 16 núcleos de cálculo con 128 carriles MAC en FP16 cada uno, o 256 en INT8: 2.048 reducciones en paralelo por ciclo.
  • El ANE no tiene juego de instrucciones: el driver nunca envía órdenes como CONV o MATMUL, solo carga un bloque opaco de descriptores y toca el timbre del hardware.
  • El M5 de 2025 presentó el rendimiento con LLM como característica estrella y plegó los núcleos del ANE dentro de la GPU, lo que Yoon lee como "el principio del fin de la NPU independiente".
  • Nathan Lambert cifra en unos 4-6 meses la distancia actual entre los mejores modelos abiertos y la frontera cerrada, y recuerda que desde 2024 los abiertos punteros salen de laboratorios chinos.

Ingeniería inversa es reconstruir el manual que nadie publicó

El punto de partida de Yoon no fue un documento técnico de Apple, porque no existe. Fue el propio silicio, el compilador de Core ML y los ficheros que este genera. La pregunta que guía todo su trabajo es distinta a la de hace tres años: entonces buscaba ejecutar operaciones en el acelerador, ahora quiere cartografiar la arquitectura interna completa, es decir, cálculo, ruta de datos, planificador, memoria y modelo de ejecución.

Ese cambio de objetivo importa porque las decisiones internas de un chip revelan qué supuestos sobre las cargas de trabajo de aprendizaje automático estuvo Apple dispuesta a fijar en hardware por primera vez en el A11 Bionic de 2017. Y un supuesto congelado en silicio no se puede parchear después.

Multiplicar y sumar es lo de menos; lo decisivo es por dónde circulan los datos

Yoon describe los 16 núcleos de cálculo como, probablemente, la parte menos interesante del ANE. Cada carril hace siempre lo mismo: multiplica dos operandos y suma el producto a una acumulación en marcha. Repetido durante varios ciclos, eso produce un producto escalar. Su argumento es tajante: un producto escalar es un producto escalar, y una capa convolucional y la atención de un transformer hacen exactamente esa operación.

Lo que especializó al ANE para los modelos convolucionales de 2017 no fue el multiplicador, sino el flujo de datos alrededor: cuándo y dónde entran, se quedan y se mueven los operandos. El supuesto que rompieron los transformers, sobre todo en la decodificación autorregresiva, fue justamente ese patrón de reutilización predecible que el ANE explotaba para caber en un teléfono.

Un carril individual, subraya, no sabe sobre qué dimensión del tensor está reduciendo. Que la operación acabe siendo un producto escalar, una multiplicación de matrices o una convolución depende únicamente de cómo se mapean y planifican los operandos sobre el núcleo.

La observación experimental descubre los límites que el fabricante no cuenta

Para averiguar el rango real del acumulador, Yoon construyó un programa de Core ML que calcula un producto escalar contra un vector de unos, de modo que cada multiplicación da un valor acotado pero la suma sigue creciendo. Comparando la salida del ANE con la de la CPU aparece la pista: el valor 32.768 es un número FP16 perfectamente válido, pero el acelerador devuelve infinito. El recorte, por tanto, no ocurre a la salida, sino dentro del acumulador.

La misma técnica revela cómo se implementa la activación tanh. Al compilar un modelo con una única capa tanh aparecen en el fichero de registros 33 palabras FP16 consecutivas que coinciden con muestras cuantizadas de esa función. Un experimento con una tabla artificial de un solo pico, barriendo la entrada alrededor, dibuja un triángulo perfecto: la salida sube de forma lineal y baja de forma lineal, lo que demuestra que hay interpolación entre entradas contiguas.

El driver es aburrido porque el trabajo duro lo hizo el compilador

Yoon califica el código del driver de decepcionantemente aburrido, y ahí está la enseñanza. El software nunca le entrega al ANE una orden de convolución, de multiplicación de matrices o de ReLU. Todas las operaciones neuronales vienen ya compiladas en un flujo de descriptores de tarea; el driver se limita a cargar el bloque en memoria, apuntar a él con dos registros y confirmar el lanzamiento escribiendo en un tercero. A partir de ahí el hardware es dueño del trabajo hasta que lo termina y levanta una interrupción.

El frontal de envío recuerda al de una GPU, con su búfer de comandos residente en memoria recorrido por un procesador que despacha sin saber qué ejecuta cada orden. Hay ocho colas de tareas idénticas, cada una con su estado, su prioridad y dos ranuras de descriptores que permiten ejecutar una mientras el software prepara la otra.

Sin juego de instrucciones, un acelerador es una lista de configuraciones

La conclusión más contundente del análisis es que el descriptor de tarea no es un flujo de instrucciones ejecutables: el ANE no tiene ISA. Lo que contiene es una secuencia de paquetes de escritura en ráfaga sobre los registros de configuración del hardware, con la dimensión de entrada, las direcciones de origen y destino o la función de activación. Cada paquete es una palabra de transferencia seguida de los valores que hay que volcar.

El descriptor más simple que Yoon examina, para una convolución de 1x1, ocupa 628 bytes y se divide limpiamente en secciones que corresponden una a una con los bloques de la ruta de datos: cabecera, DMA de pesos, geometría común, DMA de origen, memoria L2, elemento de proceso, motor neuronal y DMA de destino. Además, el flujo compilado solo referencia direcciones virtuales por desplazamiento relativo, con una tabla de 32 registros base que aporta la dirección real, lo que implica que carece de instrucciones de carga y almacenamiento dinámicas al estilo de una GPU.

La rigidez explica por qué la NPU independiente se está apagando

Todo encaja con el diagnóstico que llevó a Yoon a abandonar el proyecto: la arquitectura del ANE era demasiado opinada para construir sobre ella una plataforma de aceleración de propósito general, y un driver de Linux que abriera el acceso al hardware no ampliaría la clase de cargas que puede ejecutar. Como dato de contexto, señala que incluso macOS emplea de forma habitual su propio ANE para generar las vistas previas ampliadas de las imágenes en el Finder.

El desenlace industrial llegó con el M5 de 2025, cuyo reclamo fue el rendimiento con LLM y que integró los núcleos del ANE dentro de los de la GPU. Yoon interpreta el movimiento como la confirmación de que el núcleo de cálculo seguía siendo útil para transformers, pero dentro de un flujo de datos distinto. La conclusión práctica para quien aprende: el cuello de botella rara vez está donde se hace la aritmética.

El siguiente escalón para el lector curioso está en los modelos abiertos

Quien quiera continuar por el lado del software tiene un mapa equivalente al de Yoon en la lista de lectura sobre IA de código abierto que Nathan Lambert mantiene en Interconnects, actualizada el 11 de septiembre de 2026. Su propuesta es una panorámica ordenada en bloques: fundamentos sobre qué son los modelos abiertos y por qué se publican, competencia entre Estados Unidos y China, y detalles técnicos.

Entre los datos concretos que recoge, la distancia entre los modelos abiertos y la frontera cerrada se ha reducido en los últimos años hasta situarse en torno a 4-6 meses, y desde aproximadamente 2024 todos los modelos abiertos líderes proceden de laboratorios chinos. Lambert defiende además ver la apertura como un gradiente y no como un interruptor binario, atendiendo a la licencia, el coste de ejecución o el acceso a los datos.

La lista dedica un bloque específico a la destilación, que Lambert describe como el debate más movido de 2026 en torno a los modelos abiertos, y otro a riesgos y ciberseguridad, con la tesis de que no se puede controlar el acceso a la inteligencia por encima de un umbral y conviene preparar a la sociedad para gestionar las consecuencias.

Conclusión

El valor del trabajo de Yoon no está en el driver que no llegó a usarse, sino en el método: compilar modelos mínimos, leer el binario resultante, formular una hipótesis sobre el hardware y diseñar un experimento que la confirme o la tumbe. De ahí sale la lección que trasciende al Apple Neural Engine, y es que un acelerador no es rápido en abstracto, sino rápido para el patrón de acceso a datos que sus diseñadores dieron por sentado. Cuando ese patrón cambia, como ocurrió al pasar de las redes convolucionales a los transformers, el silicio no se adapta: se reabsorbe dentro de otro bloque más flexible, que es exactamente lo que hizo Apple con el M5. Para quien viene del software, entender esa dependencia es tan formativo como leer la lista de Lambert para entender por qué el ecosistema abierto se mueve hoy al ritmo que se mueve.

Fuentes primarias

Comentarios

Sé respetuoso. Los comentarios se moderan.

    Recibe el resumen diario de IA

    Cada mañana, lo esencial de la inteligencia artificial en tu correo, sin humo. Al día con la IA.

    Frecuencia:

    ← Volver al blog