Réduction de la latence
La latence fait référence au temps nécessaire au modèle pour traiter une invite et générer une sortie. La latence peut être influencée par divers facteurs, tels que la taille du modèle, la complexité de l’invite, et l’infrastructure sous-jacente qui supporte le modèle et le point d’interaction.
Il est toujours préférable de d’abord concevoir une invite qui fonctionne bien sans contraintes de modèle ou d’invite, puis d’essayer des stratégies de réduction de la latence par la suite. Essayer de réduire la latence prématurément pourrait vous empêcher de découvrir à quoi ressemble la performance optimale.
Comment mesurer la latence
Lorsqu’on parle de latence, on peut rencontrer plusieurs termes et mesures :
- Latence de base : C’est le temps pris par le modèle pour traiter l’invite et générer la réponse, sans tenir compte des tokens d’entrée et de sortie par seconde. Cela donne une idée générale de la vitesse du modèle.
- Temps jusqu’au premier token (TTFT) : Cette métrique mesure le temps nécessaire au modèle pour générer le premier token de la réponse, à partir du moment où l’invite a été envoyée. C’est particulièrement pertinent lorsque vous utilisez le streaming (nous en parlerons plus tard) et que vous souhaitez offrir une expérience réactive à vos utilisateurs.
Pour une compréhension plus approfondie de ces termes, consultez notre glossaire.
Comment réduire la latence
1. Choisir le bon modèle
L’une des façons les plus directes de réduire la latence est de sélectionner le modèle approprié pour votre cas d’utilisation. Anthropic propose une gamme de modèles avec différentes capacités et caractéristiques de performance. Considérez vos besoins spécifiques et choisissez le modèle qui correspond le mieux à vos besoins en termes de vitesse et de qualité de sortie. Pour plus de détails sur les métriques des modèles, consultez notre page aperçu des modèles.
2. Optimiser la longueur de l’invite et de la sortie
Minimisez le nombre de tokens dans votre invite d’entrée et la sortie attendue, tout en maintenant une performance élevée. Moins il y a de tokens que le modèle doit traiter et générer, plus la réponse sera rapide.
Voici quelques conseils pour vous aider à optimiser vos invites et sorties :
- Soyez clair mais concis : Visez à transmettre votre intention clairement et de manière concise dans l’invite. Évitez les détails inutiles ou les informations redondantes, tout en gardant à l’esprit que Claude manque de contexte sur votre cas d’utilisation et pourrait ne pas faire les bonds logiques prévus si les instructions ne sont pas claires.
- Demandez des réponses plus courtes : Demandez directement à Claude d’être concis. La famille de modèles Claude 3 a une meilleure dirigeabilité que les générations précédentes. Si Claude produit une longueur non désirée, demandez à Claude de modérer sa verbosité.
En raison de la façon dont les LLM comptent les tokens au lieu des mots, demander un nombre exact de mots ou une limite de nombre de mots n’est pas une stratégie aussi efficace que de demander des limites de nombre de paragraphes ou de phrases.
- Définissez des limites de sortie appropriées : Utilisez le paramètre
max_tokens
pour définir une limite stricte sur la longueur maximale de la réponse générée. Cela empêche Claude de générer des sorties trop longues.Note : Lorsque la réponse atteint
max_tokens
tokens, la réponse sera coupée, peut-être en pleine phrase ou en plein mot, donc c’est une technique brutale qui peut nécessiter un post-traitement et est généralement plus appropriée pour les réponses à choix multiples ou courtes où la réponse arrive dès le début. - Expérimentez avec la température : Le paramètre
temperature
contrôle l’aléatoire de la sortie. Des valeurs plus basses (par exemple, 0,2) peuvent parfois conduire à des réponses plus ciblées et plus courtes, tandis que des valeurs plus élevées (par exemple, 0,8) peuvent donner des sorties plus diverses mais potentiellement plus longues.
Trouver le bon équilibre entre la clarté de l’invite, la qualité de la sortie et le nombre de tokens peut nécessiter quelques expérimentations.
3. Tirer parti du streaming
Le streaming est une fonctionnalité qui permet au modèle de commencer à renvoyer sa réponse avant que la sortie complète ne soit terminée. Cela peut améliorer significativement la réactivité perçue de votre application, car les utilisateurs peuvent voir la sortie du modèle en temps réel.
Avec le streaming activé, vous pouvez traiter la sortie du modèle au fur et à mesure qu’elle arrive, mettant à jour votre interface utilisateur ou effectuant d’autres tâches en parallèle. Cela peut grandement améliorer l’expérience utilisateur et rendre votre application plus interactive et réactive.
Visitez Messages en streaming pour en savoir plus sur la façon dont vous pouvez implémenter le streaming pour votre cas d’utilisation.