Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
Glossaire

Mise en cache des prompts

Améliorez l'efficacité de l'IA grâce à la mise en cache des invites ! Découvrez comment 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 spécialisée utilisée dans le déploiement de grands modèles de langage (LLM) pour réduire considérablement la latence de l'inférence et les d'inférence et les coûts de calcul. Dans le contexte de l'IA générative, le traitement d'une invite implique la conversion du texte en représentations numériques et le calcul des relations entre chaque jeton à l'aide d'un mécanisme d'attention. Lorsqu'une partie substantielle d'une invite, telle qu'une longue instruction système ou un ensemble d'exemples, reste statique à travers de multiples requêtes, la mise en cache de l'invite permet au système de stocker les états mathématiques intermédiaires (en particulier, l'état de la permet au système de stocker les états mathématiques intermédiaires (en particulier les paires clé-valeur) de ce texte statique. statique. Au lieu de recalculer ces états à chaque nouvelle requête, le moteur d'inférence les récupère en mémoire. moteur d'inférence les récupère en mémoire, permettant au modèle de concentrer sa puissance de traitement uniquement sur les nouvelles parties dynamiques de l'entrée.

Mécanismes et avantages

Le mécanisme de base de la mise en cache des invites repose sur la gestion efficace de la fenêtre contextuelle. de la fenêtre de contexte. Lorsqu'un LLM traite une entrée, il génère un "KV Cache" (Key-Value Cache) l'entrée, il génère un "KV Cache" (Key-Value Cache) représentant la compréhension du modèle du texte jusqu'à ce point. jusqu'à ce point. La mise en cache de l'invite traite le segment initial de l'invite (le préfixe) comme un actif réutilisable.

  • Réduction du temps de latence: En sautant le calcul pour le préfixe mis en cache, le temps de réponse au premier jeton (TTFT) est considérablement réduit, ce qui permet d'obtenir des réponses plus rapides dans les scénarios d'inférence en temps réel. scénarios d'inférence en temps réel.
  • Le rapport coût-efficacité: Depuis unités de traitement graphique (GPU) passent moins de temps à traiter les jetons redondants, les ressources de calcul globales requises par demande diminuent, ce qui réduit les frais d'exploitation. les frais d'exploitation des services d'intelligence services d'intelligence artificielle (IA).
  • Augmentation du débit: Les systèmes peuvent traiter un plus grand nombre de demandes simultanées car la charge de calcul pour chaque demande est minimisée. la charge de calcul pour chaque demande individuelle est réduite au minimum.

Applications concrètes

La mise en cache rapide transforme la façon dont les développeurs construisent et font évoluer les applications d'apprentissage automatique. les applications d'apprentissage automatique (ML), en particulier celles qui impliquent un traitement de texte lourd.

  1. Assistants de codage tenant compte du contexte: Dans les outils de complétion de code, l'ensemble du contenu du fichier en cours et des bibliothèques référencées sert souvent de contexte d'invite. fichier en cours et des bibliothèques référencées sert souvent de contexte d'invite. Ce "préfixe" peut contenir des milliers de tokens. En utilisant la mise en cache de l'invite, l'assistant peut mettre en cache l'état du fichier. Au fur et à mesure que le développeur tape (en ajoutant nouveaux tokens), le modèle ne traite que les nouveaux caractères au lieu de relire toute la structure du fichier, ce qui permet d'obtenir des temps de réponse inférieurs à la seconde, comme c'est le cas dans la plupart des pays européens. les temps de réponse inférieurs à la seconde observés dans les environnements de développement intégrés (IDE) modernes. environnements de développement intégrés (IDE) modernes.
  2. Analyse de documents et questions-réponses: Prenons l'exemple d'un système conçu pour répondre à des questions sur un manuel de 50 pages en format PDF. de 50 pages. À l'aide de la Retrieval-Augmented Generation (RAG), le texte du manuel est introduit dans le modèle. Sans cache, chaque fois qu'un utilisateur pose une question, le modèle doit retraiter l'intégralité du manuel et de la question. Avec la mise en cache rapide, le lourd travail de calcul pour comprendre le manuel est effectué une seule fois et stocké. le manuel est effectué une seule fois et stocké. Les questions suivantes sont ajoutées à cet état mis en cache, ce qui rend l'interaction de réponse aux questions fluide et efficace. l'interaction de réponse aux questions est fluide et fluide et efficace.

Concept de mise en œuvre technique

Bien que la mise en cache de l'invite soit interne aux serveurs d'inférence LLM, la compréhension de la structure des données aide à clarifier le concept. Le "cache" stocke essentiellement des tenseurs (tableaux multidimensionnels) représentant les états d'attention.

L'extrait Python suivant, qui utilise torch démontre la forme et le concept d'un tensor cache clé-valeur, qui est ce qui est stocké et réutilisé pendant la mise en cache rapide :

import torch

# Simulate a KV Cache tensor for a transformer model
# Shape: (Batch_Size, Num_Heads, Sequence_Length, Head_Dim)
batch_size, num_heads, seq_len, head_dim = 1, 32, 1024, 128

# Create a random tensor representing the pre-computed state of a long prompt
kv_cache_state = torch.randn(batch_size, num_heads, seq_len, head_dim)

print(f"Cached state shape: {kv_cache_state.shape}")
print(f"Number of cached parameters: {kv_cache_state.numel()}")
# In practice, this tensor is passed to the model's forward() method
# to skip processing the first 1024 tokens.

Distinguer les concepts apparentés

Il est important de différencier la mise en cache rapide des autres termes du glossaire d'Ultralytics afin d'appliquer la bonne stratégie d'optimisation. Ultralytics pour appliquer la bonne stratégie d'optimisation.

  • Vs. Ingénierie des messages-guides: L'ingénierie des invites se concentre sur l'élaboration du contenu et de la structure de l'entrée textuelle afin de susciter la meilleure réponse. la meilleure réponse. La mise en cache des invites se concentre sur l'optimisation de l'exécution informatique de cette entrée.
  • Vs. Recherche sémantique: La recherche sémantique (souvent utilisée dans les résultats de la mise en cache) recherche des requêtes similaires pour renvoyer une réponse pré-écrite. réponse pré-écrite. La mise en cache d'invites exécute toujours le modèle pour générer une réponse unique ; elle accélère simplement la lecture du contexte d'entrée. lecture du contexte d'entrée.
  • Vs. Le réglage fin: Le réglage fin modifie en permanence les les poids du modèle pour apprendre de nouvelles informations. La mise en cache ne modifie pas les poids du modèle ; elle stocke temporairement les états d'activation d'une session d'entrée spécifique. session.
  • Vs. Quantification du modèle: La quantification réduit la précision des paramètres du modèle pour économiser de la mémoire et accélérer l'inférence en général. La mise en cache des invites est une optimisation de l'exécution spécifique aux données d'entrée, souvent utilisée en conjonction avec la quantification. quantification.

Alors que la mise en cache des messages est propre au traitement du langage naturel (NLP), la mise en cache des messages est une pratique courante. traitement du langage naturel (NLP), les principes d'efficacité sont universels. Dans le domaine de la vision par ordinateur (VA), des modèles tels que YOLO11 sont optimisés sur le plan architectural pour la vitesse, ce qui garantit que les tâches de détection d'objets atteignent des taux de d'images sans avoir besoin du même type de cache d'état que celui utilisé dans les modèles de langage autorégressifs. Cependant, au fur et à mesure que les les modèles multimodaux évoluent pour traiter la vidéo et le vidéo et du texte, la mise en cache des jetons visuels devient un domaine de recherche émergent décrit dans des articles sur arXiv.

Rejoindre la communauté Ultralytics

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

Rejoindre maintenant