Glossaire

Mise en cache des messages

Améliorez l'efficacité de l'IA grâce à la mise en cache rapide ! Apprenez à réduire la latence, à diminuer les coûts et à faire évoluer les applications d'IA grâce à cette technique puissante.

La mise en cache des invites est une technique d'optimisation utilisée principalement avec les grands modèles de langage (LLM) pour accélérer le processus d'inférence. Elle consiste à stocker les résultats de calcul intermédiaires, en particulier les états clé-valeur (KV) dans le mécanisme d'attention, d'une partie initiale d'une invite. Lorsqu'une nouvelle invite partage le même début (préfixe), le modèle peut réutiliser ces états mis en cache au lieu de les recalculer, ce qui réduit considérablement la latence et la charge de calcul nécessaire pour générer une réponse. Ceci est particulièrement efficace dans les applications impliquant l'IA conversationnelle ou les requêtes répétitives.

Fonctionnement de la mise en cache des invites

Lorsqu'un LLM traite une séquence de texte, telle qu'une phrase ou un paragraphe, il calcule les scores d'attention pour chaque token dans sa fenêtre contextuelle. Il s'agit d'une partie du processus coûteuse en termes de calcul, en particulier pour les messages-guides longs. L'idée centrale de la mise en cache de l'invite, souvent appelée mise en cache KV, est d'éviter le travail redondant. Si le modèle a déjà traité la phrase "Traduisez le texte anglais suivant en français :", il stocke l'état interne résultant. Lorsqu'il reçoit ultérieurement l'invite "Traduisez le texte anglais suivant en français : 'Hello, world!'", il peut charger l'état mis en cache pour la phrase initiale et commencer son calcul uniquement pour la nouvelle partie, "'Hello, world!'". Le processus de génération de texte est ainsi beaucoup plus rapide pour les demandes similaires ultérieures. Les systèmes tels que vLLM sont conçus pour gérer efficacement ce processus, améliorant ainsi le débit global.

Applications dans le monde réel

La mise en cache des invites est une optimisation cruciale pour de nombreux systèmes d'intelligence artificielle dans le monde réel, car elle améliore l'expérience de l'utilisateur en fournissant des réponses plus rapides.

  • Chatbots interactifs et assistants virtuels: Dans une conversation avec un chatbot, chaque tour s'appuie sur les échanges précédents. La mise en cache de l'historique de la conversation sous forme de préfixe permet au modèle de générer la réponse suivante sans retraiter l'ensemble du dialogue, ce qui permet une interaction beaucoup plus fluide et réactive. Cet aspect est fondamental pour la performance des assistants virtuels modernes.
  • Génération et complétion de code: Les assistants de codage alimentés par l'IA, tels que GitHub Copilot, utilisent fréquemment la mise en cache. Le code existant dans un fichier sert de longue invite. En mettant en cache les états KV de ce code, le modèle peut rapidement générer des suggestions pour la ligne suivante ou compléter une fonction sans avoir à réanalyser l'ensemble du fichier à chaque fois qu'un caractère est tapé, ce qui rend possible l'inférence en temps réel.

Mise en cache de l'invite et concepts connexes

Il est utile de distinguer la mise en cache rapide d'autres techniques apparentées :

  • Prompt Engineering: Se concentre sur la conception d'invites efficaces pour susciter les réponses souhaitées de la part du modèle d'IA. La mise en cache optimise l'exécution de ces invites, quelle que soit la qualité de leur conception.
  • Enrichissement des messages: Il s'agit d'ajouter un contexte ou des informations de clarification à l'invite d'un utilisateur avant qu' elle ne soit envoyée au modèle. La mise en cache a lieu pendant ou après le traitement de l'invite (potentiellement enrichie) par le modèle.
  • Prompt Tuning (Tuning de l'invite) et LoRA: Il s'agit de méthodes de réglage fin efficace des paramètres (PEFT) qui adaptent le comportement d'un modèle en formant de petits ensembles de paramètres supplémentaires. La mise en cache est une optimisation du temps d'inférence qui ne modifie pas les poids du modèle lui-même.
  • Génération améliorée par récupération (RAG): Améliore les invites en récupérant des informations pertinentes dans des bases de connaissances externes et en les ajoutant au contexte de l'invite. Alors que la RAG modifie l'entrée, la mise en cache peut toujours être appliquée au traitement de l'invite combinée (requête originale + données récupérées).
  • Mise en cache de la sortie standard: la mise en cache web traditionnelle stocke la sortie finale d'une requête. La mise en cache des invites stocke souvent des états de calcul intermédiaires dans le pipeline de traitement du modèle, ce qui permet une réutilisation plus souple, en particulier pour les invites qui partagent des préfixes communs mais ont des terminaisons différentes.

Bien que la mise en cache des messages soit principalement associée aux LLM, le principe sous-jacent de la mise en cache des calculs pourrait potentiellement s'appliquer à des modèles multimodaux complexes dans lesquels les messages textuels interagissent avec d'autres modalités. Cependant, il est moins courant dans les tâches standard de vision par ordinateur (VA) telles que la détection d'objets à l'aide de modèles tels que Ultralytics YOLO. Des plateformes comme Ultralytics HUB rationalisent le déploiement et la gestion des modèles d'IA, où des optimisations comme la mise en cache peuvent être cruciales pour les performances dans les environnements de production.

Rejoindre la communauté Ultralytics

Rejoignez l'avenir de l'IA. Connectez-vous, collaborez et évoluez avec des innovateurs mondiaux.

S'inscrire
Lien copié dans le presse-papiers