Luigi Loreti

Hyperdimensional Computing · AI efficiente · Hardware

HDC e Magic Vector Memoria associativa, similarity search e architetture parallele

Una linea di ricerca su rappresentazioni iperdimensionali, ricerca associativa e algoritmi implementabili in software, FPGA, sistemi in-memory e piattaforme ottico-elettroniche.

Schema Magic Vector per la ricerca associativa in HDC
Schema concettuale: training data, item memory, class vector, query vector e Magic Vector.

Hyperdimensional Computing

Rappresentare concetti con vettori ad alta dimensionalità

Hyperdimensional Computing, o HDC, è un paradigma di calcolo che rappresenta dati, simboli, immagini, sequenze e relazioni mediante hypervector: vettori con migliaia di componenti. In spazi ad alta dimensionalità è possibile costruire numerosi vettori quasi ortogonali, quindi poco correlati tra loro.

Le informazioni complesse vengono costruite con operazioni semplici e distribuite: binding/XOR per collegare concetti, bundling o maggioranza per sovrapporre elementi, permutazione per rappresentare ordine e sequenze, e misure di similarità per classificare una query.

Questa semplicità rende HDC interessante per AI efficiente, memoria associativa, elaborazione di segnali, sistemi embedded e architetture hardware parallele.

Flusso HDC

Dai dati alla memoria associativa

Una tipica pipeline HDC associa hypervector a elementi di base, costruisce rappresentazioni composite e confronta una nuova query con la memoria delle classi.

01 · ITEM MEMORY

Vettori atomici

Concetti elementari, valori, posizioni o simboli ricevono hypervector di base.

02 · ENCODING

Binding e bundling

Operazioni bitwise e maggioranza compongono dati, strutture, sequenze e categorie.

03 · ASSOCIATIVE MEMORY

Classi memorizzate

Le rappresentazioni delle classi o dei comportamenti sono conservate nella memoria associativa.

04 · INFERENZA

Ricerca di similarità

Una query viene confrontata con la memoria per individuare la classe più compatibile.

Contributo algoritmico

Perché Magic Vector

La fase di inferenza può richiedere molti confronti tra l’hypervector di query e le classi presenti nella memoria associativa. Magic Vector propone una diversa organizzazione della ricerca, basata su segmenti e lettura statistica della distribuzione dei bit.

Il problema

Nel metodo convenzionale la query viene confrontata con ogni hypervector memorizzato per calcolare una distanza o una similarità. Quando crescono classi e dimensionalità, questa sequenza richiede più letture, confronti e decisioni.

L’idea Magic Vector

La memoria è organizzata in gruppi di bit. Il Magic Vector incorpora segmenti selezionati dei vettori memorizzati; applicando operazioni bitwise alla query, il gruppo associato alla classe più probabile manifesta un comportamento statistico distinguibile, misurabile con conteggi o picchi.

Ricerca associativa

La ricerca viene trasformata da una lunga sequenza di confronti a una lettura parallela dei segmenti. L’efficacia dipende dal rapporto fra dimensione dell’hypervector, numero di classi, distribuzione dei vettori e livello di rumore.

Estensioni

Lo stesso approccio è esplorato per cleaning memory, fattorizzazione di composizioni, codebook multipli e strutture chiave-valore, mantenendo un insieme di primitive binarie semplici.

Didattica

Lezioni di Calcolo Ipervettoriale

Due lezioni introduttive dedicate a Hyperdimensional Computing: rappresentazioni ad alta dimensionalità, memoria associativa, operazioni sugli ipervettori e possibili implementazioni.

Seminario Stanford

Computing with High-Dimensional Vectors

La magistrale lezione del professor Pentti Kanerva, pioniere dell’Hyperdimensional Computing. Un riferimento fondamentale per comprendere l’origine delle rappresentazioni ad alta dimensionalità, della memoria distribuita e della ricerca associativa che sono alla base dell’HDC.

Apri il seminario su YouTube →

Slide HDC / OptoHDC

Materiale di supporto alle lezioni: HDC, OptoHDC, memoria associativa, architetture ottico-elettroniche e direzioni di ricerca.

Implementazioni

Dal modello algoritmico al prototipo

Il lavoro HDC è pensato come ricerca progressiva: simulazione e verifica software, implementazione hardware e integrazione con architetture ottico-elettroniche.

Software e sperimentazione

Generazione di codebook, query, test di similarità, degradazione controllata dei vettori e verifica dei risultati in funzione della dimensionalità e del numero di classi.

  • Hypervector binari e bipolari
  • Binding, bundling, permutazione
  • Segmentazione e Magic Vector
  • Similarity search e fattorizzazione

FPGA e Verilog

Prototipi di core HDC per FPGA con codebook in memoria, operazioni bitwise parallele e controllo a stati finiti.

  • BRAM e codebook inizializzati da file MIF
  • XOR/binding e majority-sum/bundling
  • Costruzione segmentata di Magic Vector
  • Interfacce e test su piattaforme FPGA

HDC + LLM e RAG

Un’architettura a livelli nella quale LLM, RAG, Vector DB e HDC cooperano: l’LLM interpreta e spiega, RAG recupera fonti verificabili, il database vettoriale trova contenuti semanticamente simili e HDC svolge memoria associativa, riconoscimento di pattern e inferenza locale efficiente.

  • LLM per dialogo, ragionamento, orchestrazione e risposte leggibili
  • RAG e Vector DB per documenti, fonti citabili e retrieval semantico
  • HDC per segnali, eventi, anomalie, sequenze e decisioni edge
  • Orchestratore per routing, sicurezza, policy e audit

HDC + OptoPC

Le primitive HDC — operazioni bitwise, sovrapposizione, conteggio e decisione statistica — costituiscono un caso di studio naturale per architetture parallele ottico-elettroniche.

  • Canali ottici e vettori distribuiti
  • TFT/LCD, sensori e controllo FPGA
  • Elaborazione parallela riconfigurabile
  • Integrazione con il progetto OptoPC

Ricerca e architettura di sistema

LLM + RAG + Vector DB + HDC

Questa proposta estende HDC oltre la classificazione isolata: l’obiettivo è costruire un sistema cooperativo nel quale ogni livello svolge il compito per cui è più efficace. L’LLM non diventa il database aziendale né processa ogni segnale grezzo; HDC non produce testi lunghi, ma osserva pattern, accumula evidenze e riduce migliaia di eventi a stati significativi.

LLM e RAG

Comprensione del linguaggio, spiegazione, generazione di procedure e risposte basate su fonti documentali aggiornabili e citabili.

Vector DB

Ricerca semantica su manuali, ticket, report, procedure e knowledge base, con metadata, filtri e reranking.

Motore HDC

Encoding di segnali ed eventi, binding, bundling, memoria associativa, classificazione di anomalie e inferenza locale.

Progetto LLM + RAG + Vector DB + HDC

Architettura generale, ruoli dei moduli, flussi operativi, componenti software e roadmap hardware dall’edge prototype all’acceleratore HDC.

Apri la pubblicazione PDF →

Idea generale LLM / HDC

Documento di sintesi sull’integrazione fra modelli linguistici, memoria associativa HDC, retrieval, eventi e sistemi decisionali locali.

Apri il documento →
Pipeline HDC su Cyclone V con FSM, memorie M10K, binding, bundling, recovery e compute engine a 256 lane
Pipeline HDC: overview del datapath, architettura di memoria e compute engine parallelo.

Pipeline HDC su Cyclone V

Un esempio di implementazione hardware con memorie M10K bancarizzate, controllo a stati finiti e parallelismo a 256 lane per binding, bundling e recovery.

  • LOAD: lettura di item memory, codebook, prototipi e stato intermedio dalle M10K.
  • BIND: elaborazione elemento per elemento, tipicamente XOR per rappresentazioni binarie.
  • BUNDLE e REDUCE: accumulazione, majority vote e riduzione dei risultati parziali.
  • RECOVER: similarity search e selezione del miglior match.

Documento pubblico e brevetto

Magic Vector e memoria associativa HDC

Un nuovo algoritmo di ricerca di somiglianza in un singolo passaggio nella memoria associativa per il calcolo iperdimensionale

Luigi Loreti, Giovanni Todeschini, Francesco Regazzoni, Alessio Fumagalli. Documento tecnico pubblico su Hyperdimensional Computing, Magic Vector, ricerca associativa e fattorizzazione.

Il documento descrive la costruzione del Magic Vector, la ricerca di una classe nella memoria associativa, test sperimentali con differenti dimensionalità e numero di elementi, robustezza a degradazione della query e applicazioni a cleaning memory, fattorizzazione e strutture key-value.

Sono disponibili sia il documento tecnico su Magic Vector sia il testo del brevetto HDC in lingua italiana.

Materiali in integrazione

Prossimi approfondimenti

Questa pagina è predisposta per accogliere documenti, screenshot, codice, presentazioni e dimostrazioni video sulle implementazioni già sviluppate.

LLM + HDC

Documentazione delle pipeline locali, esperimenti con embedding, retrieval, RAG e rappresentazioni iperdimensionali.

FPGA e prototipi

Diagrammi, moduli Verilog, test hardware, BRAM, codebook e visualizzazioni dei risultati.

Presentazioni e lezioni

Slide tecniche e contenuti didattici su HDC, Magic Vector, calcolo ottico e sistemi AI locali.

Contatti

Ricerca, implementazioni e confronto tecnico

Per informazioni su HDC, Magic Vector, FPGA, sistemi AI locali, implementazioni LLM + HDC e possibili collaborazioni.