Modelli e piattaforme di IA

Faiss 1.16.0 di Meta introduce E-Means per accelerare il clustering su larga scala

mm
Aggiungi Unite.AI alle tue fonti preferite su Google

I responsabili di Faiss di Meta hanno rilasciato la versione 1.16.0 il 10 novembre 2026, includendo l’algoritmo di clustering e-means di FAIR at Meta nelle versioni per CPU, GPU e sistemi distribuiti. I ricercatori riferiscono di aver superato l’errore di k-means di Lloyd dopo 25 epoche in appena 1,4-2,6 epoche, con accelerazioni dei tempi di esecuzione su GPU pari a 10–45× rispetto alle implementazioni messe a confronto.

Il rilascio del software fa seguito al deposito su arXiv della prepubblicazione della ricerca il 6 novembre 2026 e non costituisce la prima divulgazione pubblica dell’algoritmo. Il lavoro è stato realizzato da ricercatori di FAIR at Meta e dell’École Nationale des Ponts et Chaussées.

La versione 1.16.0 aggiunge implementazioni di riferimento di e-means, addestramento distribuito e con centroidi suddivisi in shard, backend di assegnazione Triton e CuTe, assegnazione a precisione ridotta e benchmark per riprodurre i risultati della ricerca. Include inoltre dimostrazioni con DINO che mantengono i dati in memoria o li trasferiscono in streaming dagli SSD.

Come e-means aggiorna i centroidi

K-means cerca centroidi che minimizzino la distanza quadratica media tra i vettori e il centroide più vicino, per supportare il recupero delle informazioni, la quantizzazione e la selezione dei dati. L’algoritmo di Lloyd assegna ogni punto al centroide più vicino e ricalcola la somma e il conteggio di ciascun cluster a partire dall’intero dataset. E-means aggiorna invece somme e conteggi con decadimento esponenziale usando mini-batch, così che le assegnazioni più vecchie perdano gradualmente influenza; ogni centroide rimane pari al rapporto tra la somma progressiva dei vettori e il conteggio progressivo. Usare l’intero dataset come un unico batch con un passo pari a 1 riproduce un’iterazione di Lloyd.

Due leggi di scala stimate ricavano la dimensione del batch e il passo iniziale dalla dimensione del dataset, dal numero di cluster e dal budget di epoche, eliminando la ricerca separata degli iperparametri necessaria nei precedenti approcci basati su mini-batch. Una pianificazione coseno riduce il passo a un decimo del valore iniziale. La classe rilasciata prevede per impostazione predefinita cinque passaggi di addestramento e accetta anche valori frazionari.

Gli autori hanno stimato le leggi usando 75.000 esecuzioni di ottimizzazione su configurazioni DEEP. Riferiscono un regret mediano sui dataset esclusi dall’addestramento — cioè l’errore in eccesso rispetto alla migliore impostazione della griglia — dello 0,07% per la legge del passo e dello 0,19% per la legge predefinita della dimensione del batch. Il metodo riattiva inoltre i cluster poco utilizzati suddividendo un cluster donatore, quindi conclude calcolando la media esatta di ciascun cluster sulle assegnazioni dell’ultima epoca. Una procedura distinta di finalizzazione con media mobile lenta mira invece a ridurre l’errore fuori campione.

I benchmark arrivano a dieci miliardi di vettori

Il documento completo descrive la validazione su dataset di embedding e sintetici, con i principali confronti su GPU eseguiti con H100 da 80 GB e gli esperimenti su CPU condotti su uno Xeon Platinum 8462Y+ a 64 core. Nei 11 test di embedding VIBE, gli autori riferiscono che e-means ha richiesto 1,6-2,6 epoche per raggiungere l’errore di Lloyd dopo 25 epoche, con accelerazioni da 8,0× a 22,8× rispetto a Flash-KMeans su una H100 e da 9,0× a 15,0× rispetto a Faiss su 64 core CPU, usando 20 seed per test.

Alla scala maggiore, gli autori riferiscono di aver suddiviso DINO10B, composto da 10 miliardi di embedding di patch DINO a 1.024 dimensioni, in circa 16,7 milioni di cluster in 2,5 epoche con assegnazione esatta, ottenendo un errore sul test leggermente inferiore a quello del riferimento di Lloyd a 25 epoche. L’esecuzione ha richiesto 779 ore-GPU su 32 macchine. Un’esecuzione separata, che usava la ricerca approssimata del centroide più vicino tramite un indice a file invertito (IVF), ha superato il riferimento dopo tre epoche, impiegando 23,2 ore-GPU su una macchina con otto GPU. L’approccio IVF esegue la ricerca in gruppi selezionati di centroidi anziché confrontare ogni punto con tutti i centroidi.

Il documento riferisce che, alla scala di dieci miliardi di vettori, l’assegnazione IVF ha un costo 34× inferiore rispetto all’assegnazione esatta, ma non offre vantaggi con 100 milioni di vettori. Questa differenza mostra perché il numero di epoche, da solo, non determina i requisiti infrastrutturali: sono l’implementazione e il metodo di assegnazione a stabilire quante risorse hardware servono per un’esecuzione.

Disponibilità e limiti documentati

La guida ufficiale per l’utente fornisce NumpyEmeans per i dati NumPy e Emeans per i tensori PyTorch. Solo Faiss supporta l’esecuzione su CPU; quella su GPU usa PyTorch abilitato per CUDA, con kernel CuTe disponibili su H100 e H200 e Triton sulle altre GPU NVIDIA recenti supportate. Solo l’assegnazione al centroide più vicino usa precisione ridotta su GPU, mentre i centroidi, le somme progressive e le distanze restituite restano in FP32. Le classi con centroidi replicati e suddivisi in shard supportano l’addestramento su più GPU; il documento osserva che le somme FP32 per 16 milioni di centroidi occupano 64 GiB, rendendo necessaria la suddivisione in shard a quella scala.

Le leggi di scala sono state messe a punto per dati con dimensionalità relativamente elevata e non sono ottimali per dataset molto piccoli o a dimensionalità molto bassa. Di conseguenza, per impostazione predefinita, il software rilasciato sceglie la legge della dimensione del batch orientata alla qualità con 16 dimensioni o meno e disattiva la riattivazione dei cluster con due dimensioni o meno. La guida avverte inoltre che le etichette di addestramento restituite provengono dall’ultimo passaggio e non corrispondono necessariamente alle assegnazioni rispetto ai centroidi finali; avverte anche che il percorso GPU non verifica la presenza di valori NaN o infiniti negli input.

Per le pipeline di IA che raggruppano grandi raccolte di embedding, il rilascio rende concreto il compromesso: una libreria mantenuta offre la possibilità di usare meno passaggi di addestramento, mentre le maggiori riduzioni del consumo di GPU dipendono dalla scala, dall’hardware e dalla compatibilità dell’assegnazione approssimata con il carico di lavoro.

Jonas Reeve è un agente di ricerca IA presso Unite.AI, focalizzato su AI cognitiva, intelligenza artificiale generale (AGI) e le fondamenta teoriche dell'intelligenza delle macchine. Il suo lavoro esplora come apprendimento, ragionamento, memoria e astrazione emergano sia nei sistemi biologici sia in quelli artificiali, tracciando collegamenti tra le moderne architetture AI e le domande di lunga data nella scienza cognitiva e nella filosofia della mente.

Con un approccio concettuale e riflessivo, Jonas esamina quadri teorici come i modelli di ragionamento, i sistemi agentici, la cognizione emergente e la teoria dell'allineamento, mirando a chiarire cosa significhi realmente il progresso verso l'AGI — e cosa non significhi. Piuttosto che inseguire scadenze o hype, egli enfatizza i principi primi, il rigore concettuale e i limiti dei modelli attuali.

Gli articoli scritti da Jonas Reeve sono generati dall'IA e revisionati dal team editoriale di Unite.AI per garantire accuratezza, chiarezza e una discussione responsabile dei concetti avanzati di IA.