Intelligenza artificiale generativa con Database di Azure per PostgreSQL - Server flessibile
SI APPLICA A: Database di Azure per PostgreSQL - Server flessibile
L'intelligenza artificiale generativa (GenAI) si riferisce a una classe di algoritmi di intelligenza artificiale che possono apprendere dal contenuto multimediale esistente e produrre nuovo contenuto. Il contenuto prodotto può essere personalizzato usando tecniche quali richieste e ottimizzazione. Gli algoritmi GenAI applicano modelli di Machine Learning specifici:
- Trasformatori e reti neurali ricorrenti (RNN) per la generazione di testo.
- Generative Adversarial Networks (GAN) per la generazione di immagini.
- Variational Autoencoder (VAE) per la generazione di immagini e così via.
GenAI viene usata nella sintesi di immagini e musica, nel settore sanitario e in attività comuni, ad esempio il completamento automatico del testo, il riepilogo del testo e la traduzione. Le tecniche GenAI consentono di usare funzionalità sui dati, ad esempio il clustering e la segmentazione, la ricerca semantica e le raccomandazioni, la modellazione degli argomenti, la risposta alle domande e il rilevamento anomalie.
OpenAI
OpenAI è un'azienda di ricerca di intelligenza artificiale (IA) nota per il suo lavoro pionieristico nel campo dell'intelligenza artificiale e dell'apprendimento automatico. La loro missione è garantire che l'intelligenza generale artificiale (AGI), termine che si riferisce a sistemi di IA altamente autonomi che possono superare le prestazioni umane nei lavori più preziosi a livello economico, fornisca benefici a tutta l'umanità. OpenAI ha portato sul mercato modelli generativi all'avanguardia come GPT-3, GPT-3.5 e GPT-4 (Generative Pretrained Transformer).
Azure OpenAI è un servizio LLM di Azure che consente di compilare applicazioni GenAI con Azure. Il Servizio OpenAI di Azure offre ai clienti un'intelligenza artificiale linguistica avanzata con i modelli OpenAI GPT-4, GPT-3, Codex, DALL-E e Whisper con la sicurezza e l'impegno aziendale di Azure. Azure OpenAI sviluppa le API con OpenAI, garantendo la compatibilità e una transizione uniforme dall'uno all'altro.
Con OpenAI di Azure i clienti accedono alle funzionalità di sicurezza di Microsoft Azure eseguendo gli stessi modelli di OpenAI. Azure OpenAI offre funzionalità di rete privata, disponibilità a livello di area e filtro dei contenuti di intelligenza artificiale responsabile.
Altre informazioni su Azure OpenAI.
Modello linguistico di grandi dimensioni (LLM)
Un LLM (Large Language Model) è un tipo di modello di intelligenza artificiale sottoposto a training su grandi quantità di dati di testo per comprendere e generare un linguaggio simile a quello umano. Gli LLM sono in genere basati su architetture di Deep Learning, ad esempio Transformers, e sono noti per la loro capacità di eseguire un'ampia gamma di attività di comprensione e generazione del linguaggio naturale. GPT di OpenAI, che è alla base di ChatGPT, è un LLM.
Le caratteristiche e le funzionalità principali dei modelli linguistici di grandi dimensioni includono:
- Scala: la scalabilità immensa in termini di numero di parametri usati nell'architettura LLM è la sua caratteristica. I modelli come GPT-3 (Generative Pretrained Transformer 3) contengono da centinaia di milioni a trilioni di parametri, che consentono loro di acquisire modelli complessi nel linguaggio.
- Pre-training: le macchine virtuali vengono sottoposte a training preliminare su un ampio corpus di dati di testo da Internet, cosa che consente loro di apprendere grammatica, sintassi, semantica e una vasta gamma di conoscenze sul linguaggio e sul mondo.
- Ottimizzazione: dopo il pre-training, i moduli APM possono essere ottimizzati in attività o domini specifici con set di dati più piccoli e specifici dell'attività. Questo processo di ottimizzazione consente loro di adattarsi ad attività più specializzate, ad esempio classificazione del testo, traduzione, riepilogo e risposta alle domande.
GPT
GPT è l'acronimo di Generative Pretrained Transformer e si riferisce a una serie di modelli linguistici di grandi dimensioni sviluppati da OpenAI. I modelli GPT sono reti neurali pre-addestrate su grandi quantità di dati da Internet, cosa che li rende in grado di comprendere e generare testo simile a quello umano.
Ecco una panoramica dei principali modelli GPT e delle relative caratteristiche principali:
GPT-3: rilasciato a giugno 2020, è un modello molto noto nella serie GPT. Ha 175 miliardi di parametri, rendendolo uno dei modelli linguistici più grandi e potenti in esistenza. GPT-3 ha ottenuto prestazioni notevoli su un'ampia gamma di attività di comprensione e generazione del linguaggio naturale. Può eseguire attività come il completamento del testo, la traduzione, la risposta alle domande e altro ancora, con una padronanza del linguaggio pari a quella umana. GPT-3 è suddiviso in varie dimensioni di modello, che vanno dalla più piccola (125 milioni) alla più grande (175 miliardi di parametri).
GPT-4: il modello GPT più recente di OpenAI ha 1,76 trilioni di parametri.
Vettori
Un vettore è un concetto matematico usato nell'algebra lineare e nella geometria per rappresentare le quantità con grandezza e direzione. Nel contesto di Machine Learning, i vettori vengono spesso usati per rappresentare punti dati o funzionalità.
Di seguito sono riportati alcuni attributi e operazioni del vettore chiave:
- Grandezza: la lunghezza o la dimensione di un vettore, spesso indicata come norma, rappresenta la grandezza dei dati che rappresenta. È un numero reale non negativo.
- Direzione: indica l'orientamento o l'angolo della quantità rappresentata in relazione a un punto di riferimento o a un sistema di coordinate.
- Componenti: un vettore può essere scomposto nei relativi componenti lungo assi o dimensioni diverse. In un sistema di coordinate cartesiano 2D, un vettore può essere rappresentato rispettivamente come (x, y), dove x e y sono i relativi componenti lungo l'asse x e l'asse y. Un vettore in n dimensioni è una tupla n {x1, x2… xn}.
- Addizione e moltiplicazione scalari: i vettori possono essere aggiunti insieme per formare nuovi vettori e possono essere moltiplicati per scalari (numeri reali).
- Prodotto punto e prodotto incrociato: i vettori possono essere combinati usando prodotti punto (prodotto scalare) e prodotti incrociati (prodotto vettoriale).
Database vettoriali
Un database vettoriale, noto anche come sistema di gestione di database vettoriale (DBMS), è un tipo di sistema di database progettato per archiviare, gestire ed eseguire query sui dati vettoriali in modo efficiente. I database relazionali tradizionali gestiscono principalmente i dati strutturati nelle tabelle, mentre quelli vettoriali sono ottimizzati per l'archiviazione e il recupero di punti dati multidimensionali rappresentati come vettori. Questi database sono utili per le applicazioni in cui sono coinvolte operazioni quali ricerche di somiglianza, dati geospaziali, sistemi di raccomandazione e clustering.
Di seguito sono riportate alcune caratteristiche chiave dei database vettoriali:
- Archiviazione vettoriale: i database vettoriali archiviano i punti dati come vettori con più dimensioni. Ogni dimensione rappresenta una caratteristica o un attributo del punto dati. Questi vettori possono rappresentare un'ampia gamma di tipi di dati, inclusi dati numerici, categorici e testuali.
- Operazioni vettoriali efficienti: i database vettoriali sono ottimizzati per l'esecuzione di operazioni vettoriali, ad esempio l'addizione vettoriale, la sottrazione, i prodotti punto e i calcoli di somiglianza (ad esempio la somiglianza del coseno o la distanza euclidea).
- Ricerca efficiente: i meccanismi di indicizzazione efficienti sono fondamentali per il recupero rapido di vettori simili. I database vettoriali usano vari meccanismi di indicizzazione per abilitare il recupero rapido.
- Linguaggi di query: forniscono linguaggi di query e API personalizzate per le operazioni vettoriali e la ricerca di somiglianza. Questi linguaggi di query consentono agli utenti di esprimere i criteri di ricerca in modo efficiente.
- Ricerca similarità: eccelle nelle ricerche di similarità, consentendo agli utenti di trovare punti dati simili a un determinato punto di query. Questa caratteristica è utile nei sistemi di ricerca e raccomandazione.
- Gestione dei dati geospaziali: alcuni database vettoriali sono progettati per i dati geospaziali, cosa che li rende particolarmente adatti per applicazioni come servizi basati sulla posizione, GIS (Geographic Information Systems) e attività correlate alla mappa.
- Supporto per tipi di dati diversi: i database vettoriali possono archiviare e gestire vari tipi di dati, tra cui vettori, immagini, testo e altro ancora.
PostgreSQL può ottenere le funzionalità di un database vettoriale con l'aiuto dell'estensionepgvector
.
Incorporamenti
Gli incorporamenti sono un concetto nell'apprendimento automatico e nell'elaborazione del linguaggio naturale (NLP) che implica la rappresentazione di oggetti, ad esempio parole, documenti o entità, come vettori in uno spazio multidimensionale. Questi vettori sono spesso densi, ovvero hanno un numero elevato di dimensioni e vengono appresi tramite varie tecniche, incluse le reti neurali. Gli incorporamenti hanno lo scopo di acquisire relazioni semantiche e analogie tra gli oggetti in uno spazio vettoriale continuo.
I tipi comuni di incorporamento includono:
- parola: nell'NLP, gli incorporamenti di parole rappresentano parole come vettori. Ogni parola viene mappata a un vettore in uno spazio ad alta dimensione, in cui le parole con significati o contesti simili si trovano più vicini l'uno all'altro.
Word2Vec
eGloVe
sono tecniche di incorporamento di parole comuni. - documento: rappresenta i documenti come vettori.
Doc2Vec
viene comunemente usato per creare incorporamenti di documenti. - immagine: le immagini possono essere rappresentate come incorporamenti per acquisire funzionalità visive, consentendo attività come il riconoscimento degli oggetti.
Gli incorporamenti sono fondamentali per rappresentare dati complessi e altamente dimensionali in un formato facilmente elaborabile dai modelli di Machine Learning. Possono essere sottoposti a training su set di dati di grandi dimensioni e quindi usati come funzionalità per varie attività. Vengono inoltre usati dagli LLM.
PostgreSQL può ottenere le funzionalità di generazione di incorporamenti vettoriali con l'estensione OpenAI di Azure.
Scenari
L'intelligenza artificiale generativa ha un'ampia gamma di applicazioni in vari settori, tra cui tecnologia, sanità, intrattenimento, finanza, produzione e altro ancora. Ecco alcune attività comuni che possono essere eseguite con l'intelligenza artificiale generativa:
- Ricerca semantica:
- GenAI abilita la ricerca semantica sui dati anziché la ricerca lessicografica. Quest'ultima cerca corrispondenze esatte alle query, mentre la ricerca semantica trova contenuto che soddisfa la finalità della query di ricerca.
- Chatbot e assistenti virtuali:
- Sviluppare chatbot che possono partecipare a conversazioni naturali in grado di riconoscere il contesto, ad esempio per implementare l'aiuto autonomo per i clienti.
- Sistemi di raccomandazione:
- Migliorare gli algoritmi di raccomandazione generando incorporamenti o rappresentazioni di elementi o utenti.
- Clustering e segmentazione:
- Gli incorporamenti generati da GenAI consentono agli algoritmi di clustering di raggruppare i dati in modo che dati simili vengano raggruppati. Ciò consente di avere scenari come la segmentazione dei clienti, cosa che permette agli inserzionisti di indirizzare i propri clienti in modo diverso in base ai propri attributi.
- Generazione di contenuti:
- Generazione di testo: generare testo simile a quello umano per applicazioni come chatbot, creazione di romanzi/poesie e comprensione del linguaggio naturale.
- Generazione di immagini: crea immagini realistiche, opere d'arte o disegni per grafica, intrattenimento e pubblicità.
- Generazione video: genera video, animazioni o effetti video per film, giochi e marketing.
- Generazione di musica.
- Traduzione:
- traducono il testo da una lingua all'altra.
- Riepilogo:
- Riepilogare gli articoli lunghi o i documenti per estrarre le informazioni chiave.
- Aumento dei dati:
- Generare esempi di dati aggiuntivi per espandere e migliorare i set di dati di training per i modelli di Machine Learning (ML).
- Creare dati sintetici per scenari difficili o costosi da raccogliere nel mondo reale, ad esempio l'imaging medico.
- Individuazione di farmaci:
- Generare strutture molecolari e prevedere potenziali farmaci candidati per la ricerca.
- Sviluppo di giochi:
- Creare contenuti di gioco, inclusi livelli, personaggi e trame.
- Generare ambienti e paesaggi realistici nel gioco.
- Denoising e completamento dei dati:
- Pulire i dati rumorosi generando campioni di dati puliti.
- Compilare i dati mancanti o incompleti nei set di dati.
Contenuto correlato
- Integrare Database di Azure per PostgreSQL - Server flessibile con Servizi cognitivi di Azure.
- Generare incorporamenti vettoriali in Database di Azure per PostgreSQL - Server flessibile con LLM (anteprima) distribuito localmente.
- Integrare Database di Azure per PostgreSQL con Azure Machine Learning Services.
- Generare incorporamenti vettoriali con Azure OpenAI in Database di Azure per PostgreSQL - Server flessibile.
- Estensione azure per intelligenza artificiale in Database di Azure per PostgreSQL - Server flessibile.
- Sistema di raccomandazione con Database di Azure per PostgreSQL - Server flessibile e OpenAI di Azure.
- Ricerca semantica con Database di Azure per PostgreSQL - Server flessibile e OpenAI di Azure.
- Abilitare e usare pgvector in Database di Azure per PostgreSQL - Server flessibile.