Une nouvelle façon de maintenir le ChatGPT en dialogue constant sans perdre la mémoire
Les chercheurs ont trouvé une solution concise et efficace à un problème insoluble dans les grands modèles de langage tels que ChatGPT, qui aurait autrement eu un impact considérable sur les performances du modèle.

Dans les conversations d'IA impliquant plusieurs cycles de dialogue continu, les puissants modèles d'apprentissage automatique du langage à grande échelle qui pilotent les chatbots tels que ChatGPT tombent parfois en panne soudainement, entraînant une chute spectaculaire des performances du bot.
Une équipe de chercheurs du MIT et d'autres institutions a découvert une cause surprenante de ce problème et a proposé une solution simple, qui permet aux chatbots de poursuivre les conversations sans se bloquer ni ralentir.
Leur approche adapte la mémoire cache des clés (l'équivalent de la mémoire de stockage pour le dialogue) au centre de nombreux modèles linguistiques de grande taille. Dans certains cas, lorsque le cache doit stocker plus d'informations que sa capacité réelle, les données les plus anciennes sont remplacées, ce qui peut entraîner une défaillance du modèle.
En conservant en mémoire certains des points de données initiaux, le système mis au point par les chercheurs permet aux chatbots de continuer à communiquer, quelle que soit la durée de la conversation.
Cette approche, appelée StreamingLLM, maintient la grande efficacité du modèle même lorsque le dialogue se poursuit au-delà de quatre millions de mots. Par rapport à une autre approche qui évite les pannes du système en recalculant constamment des parties de dialogues antérieurs, StreamingLLM est plus de 22 fois plus rapide.
Cela permettra aux chatbots de poursuivre de longues conversations tout au long de la journée sans avoir à être redémarrés, fournissant ainsi un assistant IA pour des tâches telles que l'écriture, l'édition et la génération de code.
"Aujourd'hui, grâce à cette approche, nous sommes en mesure de déployer ces grands modèles linguistiques en continu. En créant un chatbot avec lequel nous pouvons communiquer à tout moment et qui peut répondre en fonction du contenu des conversations récentes, nous sommes en mesure d'exploiter ces chatbots dans de nombreux nouveaux domaines d'application", a déclaré Guangxuan Xiao, étudiant diplômé en génie électrique et informatique (EECS) et auteur principal de l'article.
Les coauteurs de Xiao comprennent son mentor Song Han, professeur associé à EECS, membre du MIT-IBM Watson AI Lab et scientifique distingué chez NVIDIA, ainsi que Yuandong Tian, chercheur chez Meta AI, Beidi Chen, professeur adjoint à l'université Carnegie Mellon, et Mike Lewis, chercheur chez Meta AI et auteur principal de l'article. Cette recherche sera présentée à la conférence internationale sur les représentations d'apprentissage.
Un phénomène déroutant
Les modèles linguistiques à grande échelle encodent les données, telles que le vocabulaire de la requête d'un utilisateur, dans des formes de représentation appelées "jetons". De nombreux modèles emploient des "mécanismes attentionnels" qui utilisent ces jetons pour créer un nouveau texte.
En général, le chatbot IA rédige de nouveaux contenus sur la base des textes qu'il a vus ; il stocke donc les tokens récents dans une banque de mémoire appelée "cache KV" afin de les utiliser ultérieurement. Le mécanisme d'attention crée une carte quadrillée contenant tous les mots du cache, une "carte d'attention", sur laquelle l'intensité de la corrélation entre chaque mot et d'autres mots est indiquée.
La compréhension de ces relations permet à ces grands modèles linguistiques de créer des textes semblables à ceux des humains.
Toutefois, lorsque le volume de la mémoire cache devient important, la carte d'attention devient elle aussi immense, ce qui entraîne une diminution de la vitesse de calcul.
En outre, si les jetons nécessaires pour encoder le contenu dépassent la limite du cache, les performances du modèle sont réduites. Par exemple, un modèle largement utilisé est capable de stocker 4 096 jetons, mais un article universitaire peut en contenir environ 10 000.
Pour contourner ces problèmes, les chercheurs ont adopté une stratégie de "cache coulissant", éliminant les plus anciens jetons pour en ajouter de nouveaux. Cependant, dès que le premier jeton est supprimé, les performances du modèle ont tendance à chuter, ce qui affecte directement la qualité du vocabulaire nouvellement généré.
Dans ce nouvel article, les chercheurs ont découvert qu'en maintenant le premier jeton constant dans un cache coulissant, le modèle conserve ses performances même si la taille du cache est dépassée.
Mais cette constatation peut sembler contre-intuitive. Le premier mot d'un roman est rarement directement lié au dernier mot, alors pourquoi le premier mot est-il crucial pour la capacité du modèle à générer de nouveaux mots ?
Les chercheurs révèlent également les raisons de ce phénomène dans leur nouvel article.
point focal
Certains modèles utilisent l'opération Softmax dans leur mécanisme d'attention, qui attribue un score à chaque élément lexical, reflétant leur degré de parenté. L'opération Softmax exige que la somme de tous les scores d'attention soit égale à 1. Étant donné que la plupart des éléments lexicaux ne sont pas étroitement liés les uns aux autres, leurs scores d'attention sont très faibles. Le modèle attribue tout score d'attention restant au premier élément lexical.
Les chercheurs appellent ce premier élément lexical le "centre d'attention".
"Nous avons besoin d'un point d'attention, et le modèle choisit le premier élément lexical comme point d'attention parce qu'il est visible pour tous les autres éléments lexicaux. Nous avons constaté que pour maintenir la dynamique du modèle, nous devions constamment conserver ce point d'attention dans le cache". Han l'a exprimé de la manière suivante.
En développant StreamingLLM, les chercheurs ont constaté que le fait de placer quatre éléments lexicaux focalisant l'attention au tout début du cache permettait d'obtenir des performances optimales.
Ils notent également que le codage positionnel de chaque élément lexical doit rester le même lorsque de nouveaux éléments lexicaux sont ajoutés et que d'anciens sont éliminés. Par exemple, si le cinquième élément lexical est éliminé, le sixième élément lexical doit conserver son codage en tant que sixième, même s'il devient le cinquième dans le cache.
En combinant ces deux idées, ils permettent à StreamingLLM de maintenir un dialogue cohérent et de surpasser les approches populaires qui utilisent des techniques de recalcul.
Par exemple, pour une capacité de cache de 256 mots, la méthode utilisant la technique de recalcul prend 63 ms pour décoder un nouveau mot, alors que la méthode StreamingLLM ne prend que 31 ms. Toutefois, si la taille du cache est portée à 4096 mots, la technique de recalcul prend 1411 millisecondes pour décoder un nouveau lexème, alors que la méthode StreamingLLM ne prend que 65 millisecondes.
"StreamingLLM utilise une technique innovante de mise en commun de l'attention qui permet de résoudre les problèmes de performance et de stabilité de la mémoire lors du traitement de textes d'une longueur maximale de 4 millions de tokens". Yong Yang, jeune professeur d'informatique à l'université nationale de Singapour, a déclaré que, bien qu'il n'ait pas participé aux travaux, les capacités de cette technologie sont non seulement impressionnantes, mais qu'elles ont également des répercussions sur le marché. "Les capacités de cette technologie ne sont pas seulement impressionnantes, elles ont aussi le potentiel de changer la donne et de permettre à StreamingLLM d'être utilisé dans un large éventail de domaines de l'intelligence artificielle. "
Tianqi Chen, professeur adjoint d'apprentissage automatique et d'informatique à l'université Carnegie Mellon, qui n'a pas participé à l'étude, partage ce point de vue. Il a déclaré : "StreamingLLM nous permet d'adapter en douceur la longueur des dialogues pour les grands modèles de langage. Nous l'avons utilisé avec succès pour déployer les modèles Mistral sur l'iPhone".
L'équipe de recherche a également exploré l'application de la mise en commun de l'attention au cours de l'apprentissage du modèle en incluant plusieurs espaces réservés devant tous les échantillons d'apprentissage.
Ils ont constaté que les modèles formés en conjonction avec la mise en commun de l'attention étaient capables de maintenir leurs performances en n'utilisant qu'une seule réserve d'attention dans le cache, alors qu'il en faut normalement quatre pour stabiliser les performances des modèles pré-entraînés.
Cependant, même si StreamingLLM permet au modèle de s'engager dans un dialogue continu, le modèle n'est toujours pas en mesure de se souvenir des mots qui n'ont pas été déposés dans le cache. À l'avenir, les chercheurs prévoient de surmonter cette limitation en explorant des moyens de récupérer les jetons supprimés ou en permettant au modèle de se souvenir des dialogues précédents.
StreamingLLM a été intégré à la bibliothèque d'optimisation du modèle Big Language de NVIDIA [TensorRT-LLM]Moyen.
Ce travail a été soutenu en partie par le laboratoire d'intelligence artificielle MIT-IBM Watson, le MIT Science Center et la National Science Foundation.
© déclaration de droits d'auteur
Article copyright Cercle de partage de l'IA Tous, prière de ne pas reproduire sans autorisation.
Articles connexes
Pas de commentaires...