Partager via


IA générative avec Azure Database pour PostgreSQL - Serveur flexible

S’APPLIQUE À : Azure Database pour PostgreSQL - Serveur flexible

L’IA générative (GenAI) fait référence à une classe d’algorithmes d’intelligence artificielle qui peuvent apprendre à partir d’un contenu multimédia existant et produire un nouveau contenu. Le contenu produit peut être personnalisé à l’aide de techniques telles que les invites et le réglage précis. Les algorithmes GenAI appliquent des modèles Machine Learning spécifiques :

  • Transformateurs et réseau neuronaux récurrents (RNN) de génération de texte.
  • Réseaux antagonistes génératifs (GAN) de génération d’image.
  • Auto-encodeurs variationnels (VAE) de génération d’image, etc.

GenAI est utilisé dans la synthèse d’image et de musique, les soins de santé, les tâches courantes telles que l’autocomplétion de texte, le résumé de texte et la traduction. Les techniques GenAI permettent des fonctionnalités sur les données telles que le clustering et la segmentation, la recherche sémantique et les recommandations, la modélisation des rubriques, la réponse aux questions et la détection d’anomalie.

OpenAI

OpenAI est une organisation de recherche et une société technologique de l’intelligence artificielle connue pour son travail pionnier dans le domaine de l’intelligence artificielle et du Machine Learning. Sa mission est de s’assurer que l’intelligence générale artificielle (AGI), qui fait référence à des systèmes d’IA hautement autonomes qui peuvent surpasser les humains dans le travail le plus utile sur le plan économique, profite à toute l’humanité. OpenAI a mis sur le marché des modèles génératifs de pointe tels que GPT-3, GPT-3.5 et GPT-4 (Generative Pretrained Transformer, ou transformateur préformé génératif).

Azure OpenAI est l’offre de service LLM d’Azure pour aider à créer des applications GenAI à l’aide d’Azure. Azure OpenAI Service offre aux clients une IA de langage avancée avec les modèles OpenAI GPT-4, GPT-3, Codex, DALL-E et Whisper avec la promesse de sécurité et d’entreprise d’Azure. Azure OpenAI co-développe les API avec OpenAI, garantissant la compatibilité et une transition en douceur de l’une à l’autre.

Avec Azure OpenAI, les clients bénéficient des fonctionnalités de sécurité de Microsoft Azure tout en exécutant les mêmes modèles qu’OpenAI. Azure OpenAI offre une mise en réseau privé, une disponibilité régionale et un filtrage de contenu d’IA responsable.

En savoir plus sur Azure OpenAI.

Grand modèles de langage (LLM)

Un grand modèle de langage (LLM) est un type de modèle IA formé sur de grandes quantités de données texte pour comprendre et générer un langage de type humain. Les LLM sont généralement basés sur des architectures Deep Learning, telles que transformateurs, et ils sont connus pour leur capacité à réaliser un large éventail de tâches de génération et de compréhension du langage naturel. Le GPT d’OpenAI, qui alimente ChatGPT, est un LLM.

Les principales caractéristiques et fonctionnalités des grands modèles de langage sont les suivantes :

  • Échelle : Une échelle immense en termes de nombre de paramètres utilisés dans l’architecture LLM lui est caractéristique. Des modèles tels que GPT-3 (Generative Pretrained Transformer 3) contiennent des centaines de millions à des milliards de paramètres, ce qui leur permet de capturer des modèles complexes dans le langage.
  • Préentraînement : Les LLM subissent un préentraînement sur un large corpus de données texte provenant d’Internet, ce qui leur permet d’apprendre la grammaire, la syntaxe, la sémantique et un large éventail de connaissances sur le langage et le monde.
  • Réglage précis : après la préformation, les LLM peuvent être affinés sur des tâches ou des domaines spécifiques à l’aide de jeux de données plus petits et spécifiques aux tâches. Ce processus de réglage précis leur permet de s’adapter à des tâches plus spécialisées, telles que la classification de texte, la traduction, le résumé et la réponse aux questions.

GPT

GPT (Generative Pretrained Transformer) est un transformateur préformé génératif, qui fait référence à une série de grands modèles de langage développés par OpenAI. Les modèles GPT sont des réseaux neuronaux préentraînés sur de vastes quantités de données provenant d’Internet, les rendant capables de comprendre et de générer un texte de type humain.

Voici une vue d’ensemble des principaux modèles GPT et de leurs principales caractéristiques :

GPT-3 : Publié en juin 2020, c’est un modèle bien connu de la série GPT. Il a 175 milliards de paramètres, ce qui en fait l’un des modèles de langage les plus importants et les plus puissants en existence. GPT-3 a obtenu des performances remarquables sur un large éventail de tâches de compréhension et de génération du langage naturel. Il peut effectuer des tâches telles que la saisie semi-automatique de texte, la traduction, la réponse aux questions, et bien plus encore avec une fluidité au niveau humain. GPT-3 est divisé en différentes tailles de modèle, allant du plus petit (125 millions de paramètres) au plus grand (175 milliards de paramètres).

GPT-4 : Dernier modèle GPT d’OpenAI, il a 1.76 milliards de paramètres.

Vecteurs

Un vecteur est un concept mathématique utilisé dans l’algèbre linéaire et la géométrie pour représenter des quantités qui ont à la fois une ampleur et une direction. Dans le contexte du Machine Learning, les vecteurs sont souvent utilisés pour représenter des points de données ou des fonctionnalités.

Voici certains attributs de vecteurs et opérations clés :

  • Magnitude : la longueur ou la taille d’un vecteur, souvent désignée comme sa norme, représente l’ampleur des données qu’il représente. C’est un nombre réel non négatif.
  • Direction : Indique l’orientation ou l’angle de la quantité représentée par rapport à un point de référence ou un système de coordonnées.
  • Composants : un vecteur peut être décomposé en ses composants le long de différents axes ou dimensions. Dans un système de coordonnées cartésien 2D, un vecteur peut être représenté sous la forme (x, y), où x et y sont ses composants le long de l’axe x et de l’axe y, respectivement. Un vecteur en n dimensions est un n-tuple {x1, x2… xn}.
  • Addition et multiplication scalaire : les vecteurs peuvent être additionnés pour former de nouveaux vecteurs, et ils peuvent être multipliés par des scalaires (nombres réels).
  • Produit scalaire et produit vectoriel : les vecteurs peuvent être combinés à l’aide de produits scalaires et de produits vectoriels.

Bases de données vectorielles

Une base de données vectorielle, également appelée système de gestion de base de données (SGBD) vectorielle, est un type de système de base de données conçu pour stocker, gérer et interroger efficacement les données vectorielles. Les bases de données relationnelles traditionnelles gèrent principalement les données structurées dans les tables, tandis que les bases de données vectorielles sont optimisées pour le stockage et la récupération de points de données multidimensionnels représentés sous forme de vecteurs. Ces bases de données sont utiles pour les applications où des opérations telles que des recherches de similarité, des données géospatiales, des systèmes de recommandation et un clustering sont impliquées.

Voici certaines caractéristiques clés des bases de données vectorielles :

  • Stockage vectoriel : les bases de données vectorielles stockent des points de données en tant que vecteurs avec plusieurs dimensions. Chaque dimension représente une fonctionnalité ou un attribut du point de données. Ces vecteurs peuvent représenter un large éventail de types de données, notamment des données numériques, catégorielles et textuelles.
  • Opérations vectorielles efficaces : les bases de données vectorielles sont optimisées pour effectuer des opérations vectorielles, telles que l’addition de vecteurs, la soustraction, les produits scalaires et les calculs de similarité (par exemple, la similarité cosinus ou la distance euclidienne).
  • Recherche efficace : des mécanismes d’indexation efficaces sont essentiels pour la récupération rapide de vecteurs similaires. Les bases de données vectorielles utilisent différents mécanismes d’indexation pour permettre une récupération rapide.
  • Langages de requête : ils fournissent des langages de requête et des API adaptés aux opérations vectorielles et à la recherche de similarité. Ces langages de requête permettent aux utilisateurs d’exprimer efficacement leurs critères de recherche.
  • Recherche de similarité : ils excellent dans les recherches de similarité, ce qui permet aux utilisateurs de rechercher des points de données similaires à un point de requête donné. Cette caractéristique est précieuse dans les systèmes de recherche et de recommandation.
  • Gestion des données géospatiales : certaines bases de données vectorielles sont conçues pour les données géospatiales, ce qui les rend bien adaptées aux applications telles que les services basés sur l’emplacement, les SIG (Systèmes d’information géographique) et les tâches liées aux cartes.
  • Prise en charge de différents types de données : les bases de données vectorielles peuvent stocker et gérer différents types de données, notamment des vecteurs, des images, du texte et bien plus encore.

PostgreSQL peut bénéficier des fonctionnalités d’une base de données vectorielle à l’aide de l’extension pgvector.

Incorporations

Les incorporations sont un concept d’apprentissage automatique et de traitement du langage naturel (NLP) qui implique la représentation d’objets, tels que des mots, des documents ou des entités, en tant que vecteurs dans un espace multidimensionnel. Ces vecteurs sont souvent denses, ce qui signifie qu’ils ont un grand nombre de dimensions et qu’ils sont formés à travers différentes techniques, y compris les réseaux neuronaux. Les incorporations visent à capturer des relations sémantiques et des similitudes entre les objets dans un espace vectoriel continu.

Les types courants d’incorporations sont les suivants :

  • Mot : dans NLP, les incorporations de mots représentent des mots en tant que vecteurs. Chaque mot est mappé à un vecteur dans un espace à haute dimension, où les mots ayant des significations ou des contextes similaires se trouvent plus près les uns des autres. Word2Vec et GloVe sont des techniques d’incorporation de mots populaires.
  • Document : elles représentent des documents en tant que vecteurs. Doc2Vec est couramment utilisé pour créer des incorporations de documents.
  • Image : les images peuvent être représentées en tant qu’incorporations pour capturer des fonctionnalités visuelles, ce qui permet des tâches telles que la reconnaissance d’objets.

Les incorporations sont essentielles à la représentation de données complexes et à haute dimension dans une forme facilement traitable par les modèles Machine Learning. Ils peuvent être formés sur des jeux de données volumineux, puis utilisés comme fonctionnalités pour différentes tâches, et sont utilisés par les LLM.

PostgreSQL peut bénéficier des fonctionnalités de génération d’incorporations de vecteurs avec l’intégration OpenAI de l’extension Azure AI.

Scénarios

L’IA générative a un large éventail d’applications dans différents domaines et secteurs, notamment la technologie, la santé, le divertissement, la finance, la fabrication et bien plus encore. Voici quelques tâches courantes qui peuvent être effectuées avec l’IA générative :

  • Recherche sémantique :
    • GenAI permet une recherche sémantique sur les données plutôt qu’une recherche lexicographique. Cette dernière recherche des correspondances exactes aux requêtes, tandis que la recherche sémantique recherche du contenu qui satisfait à l’intention de la requête de recherche.
  • Chatbots et assistants virtuels :
    • Développez des chatbots qui peuvent participer à des conversations naturelles prenant en charge le contexte, par exemple pour implémenter l’auto-assistance pour les clients.
  • Systèmes de recommandation :
    • Améliorez les algorithmes de recommandation en générant des incorporations ou des représentations d’éléments ou d’utilisateurs.
  • Clustering et segmentation :
    • Les incorporations générées par GenAI permettent aux algorithmes de clustering de regrouper les données en clusters contenant des données similaires. Cela permet des scénarios tels que la segmentation des clients, ce qui permet aux annonceurs de cibler leurs clients différemment en fonction de leurs attributs.
  • Génération de contenu :
    • Génération de texte : Générez un texte de type humain pour des applications telles que les chatbots, la création de romans/poésies et la compréhension du langage naturel.
    • Génération d’images : créez des images réalistes, des illustrations ou des conceptions pour les graphismes, le divertissement et la publicité.
    • Génération de vidéo : Générez des vidéos, des animations ou des effets vidéo pour le cinéma, les jeux et le marketing.
    • Génération de musique.
  • Traduction :
    • Traduisent le texte d’une langue à une autre.
  • Résumé :
    • Résumez des articles ou documents longs pour extraire des informations clés.
  • Augmentation des données :
    • Générez des exemples de données supplémentaires pour développer et améliorer les jeux de données de formation pour les modèles Machine Learning (ML).
    • Créez des données synthétiques pour des scénarios difficiles ou coûteux à collecter dans le monde réel, comme l’imagerie médicale.
  • Détection de médicaments :
    • Générez des structures moléculaires et prédisez les candidats potentiels de médicaments pour la recherche pharmaceutique.
  • Développement de jeux :
    • Créez du contenu de jeu, y compris les niveaux, les caractères et les textures.
    • Générez des environnements et des paysages réalistes dans le jeu.
  • Débruitage et achèvement des données :
    • Nettoyez les données bruyantes en générant des exemples de données propres.
    • Renseignez les données manquantes ou incomplètes dans les jeux de données.

Étapes suivantes

Consultez les articles suivants pour apprendre à effectuer une recherche sémantique avec un serveur flexible Azure Database pour PostgreSQL et Azure OpenAI, et tirer profit de la puissance d’Azure Cognitive Services pour analyser les sentiments, détecter le langage, extraire des expressions clés et des opérations plus avancées que vous pouvez appliquer à un texte.