Skip to content

La classification de texte à l'ère des LLM

Les LLM ont changé ce qui est possible en matière de classification de texte. Voici comment le paysage a évolué et ce que cela signifie pour les équipes de sécurité et de données.

Phong Nguyen·Data Scientist
Published: December 12, 2024·Updated: April 29, 2025·10 min read

Résumé exécutif : L'émergence des grands modèles de langage (LLM) a révolutionné la classification de texte, faisant passer les systèmes basés sur des règles traditionnelles à des techniques avancées d'apprentissage profond. Cette évolution améliore des applications telles que la détection de spam et l'analyse de sentiment, offrant des solutions plus précises et plus efficaces.​

Cet article :

  • Aborde l'évolution de la classification de texte avec l'avènement des grands modèles de langage (LLM).​
  • Explore les applications dans la détection de spam, l'analyse de sentiment et la catégorisation par sujet.
  • Met en lumière le passage des systèmes basés sur des règles à l'apprentissage profond et aux architectures transformer.​

Introduction

À mesure que le traitement automatique du langage naturel (NLP) progresse, la classification de texte reste une tâche fondamentale avec des applications dans la détection de spam, l'analyse de sentiment, la catégorisation par sujet, et plus encore. Traditionnellement, cette tâche reposait sur des systèmes basés sur des règles et des algorithmes classiques d'apprentissage automatique. Cependant, l'émergence de l'apprentissage profond, des architectures transformer et des grands modèles de langage (LLM) a transformé la classification de texte, permettant des solutions plus précises, nuancées et sensibles au contexte.

Chez Red Sift, notre engagement envers la technologie et l'innovation nous pousse à explorer et adopter continuellement des méthodologies de pointe, en les intégrant à notre travail pour relever des défis complexes. Dans cet article, nous explorerons certaines des approches les plus avancées en matière de classification de texte et les comparerons à un modèle de ML traditionnel, mettant en valeur la puissance de l'innovation et soulignant les forces et limites de chacune.

Tâche et données

La tâche de classification consiste à catégoriser le contenu de sites web dans l'un des 15 secteurs d'activité, alignés sur les codes NAICS.

L'ensemble de test comprend 1 500 sites web, avec 100 échantillons par classe. Pour évaluer les performances de chaque technique avec différentes quantités de données d'entraînement, nous ajustons la taille de l'ensemble d'entraînement selon cinq niveaux : 100x, 200x, 400x, 800x et 1600x. Ici, « 100x » correspond à 100 points de données par classe (soit un total de 1 500 points de données), ce qui nous permet d'observer l'efficacité de chaque méthode à mesure que le jeu de données s'agrandit.

Techniques et résultats

Référence : Bag of words

Avant d'appliquer tout modèle de ML, les données textuelles doivent être transformées en vecteurs numériques. L'une des techniques de vectorisation de texte les plus basiques et populaires est le Bag of Words (BoW). Elle crée un vocabulaire de tous les mots uniques du corpus et représente chaque document sous forme de vecteur où chaque élément correspond à la présence d'un mot dans le vocabulaire. Alternativement, nous pouvons utiliser la fréquence du mot dans le document ou un score TF-IDF plus sophistiqué (une formule qui prend en compte la fréquence du mot dans le document et la fréquence du mot dans le corpus).

Pour la partie modélisation, nous utiliserons un modèle simple de régression logistique, implémenté dans scikit-learn. La combinaison de BoW et de régression logistique constitue une référence classique et puissante pour les tâches de classification de texte. La précision est utilisée comme métrique dans cette expérience. La figure ci-dessous montre que la performance sur l'ensemble de test augmente linéairement avec la croissance exponentielle de la taille de l'ensemble d'entraînement.

Représentation vectorielle dense

Certaines limitations du modèle BoW incluent :

  1. Le vecteur est creux (sparse), ce qui peut ne pas convenir à tous les algorithmes de ML.
  2. Le vecteur est de haute dimension, ce qui peut nécessiter beaucoup de mémoire et de puissance de calcul.
  3. L'ordre des mots est ignoré, ce qui peut faire perdre certaines informations.

Pour pallier ces limitations, nous pouvons utiliser une représentation vectorielle dense.

Word embeddings

Les word embeddings sont des représentations mathématiques des mots dans un espace vectoriel continu, où les mots sémantiquement similaires sont mappés à des points proches. Chaque mot est représenté par un vecteur dense de nombres à virgule flottante, dont les valeurs sont apprises en analysant de vastes corpus de texte. Pour trouver la représentation d'un document, nous pouvons faire la moyenne des embeddings des mots qui le composent. Deux modèles précurseurs notables de word embeddings sont Word2Vec et GloVe. Word2Vec utilise un réseau de neurones peu profond pour apprendre les embeddings, tandis que GloVe s'appuie sur la matrice de cooccurrence des mots dans le corpus. Nous utiliserons GloVe dans cette expérience.

Depuis l'introduction de l'architecture transformer dans l'article Attention is All You Need, les modèles basés sur les transformers sont devenus l'état de l'art pour de nombreuses tâches de NLP. Les mécanismes d'auto-attention de l'architecture transformer permettent de capturer des dépendances et relations à longue portée entre les mots, ce qui manquait dans les modèles antérieurs. Son architecture se prête également à la parallélisation, permettant un entraînement et une inférence plus rapides, comparés au traitement séquentiel des modèles RNN. BERT est l'un des modèles les plus notables de cette famille. Par conséquent, nous incluons également BERT (base-uncased) dans cette expérience.

Comme dans la section précédente, après la vectorisation, nous utilisons un modèle simple de régression logistique et la précision comme métrique. La figure ci-dessous montre que les word embeddings sont pré-entraînés et démarrent rapidement lorsque la taille de l'ensemble d'entraînement est petite. Cependant, les performances de GloVe et BERT sont inférieures à celles de BoW lorsque la taille de l'ensemble d'entraînement est plus importante. Une explication possible est que BoW est plus simple mais sa représentation est apprise à partir de données ayant une distribution similaire à celle de l'ensemble de test, tandis que les word embeddings sont pré-entraînés avec des données plus génériques.

Document embeddings

Cette section se concentre sur des techniques plus modernes permettant de représenter directement les documents sous forme de vecteurs denses, plutôt que de moyenner leurs word embeddings. Nous évaluerons le modèle gte-large-en-v1.5, qui obtient de très bons résultats sur le Massive Text Embedding Benchmark (MTEB) Leaderboard de Hugging Face, compte tenu de sa petite taille (moins de 1 milliard de paramètres). Nous incluons également deux autres modèles commerciaux d'OpenAI (text-embedding-3-large) et de Google (text-embedding-004). Ces modèles surpassent BoW à la plus grande taille d'ensemble d'entraînement et affichent également d'excellentes performances à la plus petite taille d'ensemble d'entraînement.

Fine-tuning des LLM avec une tête de classification

Dans l'approche par embedding, les embeddings sont pré-entraînés et fixes ; seuls les poids du modèle de régression logistique sont mis à jour pendant l'entraînement. Cela limite la performance du modèle. Le fine-tuning des LLM permet au modèle d'apprendre les caractéristiques spécifiques à la tâche et d'obtenir de meilleures performances.

Il existe différentes approches pour choisir quelle partie du LLM affiner, selon les données d'entraînement disponibles. La couche finale du LLM, utilisée pour prédire le mot suivant, est remplacée par une couche softmax pour la classification. Comme nous disposons d'une quantité limitée de données d'entraînement, nous n'affinerons que cette couche.

Nous explorons la performance des LLM représentatifs suivants :

  • BERT : le modèle transformer classique encodeur uniquement (base-uncased, 110M de paramètres)
  • GPT-2 : le modèle transformer classique décodeur uniquement (small, 124M de paramètres)
  • Llama-3 : le dernier LLM décodeur uniquement de Meta AI (8B et 70B de paramètres)

Tous les modèles ont surpassé la meilleure approche précédente, Embedding Google, à l'exception de GPT-2. En général, plus le modèle est grand, meilleure est la performance.

Apprentissage en contexte avec des LLM instruits

Depuis l'introduction de l'article InstructGPT et de l'outil ChatGPT, les LLM peuvent être utilisés efficacement pour des tâches de classification via de simples prompts. Nous explorons des modèles de fournisseurs de LLM notables avec un nombre différent d'exemples fournis dans le prompt. Dans le prompt, nous décrivons la tâche et les classes, puis fournissons des exemples pour chaque classe.

Nous découvrons quelques résultats intéressants :

  • Taille du modèle : Les grands modèles GPT-4 et GPT-4o sont clairement les plus performants, suivis de Claude 3.5 Sonnet et Gemini 1.5 Pro.
  • Les petits modèles GPT-4o Mini, Gemini 1.5 et Llama-3 70B sont tout aussi performants avec 0 à 2 exemples.
  • Plus le modèle est grand, moins il nécessite d'exemples.
  • Les modèles Llama subissent une forte baisse de performance avec 5 exemples. On ignore pourquoi, car la longueur du prompt n'atteint pas encore la limite de contexte.

Apprentissage zero-shot avec des LLM affinés par instruction

Pas dans cette tâche spécifique, mais dans des tâches plus difficiles, l'apprentissage en contexte peut nécessiter de nombreux exemples pour obtenir de bonnes performances. Cela conduit à un prompt long, avec plusieurs inconvénients :

  • Certains LLM ont des fenêtres de contexte limitées et peinent avec les longs prompts
  • Latence d'inférence accrue en raison du traitement d'un plus grand nombre de tokens
  • Coûts d'API plus élevés en raison d'un nombre de tokens plus important

Pour résoudre ces problèmes, nous pouvons affiner les LLM avec des instructions. Chaque élément des données d'entraînement pour le fine-tuning est une paire prompt-réponse. Le modèle affiné comprendra la tâche en profondeur, respectera l'instruction et effectuera des prédictions avec un prompt beaucoup plus court.

Dans les données d'entraînement, nous devons inclure une description détaillée des classes, comme pour l'apprentissage en contexte, afin d'aider le modèle à comprendre la tâche. Cependant, lors de la phase d'inférence, nous pouvons simplement inclure les noms des classes sans aucune description et zéro exemple pour réduire considérablement la longueur du prompt.

La figure ci-dessous montre une nette amélioration entre le fine-tuning par instruction et le modèle par défaut avec prompting few-shot. Le modèle plus petit Llama-3 8B a davantage bénéficié du fine-tuning par instruction.

Discussion

Pour résumer notre analyse, la figure ci-dessous compare les techniques les plus performantes selon les différentes approches, mettant en évidence plusieurs enseignements clés :

  • Aucune donnée d'entraînement : le prompting few-shot avec GPT-4 offre la meilleure précision, surpassant même toutes les autres méthodes avec des tailles de données d'entraînement variables. Cependant, cela s'accompagne des inconvénients d'être l'option la plus lente et la plus coûteuse.
  • Petites données d'entraînement (50x-100x) : le fine-tuning par instruction avec Llama-3 70B atteint la meilleure précision, le modèle plus petit 8B affichant également de bonnes performances. Pour des tâches plus complexes ou spécifiques à un domaine, le fine-tuning par instruction avec des modèles open source est susceptible de surpasser les options commerciales génériques. Cette méthode est également plus rapide et plus rentable.
  • Données d'entraînement moyennes (400x-800x) : le fine-tuning de la tête de classification avec les LLM démontre des avantages clairs dans cette plage. Le fine-tuning d'un modèle Llama-3 70B atteint la meilleure précision, comparable à GPT-4. Les modèles plus petits comme BERT-base (110M contre 7B) offrent une précision légèrement inférieure mais une performance bien plus rapide, ce qui en fait un compromis pratique.
  • Données d'entraînement volumineuses (1600x) : pour cette tâche de classification simple, un modèle classique Bag-of-Words (BoW) se comporte étonnamment bien par rapport à des techniques plus avancées. La tendance linéaire observée dans la première figure suggère que la performance pourrait encore s'améliorer avec davantage de données d'entraînement. Cependant, cette approche présente certaines limites : elle nécessite de grandes quantités de données d'entraînement et est monolingue, ce qui signifie que des jeux de données différents sont nécessaires pour différentes langues. À l'inverse, de nombreux grands modèles de langage (LLM) sont intrinsèquement multilingues. Malgré ces limites, BoW reste une méthode extrêmement rapide.

Conclusion

En conclusion, la classification de texte a beaucoup évolué avec l'essor des LLM, offrant des capacités transformatrices pour des applications concrètes. Dans Brand Trust, ces innovations en matière de classification de texte nous permettent de classer le contenu des pages web et les catégories d'activité avec précision, renforçant notre capacité à identifier et à atténuer les risques d'usurpation de domaine. Au-delà de la classification de texte, l'IA générative a alimenté des avancées dans l'ensemble de nos produits, soulignant notre engagement à appliquer l'IA pour relever des défis complexes en cybersécurité.

Taille de l'exemple :

Phong Nguyen
Phong Nguyen
Data Scientist

Phong's work explores a number of projects focused on NLP, anomaly detection, active learning and visualisation. He is a most known for his work behind Red Sift Radar.