Aprenent IA
Desmuntar un xip d'IA des de fora: la lliçó del Neural Engine d'Apple
Durant tres anys, l'enginyera Eileen Yoon va mirar d'escriure un driver lliure per a l'accelerador d'IA que Apple porta dins dels seus xips. El va abandonar en concloure que el bloc "simplement no és tan útil", i l'agost del 2026 hi va tornar per acabar-ne el mapa: no pas per fer-lo funcionar, sinó per entendre quines decisions de disseny van quedar gravades al silici i per què l'auge dels transformers les va deixar enrere. El seu recorregut és una classe magistral de com s'aprèn maquinari d'IA quan no hi ha documentació.
Rep el resum diari d'IA
Cada matí, l'essencial de la intel·ligència artificial al teu correu, sense fum. Al dia amb la IA.
En subscriure-t'hi acceptes rebre el butlletí d'AI Informator. Pots donar-te de baixa quan vulguis.
En resum
- L'Apple Neural Engine (ANE) del xip M1 té 16 nuclis de càlcul amb 128 carrils MAC en FP16 cadascun, o 256 en INT8: 2.048 reduccions en paral·lel per cicle.
- L'ANE no té joc d'instruccions: el driver no envia mai ordres com ara CONV o MATMUL, només carrega un bloc opac de descriptors i truca el timbre del maquinari.
- L'M5 del 2025 va presentar el rendiment amb LLM com a característica estrella i va plegar els nuclis de l'ANE dins de la GPU, un gest que Yoon llegeix com "el principi de la fi de la NPU independent".
- Nathan Lambert xifra en uns 4-6 mesos la distància actual entre els millors models oberts i la frontera tancada, i recorda que des del 2024 els oberts capdavanters surten de laboratoris xinesos.
Fer enginyeria inversa és reconstruir el manual que ningú no va publicar
El punt de partida de Yoon no va ser cap document tècnic d'Apple, perquè no existeix. Va ser el silici mateix, el compilador de Core ML i els fitxers que aquest genera. La pregunta que guia tota la feina és diferent de la de fa tres anys: llavors buscava executar operacions a l'accelerador; ara vol cartografiar tota l'arquitectura interna, és a dir, el càlcul, la ruta de dades, el planificador, la memòria i el model d'execució.
Aquest canvi d'objectiu importa perquè les decisions internes d'un xip revelen quines suposicions sobre les càrregues de treball d'aprenentatge automàtic va estar disposada Apple a fixar en maquinari per primera vegada a l'A11 Bionic del 2017. I una suposició congelada al silici ja no es pot apedaçar després.
Multiplicar i sumar és el de menys; el que decideix és per on circulen les dades
Yoon descriu els 16 nuclis de càlcul com, probablement, la part menys interessant de l'ANE. Cada carril fa sempre el mateix: multiplica dos operands i suma el producte a una acumulació en marxa. Repetit durant uns quants cicles, això dona un producte escalar. L'argument és contundent: un producte escalar és un producte escalar, i tant una capa convolucional com l'atenció d'un transformer fan exactament aquesta operació.
El que va especialitzar l'ANE per als models convolucionals del 2017 no va ser el multiplicador, sinó el flux de dades del voltant: quan i on entren els operands, quanta estona s'hi queden i com es mouen. La suposició que van trencar els transformers, sobretot en la descodificació autoregressiva, va ser justament aquell patró de reutilització previsible que l'ANE aprofitava per cabre dins d'un telèfon.
Un carril individual, subratlla, no sap sobre quina dimensió del tensor està reduint. Que l'operació acabi essent un producte escalar, una multiplicació de matrius o una convolució depèn només de com es mapen i es planifiquen els operands sobre el nucli.
L'observació experimental descobreix els límits que el fabricant no explica
Per esbrinar el rang real de l'acumulador, Yoon va construir un programa de Core ML que calcula un producte escalar contra un vector d'uns, de manera que cada multiplicació dona un valor acotat però la suma continua creixent. En comparar la sortida de l'ANE amb la de la CPU apareix la pista: el valor 32.768 és un nombre FP16 perfectament vàlid, però l'accelerador retorna infinit. La retallada, doncs, no passa a la sortida, sinó dins de l'acumulador.
La mateixa tècnica revela com s'implementa l'activació tanh. En compilar un model amb una sola capa tanh, al fitxer de registres apareixen 33 paraules FP16 consecutives que coincideixen amb mostres quantitzades d'aquesta funció. Un experiment amb una taula artificial d'un únic pic, escombrant l'entrada al voltant, dibuixa un triangle perfecte: la sortida puja de manera lineal i baixa de manera lineal, cosa que demostra que hi ha interpolació entre entrades contigües.
El driver és avorrit perquè la feina dura la va fer el compilador
Yoon qualifica el codi del driver de decebedorament avorrit, i justament aquí hi ha l'ensenyament. El programari no lliura mai a l'ANE una ordre de convolució, de multiplicació de matrius o de ReLU. Totes les operacions neuronals arriben ja compilades en un flux de descriptors de tasca; el driver es limita a carregar el bloc a memòria, apuntar-hi amb dos registres i confirmar el llançament escrivint en un tercer. A partir d'aquí, el maquinari és amo de la feina fins que l'acaba i aixeca una interrupció.
El frontal d'enviament recorda el d'una GPU, amb el seu búfer d'ordres resident a memòria que recorre un processador que les reparteix sense saber què executa cadascuna. Hi ha vuit cues de tasques idèntiques, cadascuna amb el seu estat, la seva prioritat i dues ranures de descriptors que permeten executar-ne una mentre el programari prepara l'altra.
Sense joc d'instruccions, un accelerador és una llista de configuracions
La conclusió més rotunda de l'anàlisi és que el descriptor de tasca no és un flux d'instruccions executables: l'ANE no té ISA. El que conté és una seqüència de paquets d'escriptura en ràfega sobre els registres de configuració del maquinari, amb la dimensió d'entrada, les adreces d'origen i destinació o la funció d'activació. Cada paquet és una paraula de transferència seguida dels valors que cal abocar-hi.
El descriptor més simple que examina Yoon, per a una convolució d'1x1, ocupa 628 bytes i es divideix netament en seccions que es corresponen una a una amb els blocs de la ruta de dades: capçalera, DMA de pesos, geometria comuna, DMA d'origen, memòria L2, element de procés, motor neuronal i DMA de destinació. A més, el flux compilat només referencia adreces virtuals per desplaçament relatiu, amb una taula de 32 registres base que aporta l'adreça real; això implica que no té instruccions de càrrega i emmagatzematge dinàmiques a l'estil d'una GPU.
La rigidesa explica per què la NPU independent s'està apagant
Tot lliga amb el diagnòstic que va portar Yoon a abandonar el projecte: l'arquitectura de l'ANE era massa tancada en les seves conviccions per construir-hi al damunt una plataforma d'acceleració de propòsit general, i un driver de Linux que obrís l'accés al maquinari no ampliaria la mena de càrregues que pot executar. Com a dada de context, assenyala que fins i tot macOS fa servir habitualment el seu propi ANE per generar les previsualitzacions ampliades de les imatges al Finder.
El desenllaç industrial va arribar amb l'M5 del 2025, que es va vendre pel rendiment amb LLM i que va integrar els nuclis de l'ANE dins dels de la GPU. Yoon interpreta el moviment com la confirmació que el nucli de càlcul continuava essent útil per als transformers, però dins d'un flux de dades diferent. La conclusió pràctica per a qui aprèn: el coll d'ampolla rarament és allà on es fa l'aritmètica.
El pas següent per al lector encuriosit són els models oberts
Qui vulgui continuar pel costat del programari té un mapa equivalent al de Yoon en la llista de lectura sobre IA de codi obert que Nathan Lambert manté a Interconnects, actualitzada l'11 de setembre del 2026. La seva proposta és una panoràmica ordenada en blocs: fonaments sobre què són els models oberts i per què es publiquen, competència entre els Estats Units i la Xina, i detalls tècnics.
Entre les dades concretes que recull, la distància entre els models oberts i la frontera tancada s'ha reduït els darrers anys fins a situar-se al voltant dels 4-6 mesos, i des del 2024 aproximadament tots els models oberts capdavanters venen de laboratoris xinesos.
La llista dedica un bloc específic a la destil·lació, que Lambert descriu com el debat més mogut del 2026 al voltant dels models oberts, i un altre als riscos i la ciberseguretat, amb la tesi que no es pot controlar l'accés a la intel·ligència per damunt d'un cert llindar i que convé preparar la societat per gestionar-ne les conseqüències.
Conclusió
El valor de la feina de Yoon no és el driver que no es va arribar a fer servir, sinó el mètode: compilar models mínims, llegir el binari resultant, formular una hipòtesi sobre el maquinari i dissenyar un experiment que la confirmi o la tombi. D'aquí en surt la lliçó que va més enllà de l'Apple Neural Engine: un accelerador no és ràpid en abstracte, sinó ràpid per al patró d'accés a dades que els seus dissenyadors van donar per fet. Quan aquest patró canvia, com va passar en passar de les xarxes convolucionals als transformers, el silici no s'hi adapta: es reabsorbeix dins d'un altre bloc més flexible, que és exactament el que va fer Apple amb l'M5. Per a qui ve del programari, entendre aquesta dependència és tan formatiu com llegir la llista de Lambert per entendre per què l'ecosistema obert es mou avui al ritme que es mou.
Fonts primàries
Rep el resum diari d'IA
Cada matí, l'essencial de la intel·ligència artificial al teu correu, sense fum. Al dia amb la IA.
En subscriure-t'hi acceptes rebre el butlletí d'AI Informator. Pots donar-te de baixa quan vulguis.
Comentarios