Su iPhone un LLM va alla velocità della memoria, non dei TOPS
L'A20 Pro raddoppia i core del Neural Engine, ma un LLM di terze parti genera token leggendo i pesi dalla memoria: il guadagno arriva dalla banda, non dai TOPS.
Il numero che Apple mette in evidenza per l'A20 Pro è il Neural Engine: due unità da 16 core, 32 core in totale, il doppio della potenza di calcolo AI rispetto all'A19 Pro. Il numero che decide se un modello linguistico di terze parti gira sul telefono, e quanto veloce, è un altro: 12GB di RAM e il 50% in più di banda di memoria. I due numeri non misurano la stessa cosa, e per chi scrive app c'è una bella differenza.
Cosa serve per generare un token
Un LLM non produce una frase in un colpo solo. La generazione ha due fasi con vincoli diversi. Nella prima, il prefill, il modello legge il prompt e calcola lo stato interno di tutti i token in ingresso: è un lavoro parallelo, fatto di moltiplicazioni di matrici, e va dove c'è calcolo. Nella seconda, il decode, il modello produce un token alla volta, e per ogni token deve rileggere tutti i pesi.
Il prefill usa il calcolo, il decode usa la memoria
Il prefill somiglia a una catena di montaggio: migliaia di operazioni indipendenti, che il Neural Engine e la GPU possono eseguire in parallelo. Il decode è diverso. Ogni token dipende dal precedente, quindi non c'è parallelismo da sfruttare: c'è solo un flusso di pesi che deve passare dalla memoria al chip, un token dopo l'altro. Un secondo Neural Engine accelera il primo caso; non cambia il secondo, perché lì il chip non sta aspettando di calcolare, sta aspettando i dati.
L'analogia è un magazzino con una cassa velocissima. La cassiera può scansionare mille articoli al secondo, ma se il carrello ne porta uno alla volta, la velocità del negozio è quella del carrello. Aggiungere una seconda cassiera non fa arrivare più carrelli.
La cassiera può scansionare mille articoli al secondo, ma la velocità del negozio è quella del carrello.
Il conto dei byte
La quantizzazione in 4-bit è il formato con cui questi modelli stanno su un telefono: un valore a 4 bit occupa mezzo byte. Un modello da 3 miliardi di parametri pesa quindi circa 1,5GB, uno da 7 miliardi circa 3,5GB, uno da 8 miliardi circa 4GB. A questi si aggiungono la cache di contesto e il runtime.
Generare un token significa leggere quei GB dalla memoria. Se la memoria del telefono consegna B gigabyte al secondo, il tetto di velocità è di circa B diviso il peso del modello, in token al secondo. Raddoppiare i TOPS non sposta quel tetto: la banda è la stessa. Aumentare la banda del 50% invece lo alza di circa il 50%.
Sull'A20 Pro un LLM di terze parti non guadagna un fattore 2 dalla doppia unità neurale, guadagna nell'ordine del 50%, quanto è cresciuta la banda di memoria.
Su un Mac la stessa aritmetica dimostra la differenza. Il chip ha più banda e più memoria, quindi lo stesso modello genera più token al secondo e ne entrano di più grandi. Nella sessione WWDC26 sull'integrazione di modelli si vede che lo stesso codice che su iPhone carica un Qwen da 0,6 miliardi di parametri, su Mac passa a un Qwen3 da 8 miliardi. Il fattore che abilita l'upgrade è la memoria disponibile, non i TOPS del Neural Engine.
Perché il minimo è 12GB
Quando finiscono i 12GB
I 12GB non sono un numero di marketing: sono una soglia di sistema. iOS 27 richiede almeno 12GB per il modello on-device più avanzato, quello che alimenta dettatura migliorata e voci espressive. L'iPhone 17 base, con 8GB, resta fuori; la stessa soglia vale per iPad e Mac, che richiedono rispettivamente un chip M4 o successivo e un M3 o successivo. Nella fascia alta, iPhone 18 Pro e Pro Max arrivano a 12GB, e con loro l'iPhone Air.
La RAM totale non è tutta disponibile per l'app. Sistema operativo, servizi e altre app ne occupano una parte, quindi il budget effettivo è più basso del numero presente nella scheda tecnica. Dentro quel budget devono entrare i pesi del modello, la cache di contesto e il codice dell'app. Un modello da 3 miliardi di parametri in 4-bit, circa 1,5GB, lascia margine; uno da 7 miliardi, circa 3,5GB, lo consuma in fretta. È quest il calcolo che bisogna fare, non il conteggio dei TOPS, per decidere quali modelli un'app può usare e su quali telefoni.
La conseguenza sul parco dispositivi
Il risultato è una stratificazione. Il modello on-device più grande richiede la fascia da 12GB, quindi la funzione arriva sui modelli Pro, su Air e sui dispositivi recenti equivalenti, e non sui modelli base. Per chi sviluppa, questo significa che la stessa app deve convivere con due o tre livelli di capacità: un modello piccolo che gira ovunque, uno più grande riservato a chi supera la soglia.
Cosa cambia per chi scrive l'app
Core AI è il framework con cui Apple porta questa capacità nelle app di terze parti: è il successore di Core ML, accetta modelli convertiti da PyTorch, li compila ahead-of-time e li comprime con quantizzazione e palettizzazione. L'API espone la memoria di inferenza come parametro tramite l'API che lo rende visibile e controllabile, non un dettaglio nascosto.
I numeri condivisi nella sessione WWDC26 326 danno un’idea della scala. Il modello di segmentazione SAM 3 pesa 623MB, mentre il modello linguistico Qwen da 0,6 miliardi circa 300MB; in totale, si stima oltre 1GB di download per i modelli, motivo per cui si consiglia di scaricarli su richiesta tramite Background Assets anziché includerli direttamente nell’app. Alla prima esecuzione si effettua la specializzazione del modello per il dispositivo, mentre la compilazione anticipata serve a spostare questo lavoro fuori dal flusso interattivo.
Il framework Foundation Models offre l'altra metà del quadro. Il protocollo LanguageModel rende intercambiabili il modello di sistema e i modelli di terze parti, compresi quelli cloud: Gemini via Firebase si usa con la stessa LanguageModelSession del modello on-device. La differenza è che il modello locale ha un tetto di contesto più basso e nessun costo per token, mentre il modello remoto ha più contesto e più ragionamento. Chi decide dove far girare una richiesta sta scegliendo tra memoria del telefono e Server.
Per chi sviluppa un’app, le priorità cambiano rispetto a quanto indicato sulla scheda tecnica. Il Neural Engine determina la velocità di preparazione di un prompt, la RAM stabilisce quali modelli possono essere caricati e la banda di memoria influisce su quanto rapidamente vengono generati i token. Su uno smartphone, la generazione token per token è ciò che l’utente percepisce, e non è un’operazione che i TOPS accelerano.
Further Reading





