Il ruolo dei grafi di conoscenza aziendali negli LLM

La centralità dei grafi di conoscenza aziendali nello sviluppo degli LLM

Introduzione

I Large Language Models (LLMs) e l’Intelligenza Artificiale Generativa rappresentano una svolta trasformativa nell’Intelligenza Artificiale e nell’Elaborazione del Linguaggio Naturale. Essi sono in grado di comprendere e generare il linguaggio umano e di produrre contenuti come testo, immagini, audio e dati sintetici, rendendoli estremamente versatili in varie applicazioni. L’Intelligenza Artificiale Generativa riveste un’importanza fondamentale nelle applicazioni del mondo reale automatizzando e potenziando la creazione di contenuti, personalizzando le esperienze degli utenti, ottimizzando i flussi di lavoro e alimentando la creatività. In questo articolo, ci concentreremo su come le aziende possono integrarsi con Open LLMs mediante un’efficace ancore usando i Knowledge Graphs aziendali.

Obiettivi di apprendimento

  • Acquisire conoscenze su Grounding e costruzione di prompt nell’interazione con sistemi LLM/Gen-AI.
  • Comprendere l’importanza per le aziende del Grounding, il valore aziendale derivante dall’integrazione con sistemi Gen-AI aperti con un esempio.
  • Analizzare due soluzioni principali per il grounding, i grafi di conoscenza e i Vector stores su vari fronti e capire quale sia più adatta in determinati contesti.
  • Studiare un esempio di progettazione aziendale di grounding e costruzione di prompt, sfruttando i knowledge graph, l’apprendimento della modellazione dei dati e la modellazione dei grafi in JAVA per uno scenario di raccomandazioni personalizzate ai clienti.

Questo articolo è stato pubblicato come parte del Data Science Blogathon.

Cosa sono i Large Language Models?

Un Large Language Model è un modello avanzato di Intelligenza Artificiale addestrato utilizzando tecniche di deep learning su grandi quantità di testo o dati non strutturati. Questi modelli sono in grado di interagire con il linguaggio umano, generare testo, immagini e audio simili a quelli umani e svolgere varie attività di elaborazione del linguaggio naturale.

In contrasto, la definizione di un modello linguistico si riferisce all’assegnazione di probabilità a sequenze di parole basata sull’analisi di corpora di testo. Un modello linguistico può variare dai modelli semplici di n-gram ai modelli neurali più sofisticati. Tuttavia, il termine “large language model” si riferisce di solito a modelli che utilizzano tecniche di deep learning e che hanno un grande numero di parametri, che possono variare da milioni a miliardi. Questi modelli possono catturare complessi schemi di linguaggio e produrre testo spesso indistinguibile da quello scritto da esseri umani.

Cosa è un Prompt?

Un prompt per qualsiasi LLM o sistema di chatbot AI simile è un input o un messaggio basato su testo che si fornisce per avviare una conversazione o un’interazione con l’IA. I LLM sono versatili, addestrati con una vasta gamma di big data e possono essere utilizzati per compiti diversi; quindi, il contesto, la portata, la qualità e la chiarezza del prompt influenzano significativamente le risposte ricevute dai sistemi LLM.

Cosa è il Grounding/RAG?

Il Grounding, conosciuto anche come Retrieval-Augmented Generation (RAG), nel contesto dell’elaborazione del linguaggio naturale dei LLM, si riferisce all’arricchimento del prompt con contesto, metadati aggiuntivi e portata che forniamo ai LLM per migliorare e recuperare risposte su misura e accurate. Questa connessione aiuta i sistemi di intelligenza artificiale a comprendere ed interpretare i dati in modo coerente con la portata e il contesto richiesti. La ricerca sui LLM mostra che la qualità delle loro risposte dipende dalla qualità del prompt.

Si tratta di un concetto fondamentale nell’Intelligenza Artificiale, poiché colma il divario tra i dati grezzi e la capacità dell’IA di elaborare e interpretare tali dati in modo coerente con la comprensione umana e il contesto definito. Migliora la qualità e la affidabilità dei sistemi di intelligenza artificiale e la loro capacità di fornire informazioni o risposte accurate e utili.

Quali sono gli svantaggi dei LLM?

I Large Language Models (LLMs), come GPT-3, hanno guadagnato notevole attenzione e sono utilizzati in diverse applicazioni, ma presentano anche diversi svantaggi. Alcuni dei principali svantaggi dei LLM includono:

1. Preconcetti ed equità: I LLM spesso ereditano i preconcetti dai dati di addestramento. Ciò può portare alla generazione di contenuti prevenuti o discriminatori, che possono rafforzare stereotipi nocivi e perpetuare pregiudizi esistenti.

2. Allucinazioni: Le LLM non comprendono veramente il contenuto che generano; generano testo basato su modelli nei dati di addestramento. Ciò significa che possono produrre informazioni erronee dal punto di vista dei fatti o senza senso, rendendole inadatte per applicazioni critiche come la diagnosi medica o il consiglio legale.

3. Risorse computazionali: L’addestramento e l’esecuzione delle LLM richiedono enormi risorse computazionali, incluse hardware specializzati come GPU e TPU. Ciò le rende costose da sviluppare e mantenere.

4. Privacy e sicurezza dei dati: Le LLM possono generare contenuti falsi convincenti, tra cui testo, immagini e audio. Ciò mette a rischio la privacy e la sicurezza dei dati, in quanto possono essere sfruttate per creare contenuti fraudolenti o impersonificare individui.

5. Preoccupazioni etiche: L’uso delle LLM in varie applicazioni, come i deepfake o la generazione automatica di contenuti, solleva questioni etiche riguardo al loro potenziale uso improprio e impatto sulla società.

6. Sfide regolamentari: Lo sviluppo rapido della tecnologia delle LLM ha superato i quadri normativi, rendendo difficile stabilire linee guida e regolamenti appropriati per affrontare i potenziali rischi e le sfide associate alle LLM.

È importante notare che molti di questi svantaggi non sono intrinseci alle LLM, ma riflettono piuttosto come vengono sviluppate, implementate e utilizzate. Sono in corso sforzi per mitigare questi svantaggi e rendere le LLM più responsabili e vantaggiose per la società. Qui è dove l’ancoraggio e la mascheratura possono essere sfruttati e avere un enorme vantaggio per le aziende.

Rilevanza per le aziende dell’ancoraggio

Le aziende si sforzano di introdurre Large Language Models (LLM) nelle loro applicazioni critiche. Comprendono il potenziale valore che le LLM potrebbero apportare in vari settori. Costruire LLM, preaddestrarle e tararle è piuttosto costoso e complicato per loro. Invece, potrebbero utilizzare i sistemi di intelligenza artificiale aperti disponibili nel settore con l’ancoraggio e la mascheratura dei suggerimenti relativi ai casi d’uso aziendali.

Pertanto, l’ancoraggio è una considerazione fondamentale per le aziende ed è più pertinente e utile per loro sia per migliorare la qualità delle risposte che per superare le preoccupazioni legate alle allucinazioni, alla sicurezza dei dati e alla conformità, poiché può generare un valore commerciale straordinario dalle LLM aperte disponibili sul mercato per numerosi casi d’uso che ora sono difficili da automatizzare.

Vantaggi per le aziende

Vi sono diversi vantaggi nell’implementare l’ancoraggio con le LLM:

1. Aumento della credibilità: Assicurando che le informazioni e i contenuti generati dalle LLM siano basati su fonti dati verificate, le aziende possono migliorare la credibilità delle loro comunicazioni, relazioni e contenuti. Ciò può contribuire a instaurare fiducia con clienti, clienti e stakeholder.

2. Miglior processo decisionale: Nelle applicazioni aziendali, specialmente quelle legate all’analisi dei dati e al supporto decisionale, l’utilizzo delle LLM con ancoraggio dei dati può fornire informazioni più affidabili. Ciò può portare a decisioni più informate, che sono cruciali per la pianificazione strategica e la crescita aziendale.

3. Conformità normativa: Molti settori sono soggetti a requisiti normativi per l’accuratezza e la conformità dei dati. L’ancoraggio dei dati con le LLM può contribuire a soddisfare queste norme di conformità, riducendo il rischio di problemi legali o normativi.

4. Generazione di contenuti di qualità: Le LLM vengono spesso utilizzate nella creazione di contenuti, come nel marketing, nel supporto clienti e nelle descrizioni dei prodotti. L’ancoraggio dei dati garantisce che il contenuto generato sia accurato dal punto di vista dei fatti, riducendo il rischio di diffondere informazioni false o fuorvianti o allucinazioni.

5. Riduzione delle disinformazioni: In un’era di fake news e disinformazione, l’ancoraggio dei dati può aiutare le aziende a combattere la diffusione di informazioni false, garantendo che il contenuto generato o condiviso sia basato su fonti dati validate.

6. Soddisfazione del cliente: Fornire ai clienti informazioni accurate e affidabili può migliorare la loro soddisfazione e fiducia nei prodotti o servizi di un’azienda.

7. Mitigazione del rischio: L’ancoraggio dei dati può contribuire a ridurre il rischio di prendere decisioni basate su informazioni errate o incomplete, che potrebbero causare danni finanziari o reputazionali.

Esempio: uno scenario di raccomandazione di prodotti per i clienti

Vediamo come l’ancoraggio dei dati potrebbe aiutare in un caso d’uso aziendale utilizzando chatGPT di openAI

Suggerimenti di base

Genera una breve email aggiungendo coupon su prodotti consigliati per il cliente

La risposta generata da ChatGPT è molto generica, non contestualizzata e grezza. Questo necessita di un aggiornamento/mapping manuale con i dati corretti dell’azienda, che è costoso. Vediamo come questo potrebbe essere automatizzato con le tecniche di grounding dei dati.

Supponiamo che l’azienda abbia già i dati dei clienti e un sistema di raccomandazione intelligente che possa generare buoni sconto e raccomandazioni per i clienti; potremmo collegare la richiesta sopra citata arricchendola con i metadata corretti in modo che il testo della e-mail generato da chatGPT sia esattamente come vogliamo e possa essere automaticamente inviato all’utente senza intervento manuale.

Supponiamo che il nostro motore di grounding otterrà i metadata di arricchimento corretti dai dati del cliente e aggiornerà la richiesta di seguito. Vediamo come sarebbe la risposta di ChatGPT per la richiesta di grounding.

Richiesta ground

Genera una breve e-mail aggiungendo i seguenti buoni sconto e prodotti al cliente Taylor e auguragli buone feste dal Team Aatagona, Atagona.comWinter Jacket Mens - [https://atagona.com/men/winter/jackets/123.html] - Sconto del 20%Rodeo Beanie Men’s - [https://atagona.com/men/winter/beanies/1234.html] - Sconto del 15%

La risposta generata con la richiesta di grounding è esattamente come l’azienda vorrebbe notificare il cliente. L’incorporazione dei dati dei clienti arricchiti in una risposta email da Gen AI è un’automazione che sarebbe notevole per scalare e sostenere le aziende.

Soluzioni di grounding Enterprise LLM per i sistemi software

Ci sono molteplici modi per ancorare i dati nei sistemi aziendali e una combinazione di queste tecniche potrebbe essere utilizzata per un ancoraggio dei dati efficace e una generazione di richieste specifiche per il caso d’uso. I due principali candidati come soluzioni potenziali per l’implementazione della generazione potenziata dal recupero (grounding) sono

  1. Dati dell’applicazione|Grafi di conoscenza
  2. Embedding di vettori e ricerca semantica

L’utilizzo di queste soluzioni dipenderà dal caso d’uso e dall’ancoraggio che si desidera applicare. Ad esempio, le risposte fornite dai negozi di vettori possono essere inesatte e vaghe, mentre i grafi di conoscenza restituirebbero dati precisi, accurati e memorizzati in un formato leggibile dall’uomo.

Alcune altre strategie che potrebbero essere integrate a quanto sopra potrebbero includere

  • Collegamento a API esterne, motori di ricerca
  • Mascheramento dei dati e sistemi di conformità
  • Integrazione con archivi di dati interni, sistemi
  • Unificazione dei dati in tempo reale da diverse fonti

In questo blog, vedremo un esempio di progettazione del software su come è possibile ottenere questo con i dati delle applicazioni aziendali e i grafi di conoscenza.

Grafi di conoscenza aziendali

Un grafo di conoscenza può rappresentare informazioni semantiche su diverse entità e le relazioni tra di loro. Nel mondo aziendale, essi memorizzano la conoscenza sui clienti, sui prodotti e altro ancora. I grafi dei clienti aziendali sarebbero uno strumento potente per ancoraggio dei dati in modo efficace e la generazione di richieste arricchite. I grafi di conoscenza consentono una ricerca basata sui grafi, consentendo agli utenti di esplorare le informazioni attraverso concetti e entità collegate, il che può portare a risultati di ricerca più precisi e diversi.

Confronto con i database di vettori

La scelta della soluzione di grounding dipenderà dal caso d’uso. Tuttavia, ci sono molti vantaggi nei confronti dei grafi rispetto ai vettori, come ad esempio

Progettazione ad alto livello

Vediamo a grandi linee come potrebbe essere il sistema per un’azienda che utilizza grafi di conoscenza e LLM aperti per il grounding.

Il livello di base è dove vengono memorizzati i dati dei clienti e i metadata aziendali in vari database, data warehouse e data lake. Ci può essere un servizio che costruisce i grafi di conoscenza dai dati e li memorizza in un database a grafo. Ci possono essere numerosi servizi aziendali/microservizi in un mondo distribuito nativo cloud che interagiscono con questi archivi di dati. Sopra questi servizi potrebbero esserci varie applicazioni che sfruttano l’infrastruttura sottostante.

Le applicazioni possono avere numerosi casi d’uso per incorporare l’IA nei loro scenari o nei flussi di lavoro automatizzati intelligenti, che richiedono l’interazione con sistemi interni ed esterni di intelligenza artificiale. Nel caso di scenari di IA generativa, prendiamo ad esempio un semplice flusso di lavoro in cui un’azienda vuole mirare ai clienti tramite una email che offre alcuni sconti su prodotti personalizzati consigliati durante la stagione delle vacanze. Questo può essere realizzato con una automazione di prima classe, sfruttando in modo più efficace l’IA.

Il flusso di lavoro

  • Un flusso di lavoro che vuole inviare una email può fare affidamento su sistemi Gen-AI aperti inviando una richiesta con dati contestualizzati del cliente.
  • L’applicazione del flusso di lavoro invierà una richiesta al proprio servizio di backend per ottenere il testo della email sfruttando i sistemi GenAI.
  • Il servizio di backend indirizzerà il servizio a un generatore di richieste, che a sua volta indirizzerà un motore di contestualizzazione.
  • Il motore di contestualizzazione acquisirà tutti i metadati del cliente da uno dei suoi servizi e recupererà il grafo delle conoscenze dei dati del cliente.
  • Il motore di contestualizzazione attraverserà il grafo tra i nodi estraendo le informazioni finali richieste e le invierà di nuovo al generatore di richieste.
  • Il generatore di richieste aggiungerà i dati contestualizzati a un modello preesistente per il caso d’uso e invierà la richiesta al sistema di intelligenza artificiale aperto con il quale l’azienda sceglie di integrarsi (ad esempio OpenAI/Cohere).
  • I sistemi Open GenAI restituiscono una risposta molto più pertinente e contestualizzata all’azienda, che viene inviata al cliente tramite email.

Dividiamo questo in due parti e comprendiamolo nel dettaglio:

1. Generazione di grafi di conoscenza dei clienti

Il design riportato di seguito si adatta all’esempio sopra, la modellazione può essere fatta in vari modi in base alle esigenze.

Modellazione dei dati: Supponiamo di avere varie tabelle modellate come nodi in un grafo e i collegamenti tra le tabelle come relazioni tra i nodi. Per l’esempio sopra, abbiamo bisogno di

  • una tabella che contiene i dati del cliente,
  • una tabella che contiene i dati del prodotto,
  • una tabella che contiene i dati di interessi del cliente (Clic), per delle raccomandazioni personalizzate,
  • una tabella che contiene i dati sugli sconti del prodotto.

È responsabilità dell’azienda acquisire tutti questi dati da varie fonti e aggiornarli regolarmente per raggiungere i clienti in modo efficace.

Vediamo come queste tabelle possono essere modellate e come possono essere trasformate in un grafo di clienti.

2. Modellazione di grafi

Dal visualizzatore di grafi sopra, possiamo vedere come i nodi dei clienti sono collegati a vari prodotti in base ai dati di coinvolgimento dei clic e successivamente ai nodi degli sconti. È facile per il servizio di contestualizzazione interrogare questi grafi dei clienti, attraversare questi nodi attraverso le relazioni e ottenere le informazioni necessarie sugli sconti a cui sono idonei i rispettivi clienti.

Un campione di nodi di grafo e delle relazioni JAVA POJOs per l’esempio potrebbe assomigliare al seguente

public class KnowledgeGraphNode implements Serializable { private final GraphNodeType graphNodeType; private final GraphNode nodeMetadata;}public interface GraphNode {}public class CustomerGraphNode implements GraphNode { private final String name; private final String customerId; private final String phone; private final String emailId;}public class ClicksGraphNode implements GraphNode { private final String customerId; private final int clicksCount;}public class ProductGraphNode implements GraphNode { private final String productId; private final String name; private final String category; private final String description; private final int price;}public class ProductDiscountNode implements GraphNode { private final String discountCouponId; private final int clicksCount; private final String category; private final int discountPercent; private final DateTime startDate; private final DateTime endDate;}

public class KnowledgeGraphRelationship implements Serializable { private final RelationshipCardinality Cardinality;}public enum RelationshipCardinality { ONE_TO_ONE, ONE_TO_MANY}

Un esempio di grafico grezzo in questo scenario potrebbe apparire come segue

Attraversando il grafico a partire dal nodo cliente ‘Taylor Williams’, risolveremmo il problema e otterremmo le giuste raccomandazioni di prodotti e sconti disponibili.

Sul mercato ci sono numerosi servizi di grafici che possono adattarsi alle architetture aziendali. Neo4j, TigerGraph, Amazon Neptune e OrientDB sono ampiamente utilizzati come database a grafo.

Introduciamo il nuovo paradigma dei Graph Data Lakes, che consente di eseguire query a grafo su dati tabulari (dati strutturati nei laghi, nei data warehouse e nei data lakehouse). Ciò viene realizzato con le nuove soluzioni elencate di seguito, senza la necessità di idratare o persistere i dati in memorie di grafo, sfruttando il concetto di Zero-ETL.

  • PuppyGraph(Graph Data Lake)
  • Timbr.ai

Conformità e considerazioni etiche

Protezione dei dati: Le aziende devono essere responsabili dello storage e dell’utilizzo dei dati dei clienti, nel rispetto del GDPR e di altre normative sulla protezione dei dati personali. I dati archiviati devono essere gestiti e puliti prima di essere elaborati o riutilizzati per ottenere informazioni o applicare l’intelligenza artificiale.

Allucinazioni e riconciliazione: Le aziende possono anche aggiungere servizi di riconciliazione che identificano informazioni errate nei dati, risalgono al percorso della query e apportano correzioni, il che può contribuire a migliorare l’accuratezza dei LLM. Con i grafi di conoscenza, poiché i dati archiviati sono trasparenti e leggibili dall’uomo, questo dovrebbe essere relativamente semplice da realizzare.

Politiche di conservazione restrittive: Per aderire alla protezione dei dati e prevenire un uso improprio dei dati dei clienti durante l’interazione con sistemi LLM aperti, è molto importante avere politiche di conservazione a zero, in modo che i sistemi esterni con cui le aziende interagiscono non conservino i dati richiesti per ulteriori scopi analitici o aziendali.

Conclusioni

In conclusione, i Large Language Models (LLM) rappresentano un notevole avanzamento nell’intelligenza artificiale e nell’elaborazione del linguaggio naturale. Possono trasformare diverse industrie e applicazioni, dalla comprensione e generazione del linguaggio naturale all’assistenza per compiti complessi. Tuttavia, il successo e l’uso responsabile dei LLM richiedono una solida base e una solida preparazione in varie aree chiave.

Punti chiave

  • Le aziende possono trarre enormi benefici da una preparazione e stimolo efficaci nell’utilizzo dei LLM per varie situazioni.
  • I grafi di conoscenza e le memorie vettoriali sono soluzioni di grounding popolari e la scelta dipenderà dall’obiettivo della soluzione.
  • I grafi di conoscenza possono avere informazioni più accurate e affidabili rispetto alle memorie vettoriali, il che dà un vantaggio per i casi di utilizzo aziendali senza la necessità di aggiungere ulteriori strati di sicurezza e conformità.
  • Trasformare la modellazione tradizionale dei dati con entità e relazioni in grafi di conoscenza con nodi e archi.
  • Integrare i grafi di conoscenza aziendale con diverse fonti di dati esistenti in grandi magazzini di dati aziendali.
  • I grafi di conoscenza sono ideali per le query analitiche. I data lake a grafo consentono di interrogare i dati tabulari come grafi in uno storage dati aziendale.

Domande frequenti

I media mostrati in questo articolo non sono di proprietà di Analytics Vidhya e vengono utilizzati a discrezione dell’autore.