Indice dei contenuti dell'articolo:
MariaDB è un potente sistema di gestione di database relazionali open-source, noto per la sua scalabilità, affidabilità e conformità agli standard. Derivato da MySQL, MariaDB offre una serie di funzionalità avanzate che lo rendono una scelta popolare per sviluppatori e aziende in tutto il mondo.
MariaDB Corporation è l’azienda che sviluppa e supporta MariaDB. Fondata da alcuni degli sviluppatori originali di MySQL, MariaDB Corporation si dedica a fornire soluzioni di database di alta qualità che soddisfano le esigenze moderne di gestione dei dati. Con un forte impegno verso l’open-source, MariaDB Corporation collabora strettamente con la comunità per innovare e migliorare costantemente il software MariaDB, garantendo performance elevate, sicurezza e affidabilità per i suoi utenti.
Di fatto, con l’avvento dell’intelligenza artificiale si è appurato che i database relazionali sono il luogo ideale per i dati dell’AI. Gli utenti necessitano dei loro vettori insieme al resto dei dati, in un database standard che offra performance, scalabilità e tutte le altre virtù tradizionali, come la conformità ACID.
Per questo motivo MariaDB Corporation sta sviluppando MariaDB Vector di cui previsto il rilascio di una prima versione in anteprima entro la fine del mese.
Il supporto di Amazon per MariaDB Vector
Non è solo MariaDB Corporation a sostenere questa logica. La stessa Amazon, attraverso Sirish Chandrasekharan, General Manager di Amazon Relational Database Services e membro del consiglio della MariaDB Foundation, supporta questa visione. Durante un’intervista con The New Stack all’Open Source Summit 2024 a Seattle, Chandrasekharan ha spiegato in modo chiaro e conciso l’importanza di integrare l’AI generativa nei database relazionali.
Due concetti chiave di AI generativa: LLM e RAG
L’AI generativa è un campo dell’intelligenza artificiale che si occupa della creazione di nuovi contenuti utilizzando dati esistenti. Questa tecnologia non si limita a un solo tipo di dato, ma comprende una vasta gamma di applicazioni, tra cui testo, immagini, video, e persino audio. Ad esempio, modelli di AI generativa possono scrivere articoli, generare immagini realistiche a partire da descrizioni testuali, creare video animati, o persino comporre musica.
La parola “generativa” suggerisce la capacità di creare nuovi dati, ma nel contesto dei database vettoriali, si tratta anche di recuperare e cercare dati in modo intelligente. In altre parole, mentre l’AI generativa può effettivamente creare contenuti nuovi, nei database vettoriali si concentra sull’ottimizzazione della ricerca e del recupero di informazioni pertinenti dai dati esistenti. Questo avviene grazie alla capacità dell’AI di effettuare ricerche basate su criteri meno rigidi e più sfumati, utilizzando caratteristiche che simulano il pensiero umano.
LLM, i modelli linguistici di grandi dimensioni, sono dove la conoscenza è codificata in modo intelligente. Questi modelli non sono database relazionali e non lo diventeranno mai, poiché rappresentano istantanee statiche create (“addestrate”) in momenti specifici e non vengono aggiornate fino alla prossima sessione di addestramento.
RAG, generazione aumentata dal recupero, è un termine che sta diventando sempre più popolare. Questa tecnologia permette di aggiornare dinamicamente gli LLM utilizzando i propri dati. Gli LLM sono statici e solo poche entità sono abbastanza grandi da poter creare (“addestrare”) i propri. Con RAG, utenti di qualsiasi dimensione possono creare (“vettorizzare” o “incorporare”) rappresentazioni dei propri dati, utilizzando l’intelligenza dell’LLM scelto per interpretare questi dati.
I modelli linguistici di grandi dimensioni, o LLM (Large Language Models), sono alla base della maggior parte delle applicazioni di AI generativa. Questi modelli sono addestrati su vaste quantità di dati testuali, permettendo loro di comprendere e generare linguaggio umano in modo intelligente. Gli LLM codificano la conoscenza in strutture complesse, permettendo loro di rispondere a domande, tradurre lingue, riassumere testi e molto altro. Tuttavia, è importante notare che gli LLM non sono database relazionali. Essi rappresentano istantanee statiche create durante specifici periodi di addestramento e non vengono aggiornati continuamente. Una volta addestrati, gli LLM rimangono invariati fino alla successiva sessione di addestramento, che può richiedere molto tempo e risorse. Questo limite implica che le informazioni contenute negli LLM possono diventare obsolete rapidamente in un mondo in cui i dati e le conoscenze evolvono costantemente. La capacità di aggiornare e mantenere la rilevanza di questi modelli è quindi una sfida significativa.
La generazione aumentata dal recupero, o RAG (Retrieval-Augmented Generation), è una tecnologia emergente che sta guadagnando rapidamente popolarità. Questa metodologia permette di aggiornare dinamicamente gli LLM utilizzando dati specifici dell’utente. In pratica, RAG combina la potenza degli LLM con la capacità di cercare e recuperare dati da altre fonti, creando una sinergia che migliora significativamente la pertinenza e l’accuratezza delle risposte generate. Con RAG, anche aziende di piccole e medie dimensioni possono sfruttare la potenza degli LLM senza dover affrontare il costo e la complessità dell’addestramento di modelli propri. Utilizzando RAG, gli utenti possono “vettorizzare” o “incorporare” i loro dati specifici, creando rappresentazioni che possono essere facilmente interpretate dagli LLM. Questo permette di personalizzare le risposte dell’AI in base ai dati aziendali specifici, migliorando così l’efficacia delle applicazioni di AI generativa in contesti commerciali.
La sinergia tra LLM e RAG è cruciale per superare i limiti intrinseci dei modelli linguistici statici. Mentre gli LLM offrono una base solida di conoscenza generale, la capacità di RAG di incorporare dati aggiornati e specifici del contesto consente una maggiore personalizzazione e rilevanza delle risposte. Questo è particolarmente utile in ambiti dove i dati cambiano rapidamente o dove le esigenze degli utenti sono molto specifiche. Per esempio, in ambito medico, un LLM può fornire informazioni generali sulle malattie, ma l’integrazione con RAG può consentire di recuperare e presentare le ultime ricerche o i dati clinici più recenti, migliorando significativamente la qualità delle informazioni fornite ai professionisti del settore.
Vettori, database vettoriali e indici vettoriali
ACID è ancora una virtù
ACID, che sta per Atomicità, Consistenza, Isolamento e Durabilità, rappresenta le quattro virtù fondamentali delle transazioni nei database relazionali. Questi principi assicurano che ogni transazione sia eseguita in modo completo e affidabile, mantenendo l’integrità dei dati anche in caso di errori o guasti di sistema. L’atomicità garantisce che ogni transazione sia un’unità indivisibile; la consistenza assicura che il database passi da uno stato valido a un altro; l’isolamento evita che le transazioni interferiscano tra loro; e la durabilità assicura che i risultati delle transazioni persistano anche dopo eventuali crash del sistema.
Anche nel contesto dell’AI generativa, queste virtù rimangono essenziali per garantire l’affidabilità e la sicurezza dei dati. Con l’AI generativa che richiede grandi quantità di dati e operazioni complesse, mantenere le proprietà ACID è cruciale per prevenire corruzioni dei dati e garantire che le operazioni di lettura e scrittura siano sempre coerenti e sicure. Questo diventa particolarmente importante quando si integrano funzionalità avanzate come la gestione dei vettori e l’AI nel database, poiché qualsiasi compromesso nell’integrità dei dati potrebbe avere impatti significativi sulle operazioni aziendali e sulla qualità delle informazioni generate dall’AI.
I punti salienti dell’intervista di Sirish Chandrasekharan
Chandrasekharan ha evidenziato diversi punti chiave durante la sua intervista:
- I clienti basano i loro affari sui database relazionali, fondamentali per le imprese.
- I database Open Source hanno raggiunto un buon livello, permettendo alle aziende di fare affidamento su di essi.
- AWS sta aumentando il suo investimento nell’Open Source.
- Perché l’AI generativa sia efficace, deve essere basata su dati esistenti e accumulati, che si trovano negli RDBMS.
- RAG permette di personalizzare un LLM per le proprie esigenze aziendali.
- Non è necessario creare nuovi database vettoriali; i vettori dovrebbero essere integrati nei database esistenti.
- PostgreSQL ha già un plugin di archiviazione vettoriale supportato da AWS, che sta anche supportando il lavoro vettoriale della MariaDB Foundation.
- Amazon è il terzo maggiore contributore a MariaDB Server, dopo MariaDB plc e MariaDB Foundation.
MariaDB Vector: uno sguardo al futuro
MariaDB Corporation e MariaDB Foundation stanno lavorando da tempo su MariaDB Vector, un progetto innovativo che porterà funzionalità di ricerca vettoriale avanzate all’interno del database MariaDB. Questo sviluppo rappresenta un passo significativo verso l’integrazione delle capacità di intelligenza artificiale direttamente nei database relazionali, migliorando notevolmente la capacità di gestione e ricerca di dati complessi.
La prima anteprima per sviluppatori di MariaDB Vector sarà disponibile a maggio e si concentrerà sull’implementazione del metodo HNSW (Hierarchical Navigable Small World), considerato generalmente migliore di IVFFlat (Inverted File Flat) per le sue superiori prestazioni di scalabilità e precisione nelle ricerche di somiglianze. Questa scelta tecnica garantirà che MariaDB Vector possa gestire efficacemente grandi volumi di dati vettoriali, offrendo tempi di risposta rapidi e risultati accurati, rendendolo ideale per applicazioni critiche che richiedono alta performance.
A differenza di altre soluzioni come PG Vector, le funzioni di ricerca vettoriale in MariaDB saranno integrate direttamente nel core del server. Questo significa che non sarà necessaria alcuna estensione aggiuntiva per sfruttare queste funzionalità avanzate, semplificando notevolmente il processo di implementazione e manutenzione per gli utenti. L’integrazione nativa nel server garantirà inoltre una maggiore efficienza e coerenza nelle operazioni di database, offrendo un’esperienza utente più fluida e affidabile.
MariaDB Vector manterrà i modelli linguistici di grandi dimensioni (LLM) separati dai binari del server, permettendo agli utenti di scegliere liberamente tra diversi LLM disponibili sul mercato, come ChatGPT, Claude e LLaMa2. Questa flessibilità consente alle aziende di selezionare il modello che meglio si adatta alle loro esigenze specifiche, senza essere vincolate a una sola soluzione. Inoltre, permette di aggiornare o cambiare i modelli utilizzati senza dover modificare l’infrastruttura del database, garantendo una maggiore adattabilità e future-proofing delle soluzioni implementate.
Il caso d’uso principale per MariaDB Vector sarà la generazione aumentata dal recupero (RAG), una tecnica che combina la potenza degli LLM con la capacità di recuperare dati specifici e pertinenti dal database. Questo approccio consentirà di personalizzare le risposte dell’AI basandosi sui dati aziendali specifici, migliorando significativamente la pertinenza e l’utilità delle informazioni generate. Tuttavia, i casi d’uso concreti per MariaDB Vector sono ancora in fase di definizione e sviluppo, con nuove applicazioni e scenari d’uso che emergeranno man mano che la tecnologia sarà adottata e testata sul campo.
Testare MariaDB Vector
MariaDB Corporation invita gli utenti a testare MariaDB Vector, con una versione notturna disponibile nel ramo bb-11.4-vec-preview. La versione per sviluppatori sarà stabile entro la fine di maggio, pronta per essere testata su casi d’uso comuni.
L’AI generativa non è solo un hype, e combinarla con database relazionali open-source è il prossimo passo cruciale. Intorno a FOSDEM a marzo, è stata già dimostrata la funzionalità di base di MariaDB Vector. Presto sarà possibile ottenere la prima versione in anteprima di MariaDB Vector sulle pagine di download di MariaDB.