In questo articolo Indice dei contenuti 3 sezioni
Si chiama Janas ed è un progetto tutto italiano che porta un modello di intelligenza artificiale locale da 80 miliardi di parametri su un normale notebook con appena 32 GB di RAM. Il nome arriva dalle fatine della mitologia sarda, creature delicate e gentili, ma l’obiettivo è molto concreto. Si tratta infatti di far girare modelli linguistici di grandi dimensioni senza comprare GPU dedicate con decine di gigabyte di VRAM o workstation dal prezzo proibitivo. Dietro c’è soprattutto il lavoro di Maurizio Cammalleri, conosciuto in rete come “camauri”, che ha sviluppato Janas LLM, un motore di inferenza open source scritto in C. Il file del modello pesa circa 48 GB eppure funziona su una macchina che, sulla carta, non avrebbe abbastanza memoria per contenerlo.
Il problema della memoria e la scommessa di Janas
Un LLM durante l’elaborazione deve accedere continuamente a un’enorme quantità di pesi, cioè i valori numerici appresi in fase di addestramento che stabiliscono quanto contano le informazioni e guidano il modo in cui il modello collega i dati e costruisce le risposte. Finché tutto sta in RAM o in VRAM, processore e scheda grafica li recuperano senza aspettare il disco. Quando però il modello è più grande della memoria disponibile le cose si complicano. Il sistema operativo può appoggiarsi alla memoria virtuale o allo swap, ma il prezzo dei trasferimenti rischia di far crollare le prestazioni.
La quantizzazione aiuta, perché rappresenta i pesi con meno bit rispetto ai classici 16 o 32 e riduce parecchio lo spazio occupato mantenendo capacità linguistiche in genere vicine all’originale. Non sempre basta. Un file da 48 GB resta comunque troppo ingombrante per i 32 GB di RAM di un portatile, che devono ospitare anche il sistema operativo, le applicazioni e la memoria necessaria all’inferenza. Janas sceglie un’altra strada e lascia i pesi sull’unità di archiviazione, recupera solo quelli che servono e tiene in memoria i componenti usati più spesso.
Mixture of Experts e SSD NVMe, il cuore del sistema
Il trucco rende al meglio con i modelli Mixture of Experts, un’architettura che divide parte della rete neurale in gruppi di parametri specializzati chiamati expert. In un modello denso ogni token attraversa più o meno gli stessi blocchi di calcolo, mentre in un MoE un componente detto router sceglie quali expert attivare di volta in volta. Il risultato è che un modello può contare decine di miliardi di parametri complessivi usandone però solo una parte a ogni passaggio. Qwen3 Next 80B A3B ne è un esempio, con circa 80 miliardi di parametri totali e qualche miliardo attivo per token.
Gli expert richiesti cambiano di continuo, quindi bisogna recuperarli in fretta. Janas mantiene una cache in RAM e preleva dall’SSD NVMe quelli mancanti, con gli expert più usati che tendono a restare in memoria. Su Linux sfrutta letture basate su O_DIRECT, che evitano il passaggio dei dati dalla page cache del kernel, e tecniche di prefetching per anticipare i componenti necessari. Con una cache da 4 GB e un prompt di 4.096 token il prefetch alza la velocità da 36,8 a 42 token al secondo, mentre con 16 GB il guadagno è più contenuto, da 48,5 a 50. Il vantaggio quindi non nasce da calcoli più rapidi ma da attese più brevi quando molti pesi vanno ancora caricati.
Prestazioni sul campo e limiti attuali
I numeri colpiscono. Su un notebook con Intel Core Ultra 9 185H, 32 GB di RAM e SSD NVMe, Janas fa girare Qwen3 Next 80B A3B a circa 24 token al secondo, contro i 2,8 ottenuti da llama.cpp nella configurazione usata per il confronto. Con la generazione speculativa, in una prova conversazionale, si arriva a circa 37 token al secondo.
Il motore supporta anche l’accelerazione tramite Vulkan, sfruttando pure le GPU integrate Intel Arc, e funziona su Linux, Windows 10 e Windows 11. Le prestazioni restano però legate alla velocità dell’unità SSD, alla quantità di RAM dedicata alla cache e alle caratteristiche del modello scelto. Per ora Janas è un progetto sperimentale, con un supporto hardware e software ancora limitato.
Fonte: TecnoAndroid


