Uno dei più recenti progressi nell'elaborazione del linguaggio naturale è la retrieval augmented generation (RAG), una tecnica che combina i punti di forza del recupero delle informazioni e della generazione del linguaggio naturale (NLG). La RAG è in grado di rimodellare il modo in cui il software viene concettualizzato, progettato e implementato, inaugurando una nuova era di efficienza e creatività alimentata da modelli generativi.
Cos'è la retrieval augmented generation (RAG)?
La retrieval augmented generation (RAG) è un modello di elaborazione del linguaggio naturale che combina due componenti chiave: generazione e recupero.
Generazione: vengono creati nuovi contenuti, come frasi o paragrafi, in genere basati su modelli linguistici di grandi dimensioni (LLM).
Recupero: vengono recuperate le informazioni pertinenti da un set predeterminato di documenti o dati.
In parole povere, la RAG si avvale del processo di recupero per trovare informazioni utili in una vasta raccolta di testi e poi del processo di generazione per utilizzare tali informazioni con l'obiettivo di migliorare il suo addestramento basato su LLM e creare testo nuovo e coerente. Questo approccio contribuisce a migliorare la qualità e la pertinenza dei contenuti generati dall'IA sfruttando nuove conoscenze, spesso più specifiche del dominio, al di fuori del vasto set di dati utilizzato per addestrare l'LLM originale. È comunemente usato, ad esempio, per rispondere a domande o riassumere testo.
La RAG integra questi due processi, consentendo agli sviluppatori di utilizzare una vasta gamma di conoscenze per potenziare gli LLM e migliorare la generazione di nuovi contenuti pertinenti.
Qual è la funzione dei dati?
I dati sono la linfa vitale dei modelli linguistici di grandi dimensioni, dei modelli di IA generativa (IA gen) e delle applicazioni di IA, e vengono utilizzati in vari modi per addestrare, convalidare e migliorare le prestazioni di questi modelli in diversi domini. I modelli NLP e RAG utilizzano per l'addestramento i dati noti come "dati vettoriali", al fine di determinare le relazioni tra i set di dati.
Cosa sono i dati vettoriali?
Potresti aver sentito parlare di dati vettoriali nei sistemi informativi geografici (GIS) e nel mapping. Oggigiorno i dati vettoriali sono utilizzati in diversi settori, tra cui geografia, pianificazione urbana, scienze ambientali e trasporti. Consentono la rappresentazione, l'analisi e la visualizzazione accurate delle informazioni relative allo spazio, aiutando gli utenti a comprendere e prendere decisioni basate sui dati geografici. I dati vettoriali illustrano la relazione o lo spazio tra le cose, ad esempio la distanza tra una città e l'altra.
In che modo la NLP e la RAG utilizzano i dati vettoriali?
La NLP e la RAG non utilizzano i dati vettoriali nel senso tradizionale dei GIS o dell'analisi spaziale, ma le rappresentazioni vettoriali sono fondamentali per varie attività all'interno di questi sistemi. In questo contesto, i dati vettoriali si riferiscono in genere a rappresentazioni numeriche di parole, frasi o documenti in uno spazio vettoriale ad alta dimensione.
Queste rappresentazioni numeriche vengono utilizzate nei modelli, comunemente chiamati "embedding". Questi embedding acquisiscono le relazioni semantiche e sintattiche tra parole o segmenti di testo. Ad esempio, i dati vettoriali ad alta dimensione possono essere inseriti in modelli come watsonx.ai di IBM oHugging Face, specializzati nella conversione dei dati in embedding mediante la trasformazione di dati complessi in forme numeriche comprensibili per i computer.
Sebbene il termine "dati vettoriali" in ambito di RAG non si riferisca a vettori geografici, la rappresentazione del testo come vettore è fondamentale per molti aspetti della NLP e della RAG, tra cui l'apprendimento, il recupero e la generazione della rappresentazione. Questi dati di addestramento consentono ai modelli di elaborare e manipolare il testo in modo significativo, facilitando attività come la risposta alle domande, la sintesi e la generazione di dialoghi.
Come utilizzare la RAG nello sviluppo del software
1. Recupero delle informazioni
Il recupero delle informazioni svolge un ruolo cruciale nello sviluppo del software. Spesso gli sviluppatori devono accedere a molte risorse, tra cui documentazione, repository di codice, forum e documenti di ricerca. La RAG semplifica questo processo automatizzando il recupero delle informazioni pertinenti, consentendo di risparmiare tempo e fornendo agli sviluppatori l'accesso alle informazioni più aggiornate, accurate e contestualmente pertinenti.
2. Generazione del linguaggio naturale
Dopo che sono state recuperate le informazioni pertinenti, entra in gioco la generazione del linguaggio naturale della RAG, che consiste nella la creazione di testo leggibile in base ai dati recuperati. Nello sviluppo del software, si tratta di snippet di codice, documentazione o persino guide interattive. Il contenuto generato non è un semplice copia-incolla di informazioni esistenti, ma viene adattato alle esigenze specifiche dello sviluppatore.
3. Perfezionamento iterativo
Ciò che distingue la RAG è il suo processo di perfezionamento iterativo. Gli sviluppatori possono interagire con i contenuti generati, fornendo feedback e perfezionando l'output. Questa interazione bidirezionale perfeziona il risultato finale in modo che sia più accurato e più in linea con l'intento e lo stile di programmazione dello sviluppatore. Si tratta di un approccio iterativo che colma il divario tra la vasta gamma di informazioni e i requisiti specifici di un determinato progetto.
Scenari di utilizzo dello sviluppo del software per la retrieval augmented generation
Scenario di utilizzo 1: generazione di codice
La RAG può rivoluzionare la generazione del codice. Gli sviluppatori possono descrivere i requisiti o la logica di alto livello e il sistema può recuperare gli snippet di codice pertinenti, adattandoli al contesto specifico. Questo accelera il processo di codifica e incoraggia le procedure consigliate.
Scenario di utilizzo 2: documentazione
La documentazione è un aspetto fondamentale dello sviluppo del software, spesso trascurato a causa dei limiti di tempo. La RAG semplifica la creazione della documentazione estraendo le informazioni da fonti pertinenti e generando automaticamente una documentazione coerente e intuitiva.
Scenario di utilizzo 3: risoluzione dei problemi e debugging
Di fronte alla sfide di programmazione, gli sviluppatori possono utilizzare la RAG per cercare soluzioni e ricevere suggerimenti sensibili al contesto, con la possibilità di accelerare notevolmente il processo di debugging e ridurre i downtime.
Utilizzo della RAG per il cloud computing ibrido
I team dedicati alle operazioni di sviluppo (DevOps) e alle operazioni di machine learning (MLOps) possono sfruttare la RAG in un ambiente cloud ibrido, ad esempio per migliorare la gestione dei dati, l'addestramento dei modelli, la documentazione, il monitoraggio e l'allocazione delle risorse, con l'obiettivo di incrementare l'efficienza e l'efficacia delle operazioni di machine learning.
Dati e documentazione
La RAG può essere utilizzata per recuperare i dati pertinenti da sorgenti di dati on premise e basate su cloud: una soluzione particolarmente utile in un ambiente cloud ibrido in cui i dati possono essere distribuiti in più posizioni. Grazie a una maggiore efficienza nel recupero e nell'incremento dei dati, le MLOps consentono ai modelli di machine learning di accedere a set di dati diversificati e completi per l'addestramento e la convalida.
La RAG può essere utile anche per automatizzare i processi di documentazione e condivisione delle conoscenze nell'ambito dei flussi di lavoro MLOps. I sistemi RAG possono generare automaticamente documentazione, report e riepiloghi di esperimenti di machine learning, valutazioni di modelli e procedure di deployment utilizzando le funzionalità NLG, mantenendo così registri completi delle attività e semplificando il trasferimento delle conoscenze tra i membri del team.
Allocazione e ottimizzazione delle risorse
Le tecniche della RAG, inoltre, possono essere integrate nei flussi di lavoro per consentire l'allocazione e la scalabilità adattive delle risorse in un ambiente cloud ibrido. Ad esempio, i team MLOps possono allocare in modo dinamico le risorse di elaborazione tra infrastrutture on premise e piattaforme basate su cloud per ottimizzare i processi di addestramento, inferenza e deployment dei modelli, generando informazioni dettagliate sulle prestazioni dei modelli e sull'utilizzo delle risorse.
L'ecosistema in crescita dell'IA
Per gli sviluppatori che intendono sfruttare la RAG, esiste un ecosistema in crescita di prodotti di dati e modelli generativi. Un esempio rilevante di cui potresti aver sentito parlare è quello di OpenAI, la società che ha creato ChatGPT. L'assistente RAG di OpenAI è attualmente in versione beta e fa parte di una più ampia famiglia di modelli sviluppati da OpenAI.
Organizzazioni e sviluppatori possono anche implementare le loro versioni di RAG utilizzando un ecosistema di strumenti e modelli di dati per creare un ambiente con livelli di sicurezza avanzati per scenari di utilizzo specifici. Inoltre, le partnership in aumento all'interno di questo ecosistema stanno aiutando i team MLOps a essere immediatamente operativi e a concentrarsi sui risultati aziendali anziché dedicare tempo alla risoluzione dei problemi e alla manutenzione di una complessa gamma di tecnologie standalone.
Scopri di più
Dell Technologies e Red Hat hanno collaborato per offrire una soluzione di AI/ML per l'intero insieme di tecnologie basata su Dell APEX Cloud Platform per Red Hat OpenShift con Red Hat OpenShift AI. Utilizzando una serie di documenti vettoriali, OpenShift AI su DELL APEX Cloud Platform utilizza un LLM con RAG per creare un assistente digitale che non solo contiene informazioni specifiche per ogni singola organizzazione, ma fornisce anche risposte aggiornate ai suoi utenti.
Red Hat continua a creare il suo ecosistema di partner software e hardware per offrire soluzioni complete per la creazione, il deployment e la gestione di modelli di ML e applicazioni intelligenti basate sull'IA.
Consulta il Red Hat Ecosystem Catalog per scoprire le soluzioni fornite da partner software e hardware certificati su Red Hat OpenShift per tutti i carichi di lavoro AI/ML.
Sull'autore
Adam Wealand's experience includes marketing, social psychology, artificial intelligence, data visualization, and infusing the voice of the customer into products. Wealand joined Red Hat in July 2021 and previously worked at organizations ranging from small startups to large enterprises. He holds an MBA from Duke's Fuqua School of Business and enjoys mountain biking all around Northern California.
Altri risultati simili a questo
Ricerca per canale
Automazione
Novità sull'automazione IT di tecnologie, team e ambienti
Intelligenza artificiale
Aggiornamenti sulle piattaforme che consentono alle aziende di eseguire carichi di lavoro IA ovunque
Hybrid cloud open source
Scopri come affrontare il futuro in modo più agile grazie al cloud ibrido
Sicurezza
Le ultime novità sulle nostre soluzioni per ridurre i rischi nelle tecnologie e negli ambienti
Edge computing
Aggiornamenti sulle piattaforme che semplificano l'operatività edge
Infrastruttura
Le ultime novità sulla piattaforma Linux aziendale leader a livello mondiale
Applicazioni
Approfondimenti sulle nostre soluzioni alle sfide applicative più difficili
Serie originali
Raccontiamo le interessanti storie di leader e creatori di tecnologie pensate per le aziende
Prodotti
- Red Hat Enterprise Linux
- Red Hat OpenShift
- Red Hat Ansible Automation Platform
- Servizi cloud
- Scopri tutti i prodotti
Strumenti
- Formazione e certificazioni
- Il mio account
- Supporto clienti
- Risorse per sviluppatori
- Trova un partner
- Red Hat Ecosystem Catalog
- Calcola il valore delle soluzioni Red Hat
- Documentazione
Prova, acquista, vendi
Comunica
- Contatta l'ufficio vendite
- Contatta l'assistenza clienti
- Contatta un esperto della formazione
- Social media
Informazioni su Red Hat
Red Hat è leader mondiale nella fornitura di soluzioni open source per le aziende, tra cui Linux, Kubernetes, container e soluzioni cloud. Le nostre soluzioni open source, rese sicure per un uso aziendale, consentono di operare su più piattaforme e ambienti, dal datacenter centrale all'edge della rete.
Seleziona la tua lingua
Red Hat legal and privacy links
- Informazioni su Red Hat
- Opportunità di lavoro
- Eventi
- Sedi
- Contattaci
- Blog di Red Hat
- Red Hat come ambiente inclusivo
- Cool Stuff Store
- Red Hat Summit