18 Giugno 2024

MariaDB Vector. MariaDB sarà molto presto un database vettoriale

MariaDB Vector, un database vettoriale adibito all’intelligenza artificiale che potrebbe segnare il sorpasso di MySQL Server e Percona Server

MariaDB-Vector

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

Il termine “vettore” ha un significato speciale nell’ambito dell’AI, rappresentando una numerica multidimensionale che cattura conoscenze specifiche del modello. Questi vettori non sono semplici numeri, ma rappresentazioni complesse che possono avere centinaia o migliaia di dimensioni, ciascuna delle quali corrisponde a una caratteristica o un attributo specifico dei dati. Ad esempio, un vettore che rappresenta un’immagine può includere dimensioni che descrivono il colore, la texture, le forme presenti nell’immagine, e così via. Questa ricchezza di dettagli permette agli algoritmi di AI di comprendere e processare i dati in modo molto più sofisticato rispetto ai metodi tradizionali.

Un database vettoriale è progettato specificamente per memorizzare, indicizzare e cercare questi vettori complessi. Questi database sono fondamentali per applicazioni avanzate come il riconoscimento delle immagini, la ricerca di somiglianze nei testi, e molte altre aree che richiedono la gestione di dati ad alta dimensionalità. Esistono database specializzati esclusivamente per la gestione di vettori, ma l’approccio più vantaggioso è quello di integrare questa capacità nei database relazionali esistenti, come MariaDB Server. Questo permette di combinare i vantaggi dei database relazionali, come la conformità ACID e la capacità di gestire query complesse, con le funzionalità avanzate dei database vettoriali.

Gli indici vettoriali sono strumenti cruciali per gestire e cercare dati vettorizzati. A differenza degli indici tradizionali, che funzionano bene per dati lineari o bidimensionali, gli indici vettoriali devono essere progettati per gestire la complessità e l’alta dimensionalità dei vettori AI. Metodi specializzati come IVFFlat (Inverted File Flat) e HNSW (Hierarchical Navigable Small World) sono necessari per questo tipo di dati. IVFFlat utilizza una struttura ad albero invertito per facilitare la ricerca rapida, mentre HNSW costruisce una rete di nodi gerarchici che permettono di navigare tra i punti dati in modo efficiente.

Il concetto di “vicino più prossimo” è fondamentale nella ricerca vettoriale. Invece di cercare una corrispondenza esatta, gli algoritmi di ricerca vettoriale cercano i dati che sono più simili al vettore di query. Questo è particolarmente utile in applicazioni come la ricerca di immagini, dove trovare un’immagine che è “simile” a una data immagine è spesso più utile che trovare una corrispondenza esatta. La ricerca del “vicino più prossimo” sfrutta le caratteristiche multidimensionali dei vettori per identificare rapidamente le somiglianze, migliorando significativamente la velocità e l’efficacia delle ricerche.

Integrando le funzionalità di gestione dei vettori in un database relazionale come MariaDB Server, si ottiene una soluzione potente che combina il meglio dei due mondi. Gli utenti possono beneficiare della robustezza e delle funzionalità avanzate dei database relazionali, mentre gestiscono dati complessi e ad alta dimensionalità con efficienza. Questo approccio non solo semplifica l’infrastruttura IT, ma offre anche un significativo miglioramento delle prestazioni nelle applicazioni avanzate di AI e machine learning.

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.

Hai dei dubbi? Non sai da dove iniziare? Contattaci !

Abbiamo tutte le risposte alle tue domande per aiutarti nella giusta scelta.

Chatta con noi

Chatta direttamente con il nostro supporto prevendita.

0256569681

Contattaci telefonicamente negli orari d’ufficio 9:30 – 19:30

Contattaci online

Apri una richiesta direttamente nell’area dei contatti.

INFORMAZIONI

Managed Server S.r.l. è un player italiano di riferimento nel fornire soluzioni avanzate di sistemistica GNU/Linux orientate all’alta performance. Con un modello di sottoscrizione dai costi contenuti e prevedibili, ci assicuriamo che i nostri clienti abbiano accesso a tecnologie avanzate nel campo dell’hosting, server dedicati e servizi cloud. Oltre a questo, offriamo consulenza sistemistica su sistemi Linux e manutenzione specializzata in DBMS, IT Security, Cloud e molto altro. Ci distinguiamo per l’expertise in hosting di primari CMS Open Source come WordPress, WooCommerce, Drupal, Prestashop, Joomla, OpenCart e Magento, affiancato da un servizio di supporto e consulenza di alto livello adatto per la Pubblica Amministrazione, PMI, ed aziende di qualsiasi dimensione.

Red Hat, Inc. detiene i diritti su Red Hat®, RHEL®, RedHat Linux®, e CentOS®; AlmaLinux™ è un marchio di AlmaLinux OS Foundation; Rocky Linux® è un marchio registrato di Rocky Linux Foundation; SUSE® è un marchio registrato di SUSE LLC; Canonical Ltd. detiene i diritti su Ubuntu®; Software in the Public Interest, Inc. detiene i diritti su Debian®; Linus Torvalds detiene i diritti su Linux®; FreeBSD® è un marchio registrato di The FreeBSD Foundation; NetBSD® è un marchio registrato di The NetBSD Foundation; OpenBSD® è un marchio registrato di Theo de Raadt. Oracle Corporation detiene i diritti su Oracle®, MySQL®, e MyRocks®; Percona® è un marchio registrato di Percona LLC; MariaDB® è un marchio registrato di MariaDB Corporation Ab; REDIS® è un marchio registrato di Redis Labs Ltd. F5 Networks, Inc. detiene i diritti su NGINX® e NGINX Plus®; Varnish® è un marchio registrato di Varnish Software AB. Adobe Inc. detiene i diritti su Magento®; PrestaShop® è un marchio registrato di PrestaShop SA; OpenCart® è un marchio registrato di OpenCart Limited. Automattic Inc. detiene i diritti su WordPress®, WooCommerce®, e JetPack®; Open Source Matters, Inc. detiene i diritti su Joomla®; Dries Buytaert detiene i diritti su Drupal®. Amazon Web Services, Inc. detiene i diritti su AWS®; Google LLC detiene i diritti su Google Cloud™ e Chrome™; Microsoft Corporation detiene i diritti su Microsoft®, Azure®, e Internet Explorer®; Mozilla Foundation detiene i diritti su Firefox®. Apache® è un marchio registrato di The Apache Software Foundation; PHP® è un marchio registrato del PHP Group. CloudFlare® è un marchio registrato di Cloudflare, Inc.; NETSCOUT® è un marchio registrato di NETSCOUT Systems Inc.; ElasticSearch®, LogStash®, e Kibana® sono marchi registrati di Elastic N.V. Hetzner Online GmbH detiene i diritti su Hetzner®; OVHcloud è un marchio registrato di OVH Groupe SAS; cPanel®, L.L.C. detiene i diritti su cPanel®; Plesk® è un marchio registrato di Plesk International GmbH; Facebook, Inc. detiene i diritti su Facebook®. Questo sito non è affiliato, sponsorizzato o altrimenti associato a nessuna delle entità sopra menzionate e non rappresenta nessuna di queste entità in alcun modo. Tutti i diritti sui marchi e sui nomi di prodotto menzionati sono di proprietà dei rispettivi detentori di copyright. Ogni altro marchio citato appartiene ai propri registranti. MANAGED SERVER® è un marchio registrato a livello europeo da MANAGED SERVER SRL, Via Enzo Ferrari, 9, 62012 Civitanova Marche (MC), Italia.

Torna in alto