Suggestions

Produits et ressources

Retour à toutes les ressources

Introduction

En matière de recherche pilotée par l'IA, les meilleurs résultats — les plus pertinents — doivent toujours apparaître en premier. Mais comment le moteur de recherche détermine-t-il la pertinence d'un résultat ? Comment les résultats sont-ils classés ? De même, comment améliorer leur pertinence ?

Pour entraîner un modèle d'apprentissage automatique, certains composants essentiels sont nécessaires, tels que les données, l'architecture du modèle, l'optimiseur, les gradients et la fonction objectif.

Les modèles d'apprentissage automatique apprennent à partir de données ; il nous faut donc un jeu de données pour les entraîner. La qualité et la quantité des données sont des facteurs essentiels qui influencent les performances du modèle. Il est nécessaire de choisir une architecture de modèle appropriée, adaptée au problème à résoudre.

Il existe différents types de modèles, notamment les réseaux de neurones, les arbres de décision et les machines à vecteurs de support. Lors de l'entraînement, les paramètres du modèle sont mis à jour par un optimiseur, qui détermine la direction et l'amplitude des modifications apportées à ces paramètres. Autrement dit, l'optimiseur sert à améliorer le modèle. Parmi les optimiseurs courants, on trouve la descente de gradient stochastique (SGD), Adam et Adagrad. La fonction objectif permet d'évaluer les performances du modèle pendant l'entraînement. Cette fonction représente l'objectif que le modèle cherche à atteindre, et son optimisation pilote le processus d'apprentissage. Les fonctions objectifs courantes incluent l'erreur quadratique moyenne (MSE), l'entropie croisée et la perte charnière. Les gradients des paramètres du modèle sont calculés par rétropropagation, une technique qui consiste à calculer la dérivée de la fonction objectif par rapport aux paramètres du modèle.

Ces dernières années, le traitement automatique du langage naturel (TALN) a connu des avancées significatives grâce à l'émergence de modèles de langage pré-entraînés de grande taille (MLGT), tels que les Transformers. Entraînés sur de vastes ensembles de données, ces modèles sont capables de saisir les relations sémantiques complexes du langage naturel. Les modèles pré-entraînés peuvent être affinés pour des tâches et des domaines spécifiques, ce qui permet d'améliorer leurs performances. La recherche d'informations, qui consiste à extraire et à classer les résultats pertinents pour une requête donnée, en est un exemple. L'affinage de modèles MLGT pré-entraînés (Transformateurs de phrases) sur des données spécifiques à un domaine s'est avéré prometteur pour améliorer la pertinence et le classement des résultats de recherche. Cette approche permet d'améliorer la capacité du modèle à saisir la sémantique et le contexte propres au domaine, aboutissant ainsi à un moteur de recherche plus efficace et précis.

Cet article présente les étapes générales de l'ajustement fin des modèles LLM pré-entraînés pour la recherche d'informations et fournit les résultats de cette approche sur l'ensemble de données public ESCI (Amazon) .

 

Données

La qualité et la quantité des données peuvent avoir un impact significatif sur la précision et les performances des modèles d'apprentissage automatique. De fait, la qualité des données est souvent considérée comme l'un des facteurs les plus importants pour la réussite d'un projet d'apprentissage automatique. La préparation des données et l'ingénierie des caractéristiques sont des étapes cruciales du processus d'apprentissage automatique.

Préparation des données

La préparation des données consiste à collecter, nettoyer et prétraiter les données afin de les rendre exploitables pour l'analyse. Cela peut impliquer la suppression des valeurs manquantes, la correction des erreurs et la transformation des données dans un format compatible avec le modèle d'apprentissage automatique choisi.

Ingénierie des fonctionnalités

L'ingénierie des caractéristiques est le processus de sélection et de transformation des variables (caractéristiques) d'un jeu de données afin de créer un ensemble de caractéristiques d'entrée pertinentes et informatives pour le modèle d'apprentissage automatique. Ce processus requiert des connaissances du domaine, de la créativité et de l'intuition pour identifier les caractéristiques les plus importantes qui permettront au modèle de prédire avec précision la variable cible. La préparation des données et l'ingénierie des caractéristiques peuvent être des tâches longues et complexes, mais elles sont essentielles à la construction de modèles d'apprentissage automatique précis et efficaces. Sans données de haute qualité et sans caractéristiques soigneusement conçues, les modèles d'apprentissage automatique risquent d'être peu performants et les informations tirées des données peuvent être inexactes, voire trompeuses.

Pour optimiser les modèles de langage (LLM), tels que BERT, en fonction des informations sémantiques et contextuelles spécifiques à un domaine et ainsi améliorer la recherche, les données d'entraînement doivent idéalement présenter pertinence, diversité, qualité, quantité et, le cas échéant, être étiquetées . Elles doivent être pertinentes pour le domaine d'intérêt, avec des exemples et des extraits de texte représentatifs du langage et des concepts propres à ce domaine.

Par exemple, si vous entraînez un modèle pour le domaine du commerce électronique, vous devriez utiliser des textes liés à ce domaine. Les données doivent couvrir un large éventail de contextes et de perspectives afin de garantir une bonne généralisation du modèle à de nouveaux exemples. Cela implique d'inclure des textes de styles et de types variés. Plus les données sont nombreuses, mieux c'est, à condition de maintenir une qualité irréprochable.

L'utilisation de grandes quantités de données permet de mieux appréhender les schémas linguistiques et les informations contextuelles, ce qui peut améliorer les performances du modèle. Les données d'entraînement doivent être de haute qualité, précises et fiables. Les données contenant des erreurs, des incohérences ou des biais peuvent nuire aux performances du modèle. Dans la mesure du possible, il est recommandé d'annoter les données avec des étiquettes ou des métadonnées pertinentes afin d'optimiser l'apprentissage du modèle.

Il est important de noter que les techniques d'entraînement des modèles d'apprentissage automatique, qu'il s'agisse d'apprentissage supervisé ou par renforcement, ne sont pas optimales en termes d'échantillons. Par conséquent, il est essentiel de disposer d'un ensemble de données de haute qualité et en grande quantité, avec une fonction objectif qui soit un indicateur de performance pertinent pour le problème métier. En définitive, les données utilisées pour l'ajustement des modèles de langage doivent être soigneusement sélectionnées et préparées afin de garantir la capture de la sémantique et du contexte spécifiques au domaine, nécessaires à une recherche efficace.

Les données permettant d'affiner les modèles linéaires logiques (LLM) afin de capturer la sémantique spécifique au domaine et les informations contextuelles pour une meilleure recherche doivent inclure la requête (chaîne de caractères), le score de pertinence (nombre décimal), le titre (chaîne de caractères), la description (chaîne de caractères) et toute autre caractéristique associée au produit. Un exemple de jeu de données est fourni à la page suivante.

Requête Titre Description Pertinence
10x20 ez up Installation de la tente pliante American Phoenix Il s'agit d'un fauteuil de salon, d'un fauteuil de barbier pour une coupe de cheveux. Exact
10x20 ez up ABCCANOPY Tente pliante Ez Up avec auvent Ajoutez une touche d'élégance à n'importe quelle pièce avec ce… Remplaçant

Remarque : Cet ensemble de données comporte des étiquettes de pertinence, telles que « exact », « substitut », « complémentaire » et « non pertinent ». Un score de pertinence de 0 indique un résultat non pertinent, 0,01 un résultat complémentaire, 0,1 un résultat de substitution et 1,0 un résultat exact.

 

Méthodologie

Les modèles linéaires à longue portée (LLM) sont affinés à l'aide de la fonction de perte contrastive , utilisée en apprentissage automatique pour entraîner des modèles destinés à des tâches telles que la similarité textuelle ou l'intégration de données. Cette fonction de perte vise à apprendre une représentation des données d'entrée de sorte que les entrées similaires soient rapprochées dans l' espace d'intégration, tandis que les entrées dissemblables sont éloignées. Elle est particulièrement utile pour les jeux de données contenant des exemples positifs et négatifs, l'objectif étant d'apprendre un espace de caractéristiques capable de les distinguer. Les paires requête-titre et requête-description constituent des exemples positifs, et un score (score de pertinence compris entre 0 et 1) est attribué pour guider l'apprentissage et garantir un classement correct.

La perte contrastive peut être exprimée mathématiquement comme suit :

L = (1 - y) * d^2 + y * max(0, m - d)^2

Où L est la fonction de perte, y est l'étiquette indiquant si les entrées sont similaires (y=1,0) ou dissemblables (y=0,0), d est la distance entre les représentations des entrées dans l'espace d'intégration, et m est un paramètre de marge (0,5) qui spécifie la distance minimale à maintenir entre les représentations des exemples négatifs. La fonction de perte pénalise le modèle si la distance entre les exemples positifs est grande. La perte contrastive est une fonction de perte efficace pour l'entraînement de modèles de similarité et d'intégration. Elle encourage le modèle à apprendre un espace de caractéristiques où les entrées similaires sont rapprochées et les entrées dissemblables sont éloignées.

 

Résultats

Le modèle paraphrase-multilingual-MiniLM-L12-v2 est affiné sur les jeux de données publics par validation croisée à 5 plis. Les résultats présentés correspondent à la performance moyenne sur l'ensemble des plis. Chaque pli est entraîné pendant 10 époques. Certains hyperparamètres supplémentaires utilisés pour l'affinage sont fournis ci-dessous :

Hyperparamètres Valeurs Commentaire
Échelle de pertinence 0.0 - 1.0 Les scores de pertinence peuvent correspondre à une étiquette attribuée par un humain, à des scores bêta ou simplement au classement. Une échelle logarithmique est appliquée aux étiquettes de 0,0 à 1,0.
taux d'apprentissage 2e-5 Le taux d'apprentissage est la fréquence à laquelle nous mettons à jour les paramètres des modèles d'apprentissage automatique.
Optimiseur AdamW L'optimiseur Adam avec régularisation par décroissance du poids améliore la stabilité de l'apprentissage. La décroissance du poids est de 0,01.
Fonction de perte Perte de contraste La fonction de perte contrastive permet d'apprendre une représentation des données d'entrée de telle sorte que les entrées similaires soient rapprochées dans l'espace d'intégration, tandis que les entrées dissemblables sont éloignées. La similarité cosinus est utilisée dans la perte contrastive.

Les résultats sont présentés ci-dessous et comparés au modèle pré-entraîné paraphrase-multilingual-MiniLM-L12-v2 . Le modèle affiné affiche de meilleures performances selon quatre indicateurs standards du secteur permettant d'évaluer les améliorations : RBO (+31 %), NDCG (+4 %), cosinus du titre (+32 %) et cosinus de la description (+37 %).

Tableau 1 : Tableau de performance comparant le modèle affiné au modèle pré-entraîné par défaut.
MODÈLES RBO NDCG TITRE (cosinus) DESCRIPTION (cosinus)
Modèle de référence 0.35 0.90 0.51 0.43
Modèle finement réglé 0.46 0.94 0.67 0.59

La distribution des scores NDCG et RBO (figure 1) montre que, grâce à l'optimisation, non seulement l'ampleur mais aussi le nombre d'améliorations sont supérieurs à ceux des requêtes impactées négativement. Par conséquent, le modèle optimisé surpasse la version de référence pré-entraînée par défaut en termes de classement et de pertinence.

 

Mots d'adieu

Dans ce livre blanc, nous souhaitions présenter les principes scientifiques du référencement naturel. Nous y décrivions une méthode permettant d'améliorer la compréhension du langage par les grands modèles linguistiques. Toutefois, en pratique, nous utilisons plusieurs approches pour un réglage fin, notamment des ajustements algorithmiques supplémentaires et l'apprentissage par renforcement. Pour en savoir plus, consultez la série d'articles du blog d'Algolia sur l'IA .

Article rédigé par le Dr Rasit Abay, data scientist senior chez Algolia.

Le Dr Rasit Abay est un astrodynamicien et data scientist accompli, possédant une expérience dans de nombreux secteurs, tels que la logistique et la livraison du dernier kilomètre, l'horticulture/l'agriculture, le spatial et le e-commerce. Grâce à ses compétences variées en traitement automatique du langage naturel (TALN) et en vision par ordinateur, il est à la pointe du développement de solutions d'IA capables de comprendre et d'interpréter des données textuelles et visuelles. Il s'intéresse à l'amélioration de l'efficacité algorithmique et aux principes d'une IA centrée sur les données afin de construire des modèles d'IA robustes et fiables. Il participe également avec plaisir à des concours de data science, où il contribue à relever les grands défis de notre époque grâce à des techniques basées sur les données.

Algolia est la seule plateforme mondiale de recherche et de découverte basée sur l'IA de bout en bout. Nos ingénieurs ont révolutionné l'utilisation de l'IA pour créer des expériences de recherche et de découverte d'une efficacité exponentielle. Notre technologie propriétaire NeuralSearch combine le traitement vectoriel du langage naturel et la correspondance de mots-clés au sein d'une API unique. Algolia traite 1 500 milliards de requêtes de recherche par an, soit plus de 30 milliards par semaine, permettant à plus de 17 000 clients dans plus de 150 pays de proposer des expériences de recherche et de découverte ultra-rapides et pertinentes à leurs utilisateurs d'applications et/ou visiteurs en ligne (sur tout appareil web, mobile ou vocal), en affichant instantanément et à grande échelle le contenu recherché.

Données

La qualité et la quantité des données peuvent avoir un impact significatif sur la précision et les performances des modèles d'apprentissage automatique. De fait, la qualité des données est souvent considérée comme l'un des facteurs les plus importants pour la réussite d'un projet d'apprentissage automatique. La préparation des données et l'ingénierie des caractéristiques sont des étapes cruciales du processus d'apprentissage automatique.

Préparation des données

La préparation des données consiste à collecter, nettoyer et prétraiter les données afin de les rendre exploitables pour l'analyse. Cela peut impliquer la suppression des valeurs manquantes, la correction des erreurs et la transformation des données dans un format compatible avec le modèle d'apprentissage automatique choisi.

Ingénierie des fonctionnalités

L'ingénierie des caractéristiques est le processus de sélection et de transformation des variables (caractéristiques) d'un jeu de données afin de créer un ensemble de caractéristiques d'entrée pertinentes et informatives pour le modèle d'apprentissage automatique. Ce processus requiert des connaissances du domaine, de la créativité et de l'intuition pour identifier les caractéristiques les plus importantes qui permettront au modèle de prédire avec précision la variable cible. La préparation des données et l'ingénierie des caractéristiques peuvent être des tâches longues et complexes, mais elles sont essentielles à la construction de modèles d'apprentissage automatique précis et efficaces. Sans données de haute qualité et sans caractéristiques soigneusement conçues, les modèles d'apprentissage automatique risquent d'être peu performants et les informations tirées des données peuvent être inexactes, voire trompeuses.

Pour optimiser les modèles de langage (LLM), tels que BERT, en fonction des informations sémantiques et contextuelles spécifiques à un domaine et ainsi améliorer la recherche, les données d'entraînement doivent idéalement présenter pertinence, diversité, qualité, quantité et, le cas échéant, être étiquetées . Elles doivent être pertinentes pour le domaine d'intérêt, avec des exemples et des extraits de texte représentatifs du langage et des concepts propres à ce domaine.

Par exemple, si vous entraînez un modèle pour le domaine du commerce électronique, vous devriez utiliser des textes liés à ce domaine. Les données doivent couvrir un large éventail de contextes et de perspectives afin de garantir une bonne généralisation du modèle à de nouveaux exemples. Cela implique d'inclure des textes de styles et de types variés. Plus les données sont nombreuses, mieux c'est, à condition de maintenir une qualité irréprochable.

L'utilisation de grandes quantités de données permet de mieux appréhender les schémas linguistiques et les informations contextuelles, ce qui peut améliorer les performances du modèle. Les données d'entraînement doivent être de haute qualité, précises et fiables. Les données contenant des erreurs, des incohérences ou des biais peuvent nuire aux performances du modèle. Dans la mesure du possible, il est recommandé d'annoter les données avec des étiquettes ou des métadonnées pertinentes afin d'optimiser l'apprentissage du modèle.

Il est important de noter que les techniques d'entraînement des modèles d'apprentissage automatique, qu'il s'agisse d'apprentissage supervisé ou par renforcement, ne sont pas optimales en termes d'échantillons. Par conséquent, il est essentiel de disposer d'un ensemble de données de haute qualité et en grande quantité, avec une fonction objectif qui soit un indicateur de performance pertinent pour le problème métier. En définitive, les données utilisées pour l'ajustement des modèles de langage doivent être soigneusement sélectionnées et préparées afin de garantir la capture de la sémantique et du contexte spécifiques au domaine, nécessaires à une recherche efficace.

Les données permettant d'affiner les modèles linéaires logiques (LLM) afin de capturer la sémantique spécifique au domaine et les informations contextuelles pour une meilleure recherche doivent inclure la requête (chaîne de caractères), le score de pertinence (nombre décimal), le titre (chaîne de caractères), la description (chaîne de caractères) et toute autre caractéristique associée au produit. Un exemple de jeu de données est fourni à la page suivante.

Requête Titre Description Pertinence
10x20 ez up Installation de la tente pliante American Phoenix Il s'agit d'un fauteuil de salon, d'un fauteuil de barbier pour une coupe de cheveux. Exact
10x20 ez up ABCCANOPY Tente pliante Ez Up avec auvent Ajoutez une touche d'élégance à n'importe quelle pièce avec ce… Remplaçant

Remarque : Cet ensemble de données comporte des étiquettes de pertinence, telles que « exact », « substitut », « complémentaire » et « non pertinent ». Un score de pertinence de 0 indique un résultat non pertinent, 0,01 un résultat complémentaire, 0,1 un résultat de substitution et 1,0 un résultat exact.

Méthodologie

Les modèles linéaires à longue portée (LLM) sont affinés à l'aide de la fonction de perte contrastive , utilisée en apprentissage automatique pour entraîner des modèles destinés à des tâches telles que la similarité textuelle ou l'intégration de données. Cette fonction de perte vise à apprendre une représentation des données d'entrée de sorte que les entrées similaires soient rapprochées dans l' espace d'intégration, tandis que les entrées dissemblables sont éloignées. Elle est particulièrement utile pour les jeux de données contenant des exemples positifs et négatifs, l'objectif étant d'apprendre un espace de caractéristiques capable de les distinguer. Les paires requête-titre et requête-description constituent des exemples positifs, et un score (score de pertinence compris entre 0 et 1) est attribué pour guider l'apprentissage et garantir un classement correct.

La perte contrastive peut être exprimée mathématiquement comme suit :

L = (1 - y) * d^2 + y * max(0, m - d)^2

Où L est la fonction de perte, y est l'étiquette indiquant si les entrées sont similaires (y=1,0) ou dissemblables (y=0,0), d est la distance entre les représentations des entrées dans l'espace d'intégration, et m est un paramètre de marge (0,5) qui spécifie la distance minimale à maintenir entre les représentations des exemples négatifs. La fonction de perte pénalise le modèle si la distance entre les exemples positifs est grande. La perte contrastive est une fonction de perte efficace pour l'entraînement de modèles de similarité et d'intégration. Elle encourage le modèle à apprendre un espace de caractéristiques où les entrées similaires sont rapprochées et les entrées dissemblables sont éloignées.

Résultats

Le modèle paraphrase-multilingual-MiniLM-L12-v2 est affiné sur les jeux de données publics par validation croisée à 5 plis. Les résultats présentés correspondent à la performance moyenne sur l'ensemble des plis. Chaque pli est entraîné pendant 10 époques. Certains hyperparamètres supplémentaires utilisés pour l'affinage sont fournis ci-dessous :

Hyperparamètres Valeurs Commentaire
Échelle de pertinence 0.0 - 1.0 Les scores de pertinence peuvent correspondre à une étiquette attribuée par un humain, à des scores bêta ou simplement au classement. Une échelle logarithmique est appliquée aux étiquettes de 0,0 à 1,0.
taux d'apprentissage 2e-5 Le taux d'apprentissage est la fréquence à laquelle nous mettons à jour les paramètres des modèles d'apprentissage automatique.
Optimiseur AdamW L'optimiseur Adam avec régularisation par décroissance du poids améliore la stabilité de l'apprentissage. La décroissance du poids est de 0,01.
Fonction de perte Perte de contraste La fonction de perte contrastive permet d'apprendre une représentation des données d'entrée de telle sorte que les entrées similaires soient rapprochées dans l'espace d'intégration, tandis que les entrées dissemblables sont éloignées. La similarité cosinus est utilisée dans la perte contrastive.

Les résultats sont présentés ci-dessous et comparés au modèle pré-entraîné paraphrase-multilingual-MiniLM-L12-v2 . Le modèle affiné affiche de meilleures performances selon quatre indicateurs standards du secteur permettant d'évaluer les améliorations : RBO (+31 %), NDCG (+4 %), cosinus du titre (+32 %) et cosinus de la description (+37 %).

Tableau 1 : Tableau de performance comparant le modèle affiné au modèle pré-entraîné par défaut.
MODÈLES RBO NDCG TITRE (cosinus) DESCRIPTION (cosinus)
Modèle de référence 0.35 0.90 0.51 0.43
Modèle finement réglé 0.46 0.94 0.67 0.59

La distribution des scores NDCG et RBO (figure 1) montre que, grâce à l'optimisation, non seulement l'ampleur mais aussi le nombre d'améliorations sont supérieurs à ceux des requêtes impactées négativement. Par conséquent, le modèle optimisé surpasse la version de référence pré-entraînée par défaut en termes de classement et de pertinence.

Derniers mots

Dans ce livre blanc, nous souhaitions présenter les principes scientifiques du référencement naturel. Nous y décrivions une méthode permettant d'améliorer la compréhension du langage par les grands modèles linguistiques. Toutefois, en pratique, nous utilisons plusieurs approches pour un réglage fin, notamment des ajustements algorithmiques supplémentaires et l'apprentissage par renforcement. Pour en savoir plus, consultez la série d'articles du blog d'Algolia sur l'IA .

Article rédigé par le Dr Rasit Abay, data scientist senior chez Algolia.

Le Dr Rasit Abay est un astrodynamicien et data scientist accompli, possédant une expérience dans de nombreux secteurs, tels que la logistique et la livraison du dernier kilomètre, l'horticulture/l'agriculture, le spatial et le e-commerce. Grâce à ses compétences variées en traitement automatique du langage naturel (TALN) et en vision par ordinateur, il est à la pointe du développement de solutions d'IA capables de comprendre et d'interpréter des données textuelles et visuelles. Il s'intéresse à l'amélioration de l'efficacité algorithmique et aux principes d'une IA centrée sur les données afin de construire des modèles d'IA robustes et fiables. Il participe également avec plaisir à des concours de data science, où il contribue à relever les grands défis de notre époque grâce à des techniques basées sur les données.

Algolia est la seule plateforme mondiale de recherche et de découverte basée sur l'IA de bout en bout. Nos ingénieurs ont révolutionné l'utilisation de l'IA pour créer des expériences de recherche et de découverte d'une efficacité exponentielle. Notre technologie propriétaire NeuralSearch combine le traitement vectoriel du langage naturel et la correspondance de mots-clés au sein d'une API unique. Algolia traite 1 500 milliards de requêtes de recherche par an, soit plus de 30 milliards par semaine, permettant à plus de 17 000 clients dans plus de 150 pays de proposer des expériences de recherche et de découverte ultra-rapides et pertinentes à leurs utilisateurs d'applications et/ou visiteurs en ligne (sur tout appareil web, mobile ou vocal), en affichant instantanément et à grande échelle le contenu recherché.

Permettre à tous de créer d'excellents outils de recherche et de découverte