Retrieval Augmented Generation con prompt flow di Azure Machine Learning (anteprima)
Importante
Questa funzionalità è attualmente in anteprima pubblica. Questa versione di anteprima viene fornita senza contratto di servizio, pertanto se ne sconsiglia l’uso per i carichi di lavoro in ambienti di produzione. Alcune funzionalità potrebbero non essere supportate o potrebbero presentare funzionalità limitate.
Per altre informazioni, vedere le Condizioni supplementari per l'uso delle anteprime di Microsoft Azure.
Retrieval Augmented Generation (RAG) è un modello che funziona con i modelli Large Language Models (LLM) con training preliminare e i propri dati per generare risposte. In Azure Machine Learning è ora possibile implementare i RAG in un flusso di richiesta. Il supporto per IL RAG è attualmente in anteprima pubblica.
Questo articolo elenca alcuni dei vantaggi di RAG, offre una panoramica tecnica e descrive il supporto RAG in Azure Machine Learning.
Nota
I concetti LLM e RAG sono una novità? Questa clip video di una presentazione Microsoft offre una spiegazione semplice.
Perché usare RAG?
Tradizionalmente, viene eseguito il training di un modello di base con dati temporizzati per garantire l'efficacia dell'esecuzione di attività specifiche e l'adattamento al dominio desiderato. Tuttavia, a volte è necessario lavorare con dati più recenti o attuali. Due approcci possono integrare il modello di base: ottimizzazione o ulteriore training del modello di base con nuovi dati, o RAG che usa la progettazione prompt per integrare o guidare il modello in tempo reale.
L'ottimizzazione è adatta per l'adattamento continuo del dominio, consentendo miglioramenti significativi nella qualità del modello, ma spesso con costi più elevati. Al contrario, RAG offre un approccio alternativo, consentendo l'uso dello stesso modello come motore senziente sui nuovi dati forniti in un prompt. Questa tecnica consente l'apprendimento nel contesto senza la necessità di un'ottimizzazione costosa, consentendo alle aziende di usare gli LLM modo più efficiente.
RAG consente alle aziende di ottenere soluzioni personalizzate mantenendo al contempo la pertinenza dei dati e ottimizzando i costi. Adottando RAG, le aziende possono usare le funzionalità di ragionamento degli LLM, utilizzando i propri modelli esistenti per elaborare e generare risposte in base ai nuovi dati. RAG facilita gli aggiornamenti periodici dei dati senza la necessità di ottimizzazione, semplificando l'integrazione degli LLM nelle aziende.
- Fornire dati supplementari come direttiva o richiesta a LLM
- Aggiunge un componente di fact checking nei modelli esistenti
- Eseguire il training del modello su dati aggiornati senza incorrere nei tempi e nei costi aggiuntivi associati all'ottimizzazione
- Eseguire il training sui dati specifici dell'azienda
Panoramica tecnica dell'uso di RAG in modelli di linguaggio di grandi dimensioni (LLM)
Nel recupero delle informazioni, RAG è un approccio che consente di sfruttare la potenza dei moduli LLM con i propri dati. L'abilitazione di un LLM per accedere ai dati personalizzati prevede i passaggi seguenti. In primo luogo, i dati di grandi dimensioni devono essere suddivisi in blocchi gestibili. In secondo luogo, i blocchi devono essere convertiti in un formato ricercabile. Quindi, i dati convertiti devono essere archiviati in una posizione che consenta un accesso efficiente. Inoltre, è importante archiviare i metadati pertinenti per citazioni o riferimenti quando l'LLM fornisce risposte.
Esaminiamo il diagramma in modo più dettagliato.
Dati di origine: si tratta della posizione in cui si trovano i dati. Potrebbe trattarsi di un file o una cartella nel computer, un file nell'archiviazione nel cloud, un asset di dati di Azure Machine Learning, un repository Git o un database SQL.
Suddivisione in blocchi di dati: i dati nell'origine devono essere convertiti in testo normale. Ad esempio, i documenti di word o i PDF devono essere aperti e convertiti in testo. Il testo viene quindi suddiviso in blocchi più piccoli.
Conversione del testo in vettori: sono denominati incorporamenti. I vettori sono rappresentazioni numeriche dei concetti convertiti in sequenze numeriche, che semplificano la comprensione delle relazioni tra tali concetti da parte dei computer.
Collegamenti tra i dati di origine e gli incorporamenti: queste informazioni vengono archiviate come metadati nei blocchi creati, che vengono quindi usati per aiutare gli LLM durante a generare citazioni durante la generazione di risposte.
RAG con Azure Machine Learning (anteprima)
RAG in Azure Machine Learning è abilitato dall'integrazione con il servizio OpenAI di Azure per modelli linguistici di grandi dimensioni e vettorializzazione, con supporto per Faiss e Azure AI Search (in precedenza Ricerca cognitiva) come archivi vettoriali e supporto per offrire strumenti e framework open source come LangChain per la suddivisione in blocchi dei dati.
Per implementare RAG, è necessario soddisfare alcuni requisiti chiave. Prima di tutto, i dati devono essere formattati in modo da consentire una ricerca efficiente prima di inviarli a LLM, riducendo quindi l'utilizzo dei token. Per garantire l'efficacia di RAG, è importante anche aggiornare regolarmente i dati. Inoltre, avere la possibilità di valutare l'output di 'LLM usando i dati consente di misurare l'efficacia delle tecniche. Azure Machine Learning non solo consente di iniziare a usare facilmente questi aspetti, ma anche di migliorare e preparare la produzione di RAG. Azure Machine Learning offre:
- Esempi per l'avvio di scenari Q&A basati su RAG.
- Esperienza dell'interfaccia utente basata su procedura guidata per creare e gestire i dati e incorporarli nei prompt flow.
- Possibilità di misurare e migliorare i flussi di lavoro RAG, tra cui generazione dei dati di test, creazione automatica dei prompt e metriche di valutazione delle richieste visualizzate.
- Scenari avanzati con maggiore controllo usando i nuovi componenti RAG integrati per la creazione di pipeline personalizzate nei notebook.
- Esperienza del codice, che consente l'utilizzo dei dati creati con offerte open source come LangChain.
- Integrazione perfetta dei flussi di lavoro RAG nei flussi di lavoro MLOps usando pipeline e processi.
Conclusione
Azure Machine Learning consente di incorporare RAG nell'IA usando studio di Azure Machine Learning o usando il codice con le pipeline di Azure Machine Learning. Offre diverse aggiunte di valore, ad esempio la possibilità di misurare e migliorare i flussi di lavoro RAG, la generazione di dati di test, la creazione automatica dei prompt e la visualizzazione delle metriche di valutazione dei prompt. Consente l'integrazione dei flussi di lavoro RAG nei flussi di lavoro MLOps usando le pipeline. È anche possibile usare i dati con offerte open source come LangChain.
Passaggi successivi
Usare archivi di vettori con Azure Machine Learning (anteprima)
Come creare un indice vettoriale nel prompt flow di Azure Machine Learning (anteprima)