Quando si parla di memoria RAM scarsa, il pensiero corre subito ai computer di casa, ai moduli da aggiungere, ai dispositivi che arrancano. Eppure il problema più grosso si gioca su una scala completamente diversa: quella dei data center dove le grandi aziende tecnologiche addestrano e fanno girare i loro modelli di intelligenza artificiale. La nuvola non è un concetto astratto, e la fame di memoria che la caratterizza sta costringendo l’industria a ripensare un principio che sembrava scolpito nella pietra: ogni macchina deve contare solo sulla RAM che ha fisicamente al suo interno. Ecco, forse non più.
L’idea di fondo è applicare alla memoria una logica che con lo storage è già familiare da tempo. Oggi un dato può risiedere sul disco locale, su un’altra macchina in rete o in un sistema condiviso accessibile a più server contemporaneamente. La prossima generazione di server potrebbe fare lo stesso con la RAM: mantenere una quota locale su ogni nodo, ma spostare una fetta molto più grande verso grandi sistemi esterni capaci di distribuire capacità in base alle necessità del momento. Qualcuno ha già coniato l’espressione “memory godbox”, una sorta di enorme serbatoio di memoria che non è più vincolato a una singola macchina.
RAM e AI: CXL entra finalmente in gioco
Per anni Compute Express Link (CXL) è avanzato piano, quasi come una promessa per architetture più flessibili. La tecnologia era stata presentata diverso tempo fa, ma è la pressione attuale legata all’intelligenza artificiale a darle finalmente un contesto favorevole. CXL fornisce un’interfaccia coerente per far comunicare processori, memoria, acceleratori e altre periferiche, appoggiandosi su PCIe. Il concetto è semplice da raccontare, molto meno da realizzare: separare le risorse senza rompere l’illusione che stiano lavorando insieme.
L’evoluzione non è stata improvvisa. Nella prima fase, CXL serviva ad ampliare la memoria di un server tramite moduli collegati a slot PCIe compatibili. Con CXL 2.0 è arrivato il cosiddetto pooling, cioè la possibilità di raccogliere memoria in un fondo comune e assegnarla a macchine diverse secondo le esigenze. Il limite era che quella memoria poteva essere riassegnata, ma non davvero condivisa tra due sistemi che lavorano sugli stessi dati. CXL 3.0 è il punto in cui questa barriera inizia a cedere, perché introduce topologie più ampie e memoria condivisa tra macchine, anche se con alcune limitazioni tecniche ancora presenti.
Perché l’IA ha bisogno di memoria in modo diverso
L’intelligenza artificiale non soffre solo per mancanza di potenza di calcolo. Soffre anche, e parecchio, per mancanza di memoria. La HBM che accompagna le GPU è velocissima e pensata per alimentare quei chip a ritmi elevatissimi, ma ha capacità limitata e costi alti. Durante l’addestramento, la sfida principale è processare quantità enormi di dati per costruire il modello. In fase di inferenza, invece, il discorso cambia: si tratta di usare un modello già pronto per rispondere alle richieste degli utenti.
Ogni risposta generata da un modello linguistico viene costruita un pezzo alla volta, token dopo token. Per evitare di ricalcolare tutto il contesto precedente a ogni passaggio, i sistemi conservano una specie di memoria di lavoro chiamata KV cache. Al suo interno vengono salvati i vettori di attenzione precedenti, che permettono al modello di tenere conto del contesto mentre genera la risposta. Il problema è che nei servizi con milioni di utenti questa cache può gonfiarsi fino a occupare quantità di memoria enormi, persino superiori a quelle del modello stesso.
E tutto questo non è più solo teoria. Aziende come Panmnesia, Liqid e UnifabriX stanno già lavorando su sistemi per portare la memoria fuori dal server e renderla accessibile a più macchine. Alcuni lo fanno con switch CXL, altri con grandi riserve di DDR5 distribuibili tra diversi host. C’è poi il caso di Enfabrica e del suo sistema Emfasys, progettato specificamente per l’inferenza e capace di raggiungere 18 TB di DDR5 per server di memoria e 144 TB in un rack completo. L’industria non sta cercando semplicemente più memoria: sta cercando di posizionarla in modo diverso, affinché l’intelligenza artificiale possa sfruttarla davvero al meglio.
