Quando il trucco matematico smette di essere gratis

Avere un oracolo matematico che moltiplica la velocità di un calcolo senza chiedere in cambio potenza di calcolo è il sogno proibito di ogni infrastruttura on-premise. Un settore dove la tentazione corre alta è l’inference di reti neurali, e in particolare la convoluzione circolare, un’operazione che si presta a essere calcolata in O(N log N) sia con la trasformata discreta di Fourier (DFT) sia con una sua parente povera: la trasformata di Hadamard. La differenza? La Hadamard lavora solo con segni reali, evitando i numeri complessi, e questo la rende appetibile su chip ARM, FPGA o GPU prive di unità dedicate. Peccato che sostituirla alla DFT introduca un errore algebrico.

Uno studio recente, intitolato «Structure of the Circular-Dyadic Convolution Error», mette a nudo la natura di questo errore e offre un set di risultati che meritano attenzione da parte di chi progetta pipeline di inference destinate a girare su hardware senza fronzoli. Il primo messaggio è che l’errore non è una nebbia uniforme: esiste una cancellazione perfetta. Due posizioni in ingresso e due in uscita sono universalmente esenti da errore, e nessuna permutazione dell’output può eliminare del tutto la presenza di errore residuo altrove. È come se il sistema avesse un paio di respiri di aria pulita in un ambiente altrimenti contaminato.

Il secondo risultato riguarda la struttura dell’operatore d’errore: è quasi a rango pieno, mentre il suo spazio nullo ha una dimensione che cresce solo logaritmicamente con la dimensione del segnale. Questo significa che lo spazio dei filtri per i quali la sostituzione non produce alcun errore (il «sotto-spazio a prova d’errore») è minuscolo, ma esiste. Un dato che trasforma una scorciatoia in un potenziale obiettivo di progettazione: se il modello che intendiamo eseguire può essere addestrato mantenendo i propri pesi all’interno di quel sottospazio, l’approssimazione cessa di essere approssimativa. Diventa esatta, e la convoluzione via Hadamard diventa matematicamente equivalente a quella via DFT, ma senza il costo computazionale dell’aritmetica complessa.

Il terzo tassello quantifica l’errore medio: è governato da un singolo scalare di allineamento, calcolabile in forma chiusa mediando su filtri casuali. In generale, l’errore di sostituzione raddoppia asintoticamente l’energia del segnale in uscita, a meno che il filtro non appartenga al ristretto club degli input immuni.

Tradotto in scelte concrete per un deployment on-premise, questo framework matematico offre un metro per soppesare i compromessi. Chi sta assemblando un server di inference con GPU di vecchia generazione, o sta considerando di spostare parte del carico su una batteria di ARM in un armadio raffreddato ad aria, può interrogarsi: il mio modello produce risultati all’interno di tolleranze note? E soprattutto, posso correggere l’addestramento per far sì che i filtri cadano nello spazio nullo, guadagnando prestazioni senza alcuna perdita di fedeltà? Se la risposta è sì, il TCO si abbassa senza che il dominio applicativo ne risenta.

Per chi valuta percorsi diversi, AI-RADAR ha pubblicato framework analitici su /llm-onpremise per confrontare trade-off di questo tipo. Non si tratta solo di risparmiare sulla bolletta elettrica: è un modo di ripensare l’accoppiamento tra software e hardware, spostando la fatica computazionale a monte (in fase di training, magari sul cloud) per poi raccogliere i frutti su macchine meno esose. L’analisi dell’errore di convoluzione Hadamard–DFT diventa così un esempio didattico di come la matematica più astratta possa illuminare le scelte più pragmatiche di chi gestisce stack locali.