Maison >Périphériques technologiques >IA >Compression sémantique du texte pour économiser sur les coûts LLM

Compression sémantique du texte pour économiser sur les coûts LLM

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBoriginal
2025-02-25 19:29:11886parcourir

Un résumé des commentaires de l'IA pour le traitement du texte ultra-long: une approche multicanal basée sur le clustering hiérarchique

Semantically Compress Text to Save On LLM Costs

Publié à l'origine le 28 octobre 2024, Bazaarvoice Developer Blog

Introduction

Les modèles de langues grands (LLM) sont des outils puissants pour gérer le texte non structuré, mais que se passe-t-il si votre texte dépasse les limites de la fenêtre de contexte? Bazaarvoice fait face à ce défi lors de la création de sa fonction de résumé des examens de l'IA: des millions d'examens des utilisateurs ne peuvent tout simplement pas s'intégrer dans la fenêtre de contexte, même le dernier LLM, et même s'il peut être logé, le coût est prohibitif.

Cet article partagera comment Bazaarvoice résout ce problème en compressant le texte d'entrée (sans perdre la sémantique). Plus précisément, nous avons utilisé une approche de clustering hiérarchique multicanal qui nous permet d'ajuster explicitement le niveau de détail que nous voulons perdre en échange de compression quel que soit le modèle d'incorporation sélectionné. La technologie ultime rend notre fonctionnalité de résumé de révision économiquement viable et jette les bases d'une expansion des entreprises futures.

Question

Bazaarvoice collecte des avis de produits générés par l'utilisateur depuis près de 20 ans, nous avons donc une grande quantité de données. Ces revues de produits ne sont pas complètement non structurées, avec des longueurs et des contenus variables. Les modèles de grands langues sont idéaux pour traiter le texte non structuré: ils peuvent traiter les données non structurées et identifier les informations pertinentes entre les distracteurs. Cependant, LLM a également ses limites, dont l'une est la fenêtre de contexte: le nombre de balises (approximativement le nombre de mots) qui peuvent être saisies à la fois. Les modèles de langue de grande partie de la technologie, tels que Claude Version 3 d'Anthropic, ont une fenêtre de contexte surdimensionné avec jusqu'à 200 000 marqueurs. Cela signifie que vous pouvez y mettre de petits romans, mais Internet est toujours une collection énorme et croissante de données, et nos avis de produits générés par l'utilisateur ne font pas exception.

Nous avons rencontré des limitations dans la fenêtre de contexte lors de la création de notre fonctionnalité de résumé des avis (résumant toutes les avis de produits spécifiques sur le site Web du client). Cependant, au cours des 20 dernières années, de nombreux produits ont accumulé des milliers d'examens qui ont rapidement surchargé la fenêtre de contexte LLM. En fait, nous avons même des produits avec des millions d'examens qui nécessitent une énorme refonte du LLM à gérer dans une invite.

Même si techniquement possible, le coût peut être très élevé. Tous les fournisseurs LLM sont chargés en fonction du nombre de marqueurs d'entrée et de sortie. À l'approche de la limite de fenêtre de contexte pour chaque produit (nous avons des millions de produits), nos factures d'hébergement cloud dépassent rapidement six chiffres.

Notre méthode

Pour surmonter ces contraintes techniques et économiques pour publier un résumé de la revue, nous nous sommes concentrés sur un aperçu assez simple de nos données: de nombreux commentaires expriment le même sens. En fait, tout le concept du résumé en dépend: un résumé de la revue capture les idées, les thèmes et les émotions récurrents du commentateur. Nous avons réalisé que nous pouvions utiliser cette duplication de données pour réduire la quantité de texte qui doit être envoyée au LLM, évitant ainsi de respecter les limites de fenêtre de contexte et de réduire les coûts d'exploitation de notre système. Pour ce faire, nous devons identifier des fragments de texte qui expriment la même signification. Une telle tâche est plus facile à dire qu'à faire: les gens utilisent souvent des mots ou des phrases différents pour exprimer le même sens.

Heureusement, reconnaître si la sémantique de texte est similaire a toujours été un domaine de recherche actif dans le domaine du traitement du langage naturel. Le travail d'Agirre et al. En 2013 (

SEM 2013 Tâche partagée: similitude du texte sémantique. Lors de la deuxième conférence conjointe sur le vocabulaire et la sémantique informatique

) a même publié des données sur un ensemble de phrases similaires sémantiques marquées par l'homme, Appelé Benchmark STS. Dans ce document, ils demandent aux gens d'indiquer si les phrases en texte sont sémantiquement similaires ou différentes en fonction des rangs de 1-5, comme le montre le tableau suivant (de Cer et al., SEMEVAL-2017 Tâche 1: similitude sémantique de texte multilingue et évaluation de la mise au point croisée ):

Les ensembles de données de référence Semantically Compress Text to Save On LLM Costs STS sont couramment utilisés pour évaluer la capacité des modèles d'intégration de texte à corréler les phrases sémantiques similaires dans leur espace de grande dimension. Plus précisément, la corrélation de Pearson est utilisée pour mesurer la mesure dans laquelle le modèle intégré représente le jugement humain.

Par conséquent, nous pouvons utiliser un tel modèle d'incorporation pour identifier des phrases similaires sémantiques dans les revues de produits, puis supprimer des phrases en double avant de les envoyer au LLM.

Notre méthode est la suivante:

Tout d'abord, divisez l'examen des produits en phrases.
  • Calculez des vecteurs d'intégration pour chaque phrase à l'aide d'un réseau qui fonctionne bien dans la référence STS.
  • Utiliser le clustering hiérarchique de condensation pour tous les vecteurs d'incorporation pour chaque produit.
  • Gardez les exemples de phrases les plus proches du centroïde de cluster dans chaque cluster (envoyé à LLM) et supprimez d'autres phrases dans chaque cluster.
  • Traitez n'importe quel petit cluster comme des valeurs aberrantes et dessinez au hasard ces valeurs aberrantes à inclure dans le LLM.
  • Le nombre de phrases contenant chaque représentant de cluster est dans l'invite LLM pour garantir que le poids de chaque émotion est considéré.
  • Cela semble simple lorsqu'il est écrit dans une liste à puces, mais avant de pouvoir faire confiance à cette approche, nous devons résoudre certains détails.

Évaluation du modèle d'intégration

Tout d'abord, nous devons nous assurer que le modèle que nous utilisons intégré efficacement dans des espaces où des phrases similaires sémantiques sont proches des phrases qui ne sont pas sémantiques similaires, et les différentes phrases sémantiques sont loin. Pour ce faire, nous utilisons simplement l'ensemble de données de référence STS et calculons la corrélation Pearson du modèle que nous voulons considérer. Nous utilisons AWS comme fournisseur de cloud, nous voulons donc naturellement évaluer son modèle d'intégration de texte Titan.

Le tableau suivant montre les corrélations de Pearson de différents modèles d'intégration de Titan sur les références STS:

Par conséquent, le modèle d'incorporation d'AWS est excellent dans l'intégration des phrases avec une sémantique similaire. C'est une bonne nouvelle pour nous - nous pouvons utiliser ces modèles directement, et ils sont extrêmement bon marché.

cluster de similitude sémantique

Le prochain défi auquel nous sommes confrontés est: comment appliquer la similitude sémantique pendant le clustering? Idéalement, aucun cluster n'a une similitude sémantique inférieure que les humains peuvent accepter - le score du tableau ci-dessus est de 4. Cependant, ces fractions ne peuvent pas être directement converties en distances d'intégration, ce qui est requis pour le seuil de regroupement hiérarchique d'agrégation.

Pour résoudre ce problème, nous nous tournons à nouveau vers l'ensemble de données de référence STS. Nous calculons les distances de toutes les paires de l'ensemble de données d'entraînement et montons le polynôme au seuil de distance en fonction de la fraction.

Semantically Compress Text to Save On LLM Costs

Ce polynôme nous permet de calculer le seuil de distance requis pour satisfaire toute cible de similitude sémantique. Pour le résumé des commentaires, nous avons choisi 3,5 points, donc presque tous les clusters contiennent des phrases qui sont «à peu près» à «la plupart» équivalentes ou supérieures.

Il convient de noter que cela peut être fait sur n'importe quel réseau intégré. Cela nous permet d'expérimenter l'avènement de nouveaux réseaux embarqués et de les remplacer rapidement en cas de besoin sans se soucier que le cluster contienne des phrases avec une sémantique différente.

Clustering multicanal

Jusqu'à présent, nous savons que nous pouvons faire confiance à notre compression sémantique, mais il n'est pas clair combien de compression nous pouvons obtenir des données. Comme prévu, la quantité de compression varie selon le produit, le client et l'industrie.

En l'absence de perte d'informations sémantiques, c'est-à-dire un seuil dur de 4, nous n'avons atteint qu'un rapport de compression de 1,18 (c'est-à-dire une économie d'espace de 15%).

Évidemment, la compression sans perte ne suffit pas pour rendre cette fonction économiquement possible.

Cependant, la méthode de sélection de distance dont nous avons discuté ci-dessus offre ici une possibilité intéressante: nous pouvons progressivement augmenter la quantité de perte d'informations en exécutant à plusieurs reprises des clusters sur les données restantes à un seuil inférieur.

La méthode est la suivante:

  • Exécutez le cluster en utilisant le seuil sélectionné par Score = 4. Ceci est considéré comme sans perte.
  • Sélectionnez n'importe quel cluster d'exception, c'est-à-dire ceux avec seulement quelques vecteurs. Ceux-ci sont considérés comme "non compressés" et utilisés dans la prochaine étape. Nous avons choisi de relancer le cluster pour tout groupe de tailles inférieur à 10.
  • Exécutez à nouveau le cluster en utilisant le seuil sélectionné par Score = 3. Ce n'est pas sans perte, mais ce n'est pas trop mal.
  • Sélectionnez n'importe quel cluster avec une taille inférieure à 10.
  • Répétez au besoin et baissez continuellement le seuil de score.

Par conséquent, dans chaque canal de regroupement, nous sacrifions plus de perte d'informations, mais obtenant plus de compression, et ne confondons pas les phrases représentatives sans perte que nous avons choisies dans le premier canal.

De plus, cette approche est non seulement très utile pour le résumé des commentaires (nous espérons obtenir un niveau élevé de similitude sémantique au détriment de moins de compression), mais aussi pour d'autres cas d'utilisation où nous ne nous en préoccupons peut-être pas trop. Les informations sémantiques sont perdues, mais j'espère que cela coûte moins cher sur les contributions rapides.

En pratique, même après plusieurs réductions du seuil de score, il y a encore un grand nombre de grappes avec un seul vecteur. Ceux-ci sont considérés comme des valeurs aberrantes et sont échantillonnés au hasard pour inclure dans l'invite finale. Nous avons choisi la taille de l'échantillon pour nous assurer que l'invite finale a 25 000 points, mais pas plus que cela.

Assurer l'authenticité

Le clustering multicanal et l'échantillonnage aléatoire des valeurs aberrantes permettent le sacrifice d'informations sémantiques au détriment d'une fenêtre de contexte plus petite (envoyée à LLM). Cela soulève la question: quelle est la qualité de notre résumé?

Chez Bazaarvoice, nous savons que l'authenticité est une condition nécessaire pour la confiance des consommateurs et que notre résumé de la révision doit rester vrai pour représenter vraiment tous les sons capturés dans les commentaires. Toute méthode de compression avec perte a le risque de déformer ou d'exclure les consommateurs qui passent du temps à rédiger des avis.

Pour nous assurer que notre technologie de compression est efficace, nous avons mesuré directement cela. Plus précisément, pour chaque produit, nous avons pris des examens, puis utilisé des étions LLM pour déterminer si le résumé est représentatif et pertinent pour chaque revue. Cela nous fournit une métrique dure pour évaluer et équilibrer notre compression.

Résultat

Au cours des 20 dernières années, nous avons collecté près d'un milliard de commentaires générés par les utilisateurs et devons générer un résumé pour des dizaines de millions de produits. Beaucoup de ces produits ont des milliers d'examens, certains, même jusqu'à des millions, ce qui peut drainer la fenêtre de contexte de LLM et augmenter considérablement le prix.

Cependant, en utilisant notre méthode ci-dessus, nous avons réduit la taille du texte d'entrée par 97,7% (le rapport de compression est 42 ), nous permettant de pouvoir fabriquer tous les produits et toute quantité et toute quantité À l'avenir, le nombre de commentaires étend cette solution. De plus, le coût de génération de digestion pour tous nos ensembles de données de niveau milliard est 82,4% . Cela comprend le coût de l'intégration des données de phrase et de les stocker dans une base de données.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn