Les intégrations représentent des objets du monde réel, tels que des mots, des images ou des vidéos, sous une forme que les ordinateurs peuvent traiter. Les intégrations permettent d'effectuer des recherches de similarité et sont au cœur de l'intelligence artificielle.
Cet article s'articule autour des points suivants :
Contenu associé
Qu'est-ce que l'intelligence artificielle (IA) ?
Qu'est-ce que l'apprentissage automatique ?
Qu’est-ce qu’un grand modèle linguistique (LLM) ?
Base de données vectorielle
IA prédictive
Abonnez-vous à theNET, le récapitulatif mensuel de Cloudflare des idées les plus populaires concernant Internet !
Copier le lien de l'article
Les intégrations sont des représentations de valeurs ou d'objets tels que du texte, des images et du son, conçues pour être utilisées par des modèles d'apprentissage automatique et des algorithmes de recherche sémantique. Elles convertissent ces objets dans une formule mathématique en fonction des facteurs ou des caractéristiques que chacun d'entre eux peut ou ne peut pas avoir, et des catégories auxquelles ils appartiennent.
Concrètement, les intégrations permettent aux modèles d'apprentissage automatique de trouver des objets similaires. À partir d'une photo ou d'un document, un modèle d'apprentissage automatique utilisant des intégrations peut trouver une photo ou un document similaire. Les intégrations permettant aux ordinateurs de comprendre les relations entre les mots et les autres objets, ils sont essentiels à l'intelligence artificielle (IA).
Par exemple, les documents situés dans la partie supérieure droite de cet espace bidimensionnel peuvent être pertinents les uns par rapport aux autres :
Techniquement, les intégrations sont des vecteurs créés par des modèles d'apprentissage automatique dans le but de saisir des données significatives sur chaque objet.
En mathématiques, un vecteur est une combinaison de nombres qui définit un point dans un espace dimensionnel. En langage plus pratique, un vecteur est une liste de nombres, comme par exemple {1989,22,9,180}. Chaque nombre indique la position de l'objet le long d'une dimension donnée.
Dans l'apprentissage automatique, l'utilisation de vecteurs permet de rechercher des objets similaires. Un algorithme de recherche vectorielle doit simplement trouver deux vecteurs proches l'un de l'autre dans une base de données vectorielle.
Pour mieux comprendre, il faut penser à la latitude et à la longitude. Ces deux dimensions (respectivement nord-sud et est-ouest) peuvent indiquer l'emplacement de n'importe quel lieu sur Terre. La ville de Vancouver, en Colombie-Britannique, au Canada, peut être représentée par les coordonnées de latitude et de longitude {49°15'40"N, 123°06'50"O}. Cette liste de deux valeurs est un vecteur simple.
Imaginez maintenant que vous essayez de trouver une ville très proche de Vancouver. Une personne se contenterait de regarder une carte, tandis qu'un modèle d'apprentissage automatique observe la latitude et la longitude (ou le vecteur) et trouve un endroit avec une latitude et une longitude similaires. La ville de Burnaby est située à {49°16'N, 122°58'O}, tout près de {49°15'40"N, 123°06'50"O}. Le modèle peut donc conclure, à juste titre, que Burnaby est situé près de Vancouver.
Imaginez maintenant que vous essayiez de trouver une ville qui ne soit pas seulement proche de Vancouver, mais de taille similaire. Pour ce modèle de localisation, ajoutons une troisième « dimension » à la latitude et à la longitude : la taille de la population. La population peut être ajoutée au vecteur de chaque ville et la taille de la population peut être traitée comme un axe Z, la latitude et la longitude étant les axes Y et X.
Le vecteur pour Vancouver est désormais {49°15'40"O, 123°06'50"O, 662,248*}. En ajoutant cette troisième dimension, Burnaby n'est plus très proche de Vancouver, puisque sa population n'est que de 249 125 habitants*. Le modèle pourrait plutôt s'arrêter sur la ville de Seattle, Washington, États-Unis, dont le vecteur est {47°36'35"N 122°19'59"W, 749 256**}.
*{En 2021
.
**{En 2022.
Il s'agit d'un exemple assez simple du fonctionnement des vecteurs et de la recherche de similitudes. Mais pour être utiles, les modèles d'apprentissage automatique doivent pouvoir générer plus de trois dimensions, ce qui donne des vecteurs beaucoup plus complexes.
Par exemple, comment un modèle peut-il déterminer quelles séries télévisées sont similaires les unes aux autres et donc susceptibles d'être regardées par les mêmes personnes ? De nombreux facteurs doivent être pris en compte : la durée des épisodes, le nombre d'épisodes, la classification par genre, le nombre de téléspectateurs en commun, les acteurs de chaque série, l'année de lancement de chaque série, etc. Tous ces critères peuvent être des « dimensions » et chaque série est représentée par un point le long de chacune de ces dimensions.
Les vecteurs multidimensionnels peuvent nous aider à déterminer si la série Seinfeld est similaire à l'émission d'horreur Wednesday. Seinfeld a débuté en 1989, Wednesday en 2022. Les deux séries ont des durées d'épisode différentes : Seinfeld dure de 22 à 24 minutes et Wednesday de 46 à 57 minutes, et ainsi de suite. En examinant leurs vecteurs, nous pouvons voir que ces émissions occupent probablement des points très différents dans une représentation dimensionnelle des séries télévisées.
Série télévisée | Genre | Année de début | Durée des épisodes | Saisons (jusqu'en 2023) | Épisodes (jusqu'en 2023) |
---|---|---|---|---|---|
Seinfeld | Sitcom | 1989 | 22-24 | 9 | 180 |
Mercredi | Horreur | 2022 | 46-57 | 1 | 8 |
Nous pouvons les exprimer sous forme de vecteurs, tout comme nous le faisons avec la latitude et la longitude, mais avec davantage de valeurs :
Vecteur Seinfeld: {[Sitcom], 1989, 22-24, 9, 180}
Vecteur
Mercredi: {[Horreur], 2022, 46-57, 1, 8}
Un modèle d'apprentissage automatique peut identifier la série Cheers comme étant beaucoup plus similaire à Seinfeld. Elle est du même genre, a débuté en 1982, propose des épisodes d'une durée de 21 à 25 minutes, compte 11 saisons et 275 épisodes.
Vecteur Seinfeld: {[Sitcom], 1989, 22-24, 9, 180}
Cheers vector : {[Sitcom], 1982, 21-25, 11, 275}
Dans nos exemples ci-dessus, une ville correspondait à un point situé le long des deux dimensions que sont la latitude et la longitude ; nous avons ensuite ajouté une troisième dimension, celle de la population. Nous avons également analysé la localisation de ces émissions télévisées selon cinq dimensions.
Au lieu de deux, trois ou cinq dimensions, une série télévisée dans un modèle d'apprentissage automatique est un point le long d'une centaine ou d'un millier de dimensions, quel que soit le nombre de dimensions que le modèle souhaite inclure.
L'intégration correspond au processus de création de vecteurs à l'aide de l'apprentissage en profondeur. Une « intégration » est le résultat de ce processus, à savoir le vecteur créé par un modèle d'apprentissage en profondeur à des fins de recherche de similitudes par ce modèle.
Les intégrations qui sont proches les unes des autres, à l'instar de Seattle et Vancouver qui ont des valeurs de latitude et de longitude proches l'une de l'autre et des populations comparables, peuvent être considérées comme similaires. À l'aide des intégrations, un algorithme peut suggérer une émission de télévision pertinente, trouver des lieux similaires ou identifier les mots susceptibles d'être utilisés ensemble ou de manière similaire, comme dans les modèles de langage.
Les réseaux neuronaux sont des modèles d'apprentissage en profondeur qui imitent l'architecture du cerveau humain. À l'instar du cerveau composé de neurones qui se transmettent des impulsions électriques, les réseaux neuronaux sont composés de nœuds virtuels qui communiquent entre eux lorsque leurs entrées dépassent un seuil donné.
Les réseaux neuronaux sont constitués de plusieurs couches : une couche d'entrée, une couche de sortie et n'importe quel nombre de couches « cachées » entre les deux. Les couches cachées peuvent transformer les entrées de plusieurs façons, quelle que soit la définition du modèle.
La création d'intégrations est une couche cachée. Elle intervient généralement avant que d'autres couches ne traitent les données. Ainsi, par exemple, un être humain n'a pas besoin de définir où se situe chaque émission de télévision par rapport à une centaine de dimensions différentes. Au lieu de cela, une couche cachée dans le réseau neuronal s'en charge automatiquement. L'émission télévisée peut ensuite être analysée par les autres couches cachées à l'aide de cette intégration afin de trouver des émissions télévisées similaires. Enfin, la couche de sortie peut présenter des suggestions d'autres émissions susceptibles d'intéresser le téléspectateur.
La création de cette couche d'intégration exige d'abord un certain effort manuel. Un programmeur peut donner au réseau neuronal des exemples sur la manière de créer une intégration, les dimensions à inclure, etc. À terme, la couche d'intégration peut fonctionner de manière autonome, même si le programmeur peut continuer à affiner le modèle pour affiner les recommandations.
Pour les grands modèles de langage (LLM), tels que les modèles utilisés pour les outils d'intelligence artificielle comme ChatGPT, l'intégration est un peu plus perfectionnée. Le contexte de chaque mot devient une intégration, en plus du mot lui-même. Il est possible de rechercher et d'analyser le sens de phrases, de paragraphes et d'articles entiers. Cela demande certes une certaine puissance de calcul, toutefois le contexte des requêtes peut être stocké dans le cadre d'intégration, ce qui permet d'économiser du temps et de la puissance de calcul pour les requêtes ultérieures.
Pour les développeurs qui souhaitent concevoir des applications basées sur l'IA avec Cloudflare Workers, Cloudflare propose Workers AI. Cloudflare propose également Vectorize, une base de données vectorielles distribuée à l'échelle mondiale. Conjointement, ces services permettent de générer et d'interroger des embeddings plus rapidement, plus facilement et de manière plus économique. Cette combinaison permet aux développeurs de concevoir des applications IA sans avoir à mettre en place d'infrastructure back-end. En savoir plus sur Vectorize et Workers AI.