Condividi tramite


Intelligenza artificiale generativa con Database di Azure per PostgreSQL

L'intelligenza artificiale generativa si riferisce a una classe di algoritmi di intelligenza artificiale che possono apprendere dal contenuto multimediale esistente e produrre nuovi contenuti. Il contenuto prodotto può essere personalizzato tramite tecniche quali richieste e ottimizzazione. Gli algoritmi di intelligenza artificiale generativi applicano modelli di Machine Learning specifici:

  • Trasformatori e reti neurali ricorrenti (RNN) per la generazione di testo
  • Reti antagoniste generative (GANs) e autoencoder variationali (VAEs) per la generazione di immagini

L'intelligenza artificiale generativa viene usata nella sintesi di immagini e musica e nel settore sanitario, insieme a attività comuni, ad esempio il completamento automatico del testo, il riepilogo del testo e la traduzione. Le tecniche di intelligenza artificiale generative consentono 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 delle anomalie.

Il video seguente illustra l'uso dell'intelligenza artificiale generativa con Database di Azure per PostgreSQL e l'estensionepgvector , che consente di comprendere i concetti descritti in questo articolo.

OpenAI

OpenAI è un'organizzazione di ricerca e una società tecnologica nota per il suo lavoro pioniere nel campo dell'IA e dell'apprendimento automatico. La sua missione è garantire che l'intelligenza generale artificiale (AGI), che si riferisce a sistemi di IA altamente autonomi che possono superare le prestazioni umane nel lavoro più prezioso economicamente, beneficia di tutta l'umanità. OpenAI ha portato sul mercato modelli generativi all'avanguardia come GPT-3, GPT-3.5 e GPT-4.

Azure OpenAI è un servizio Microsoft che consente di creare applicazioni di intelligenza artificiale generative usando Azure. Azure OpenAI offre ai clienti un'intelligenza artificiale avanzata basata sul linguaggio con i modelli OpenAI GPT-4, GPT-3, Codex, DALL-E e Whisper, con le funzionalità di sicurezza e aziendali di Azure. Azure OpenAI sviluppa le API con OpenAI per garantire la compatibilità e una transizione uniforme da una all'altra.

Con Azure OpenAI 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 sui modelli OpenAI di Azure.

Modello linguistico di grandi dimensioni

Un modello di linguaggio di grandi dimensioni (LLM) è un tipo di modello di intelligenza artificiale sottoposto a training su grandi quantità di dati di testo per comprendere e generare un linguaggio umano. I modelli linguistici di grandi dimensioni (LLM) sono in genere basati su architetture di Deep Learning, ad esempio i trasformatori. Sono noti per la loro capacità di eseguire un'ampia gamma di attività di comprensione e generazione del linguaggio naturale. Il servizio Azure OpenAI e ChatGPT di OpenAI sono esempi di offerte LLM.

Le caratteristiche e le funzionalità principali dei modelli linguistici di grandi dimensioni includono:

  • Scala: la scala degli LLM è immensa, in termini di numero di parametri usati dalle relative architetture. I modelli come GPT-3 contengono da centinaia di milioni a trilioni di parametri, che consentono di acquisire modelli complessi nel linguaggio.
  • Pretraining: gli LLM vengono sottoposti a pretraining su un ampio corpus di dati di testo da Internet. Questo training preliminare consente loro di apprendere grammatica, sintassi, semantica e una vasta gamma di conoscenze sul linguaggio e sul mondo.
  • Ottimizzazione: dopo il pre-addestramento, i LLM possono essere ottimizzati su attività o domini specifici con set di dati più piccoli e specifici dell'attività. Questo processo di ottimizzazione consente loro di adattarsi a attività più specializzate, ad esempio classificazione del testo, traduzione, riepilogo e risposte 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 preaddestrate su grandi quantità di dati provenienti da Internet, quindi sono 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 nel giugno 2020 e un modello noto nella serie GPT. Ha 175 miliardi di parametri, che lo rende 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 e la risposta alle domande con la fluenza a livello umano.

    GPT-3 è suddiviso in varie dimensioni del modello, che vanno dai più piccoli (125 milioni di parametri) al 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à.

Gli attributi chiave e le operazioni dei vettori includono:

  • Grandezza: la lunghezza o la dimensione di un vettore, spesso indicato come norma, rappresenta la grandezza dei dati. È un numero reale non negativo.
  • Direzione: la 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 n tupla ({x1, x2… xn}).
  • Addizione e moltiplicazione scalare: i vettori possono essere aggiunti insieme per formare nuovi vettori e possono essere moltiplicati per scalari (numeri reali).
  • Prodotti punto e prodotti incrociati: i vettori possono essere combinati tramite prodotti a punti (prodotti scalari) e prodotti incrociati (prodotti vettoriali).

Database vettoriali

Un database vettoriale, noto anche come dbms (Vector Database Management System), è 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 dati strutturati in tabelle, mentre i database 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.

Le caratteristiche principali dei database vettoriali includono:

  • 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 di vettore 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: i database vettoriali forniscono linguaggi di query e API personalizzati per le operazioni vettoriali e le ricerche di somiglianza. Questi linguaggi di query consentono agli utenti di esprimere i criteri di ricerca in modo efficiente.
  • Ricerca di somiglianza: i database vettoriali eseguono ricerche di somiglianza, che consentono agli utenti di trovare punti dati simili a un punto di query specificato. Questa caratteristica è utile nei sistemi di ricerca e raccomandazione.
  • Gestione dei dati geospaziali: alcuni database vettoriali sono progettati per i dati geospaziali, quindi sono adatti per applicazioni come servizi basati sulla posizione, sistemi informativi geografici e attività correlate alla mappa.
  • Supporto per tipi di dati diversi: i database vettoriali possono archiviare e gestire vari tipi di dati, ad esempio vettori, immagini e testo.

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 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. Vengono apprese 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:

  • Word: nell'elaborazione del linguaggio naturale, 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 e GloVe sono tecniche comuni di incorporamento delle parole.
  • Documento: gli incorporamenti di documenti rappresentano i documenti come vettori. Doc2Vec è molto diffuso per la creazione di incorporamenti di documenti.
  • Immagine: le immagini possono essere rappresentate come incorporamenti per acquisire funzionalità visive per attività come il riconoscimento degli oggetti.

Gli incorporamenti sono fondamentali per rappresentare dati complessi e ad alta dimensione in un formato che i modelli di Machine Learning possono elaborare facilmente. Possono essere sottoposti a training su set di dati di grandi dimensioni e quindi usati come funzionalità per varie attività. I modelli linguistici di grandi dimensioni li utilizzano.

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 e settori, tra cui tecnologia, sanità, intrattenimento, finanza, produzione e altro ancora. Ecco alcune attività comuni che gli utenti possono eseguire usando l'intelligenza artificiale generativa:

  • Ricerca semantica:
    • L'intelligenza artificiale generativa consente la ricerca semantica sui dati anziché la ricerca lessicografica. Quest'ultimo 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 interagire in conversazioni naturali con riconoscimento del contesto; ad esempio per implementare self-help 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 dall'intelligenza artificiale consentono agli algoritmi di clustering di raggruppare i dati in modo che dati simili vengano raggruppati. Questo clustering consente scenari come la segmentazione dei clienti, che consente agli inserzionisti di indirizzare i clienti in modo diverso in base ai propri attributi.
  • Generazione di contenuti:
    • Generare testo umano per applicazioni come chatbot, creazione di romanzi/poesie e comprensione del linguaggio naturale.
    • Creare immagini realistiche, opere d'arte o disegni per grafica, intrattenimento e pubblicità.
    • Genera video, animazioni o effetti video per film, giochi e marketing.
    • Genera musica.
  • Traduzione:
    • Tradurre testo da una lingua a un'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.
    • Creare dati sintetici per scenari difficili o costosi da raccogliere nel mondo reale, ad esempio l'imaging medico.
  • Scoperta 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.
  • Rimozione del rumore e completamento dei dati:
    • Pulire i dati rumorosi generando campioni di dati puliti.
    • Compilare i dati mancanti o incompleti nei set di dati.