Interprétation des paramètres clés du grand modèle : jeton, longueur du contexte et limites de sortie

Les modèles linguistiques à grande échelle (LLM) jouent un rôle de plus en plus important dans le domaine de l'intelligence artificielle. Afin de mieux comprendre et d'appliquer les LLM, nous devons acquérir une compréhension plus approfondie de leurs concepts de base. Dans ce document, nous nous concentrerons sur trois concepts clés, à savoir le jeton, la longueur de sortie maximale et la longueur de contexte, afin d'aider les lecteurs à surmonter les obstacles à la compréhension et à utiliser plus efficacement la technologie LLM.

 

Token : unité de traitement de base du LLM

Token Le token est l'unité de base d'un modèle de langage étendu (LLM) pour le traitement de textes en langage naturel, et peut être considéré comme la plus petite unité sémantique que le modèle peut reconnaître et traiter. Bien que le token puisse être vaguement assimilé à un "mot" ou à une "phrase", il est plus précisément décrit comme l'élément de base sur lequel le modèle fonde son analyse et sa génération de texte.

Dans la pratique, il existe une certaine relation de conversion entre le token et le nombre de mots. D'une manière générale :

  • 1 caractère anglais ≈ 0.3 Token
  • 1 caractère chinois ≈ 0.6 Jeton

Par conséquent, nous pouvonsestimation approximative(math.) genreen règle généraleUn caractère chinois peut être considéré comme un Token.

大模型关键参数解读:Token、上下文长度与输出限制

Comme le montre la figure ci-dessus, lorsque nous entrons un texte dans le LLM, le modèle découpe d'abord le texte en séquences de tokens, puis traite ces séquences de tokens pour générer la sortie souhaitée. La figure suivante illustre clairement le processus de tokenisation du texte :

大模型关键参数解读:Token、上下文长度与输出限制

Longueur maximale de la sortie (limite de la sortie) : limite supérieure de la génération d'un texte unique par le modèle.

afin de DeepSeek à titre d'exemple, nous pouvons observer que les différents modèles fixent une limite à la longueur maximale de la sortie.

大模型关键参数解读:Token、上下文长度与输出限制

Ci-dessus.deepseek-chat correspondance modèle DeepSeek-V3 tandis que la version deepseek-reasoner correspond alors à DeepSeek-R1 Versions. Le modèle d'inférence R1 et le modèle de dialogue V3 ont tous deux une longueur de sortie maximale fixée à 8K.

Si l'on considère la relation de conversion approximative selon laquelle un kanji est approximativement égal à un token.8K La longueur maximale de sortie de peut être interprétée comme suit : Le modèle est capable de générer jusqu'à 8 000 caractères en une seule interaction..

Le concept de longueur maximale de sortie est relativement intuitif et facile à comprendre ; il limite la quantité maximale de texte que le modèle peut produire dans chaque réponse. Une fois cette limite atteinte, le modèle ne pourra plus continuer à générer du contenu.

 

Fenêtre de contexte : l'étendue de la mémoire du modèle.

La longueur du contexte, également connue dans le domaine technique sous le nom de Context Windowest un paramètre clé pour comprendre les capacités du LLM. Nous poursuivons avec la DeepSeek Le modèle est illustré par un exemple :

大模型关键参数解读:Token、上下文长度与输出限制

Comme le montre la figure, le modèle d'inférence et le modèle de dialogue, lesDeepSeek (utilisé comme expression nominale) Context Window tous sont 64K. Ainsi.64K Que signifie exactement la longueur du contexte de la

Pour comprendre la longueur du contexte, il faut d'abord en préciser la définition. La fenêtre contextuelle se réfère au nombre maximum de tokens qui peuvent être traités par un grand modèle linguistique (LLM) en une seule session d'inférence.. Cette somme est composée de deux parties :

(1) section d'entréeLes données de l'utilisateur : toutes les données fournies par l'utilisateur, telles que les invites, l'historique du dialogue et le contenu de tout document supplémentaire.
(2) section de sortie: Le contenu de la réponse que le modèle est en train de générer et de renvoyer.

En bref, lorsque nous avons une interaction unique avec LLM, le processus entier, commençant par l'entrée d'une question et se terminant lorsque le modèle donne une réponse, est appelé "inférence unique". Pendant cette inférence, la somme de tous les contenus textuels d'entrée et de sortie (comptés en tokens) ne peut pas être supérieure à Context Window Les limites de la DeepSeek En termes de modèle, cette restriction est 64KLe nombre de caractères chinois utilisés dans l'étude est d'environ 60 000, ce qui correspond au nombre de caractères chinois utilisés dans l'étude.

Au cas où vous vous poseriez la question.Y a-t-il donc une limite à ce qui peut être inscrit ? La réponse est oui. Comme indiqué précédemment, le modèle a une longueur de contexte de 64K et une longueur de sortie maximale de 8K. Par conséquent, dans un seul cycle de dialogue, le nombre maximal de tokens pour le contenu d'entrée est théoriquement la longueur de contexte moins la longueur de sortie maximale, c'est-à-dire 64K - 8K = 56K. En résumé, dans une seule interaction question-réponse, l'utilisateur peut entrer jusqu'à environ 56 000 mots, et le modèle peut produire jusqu'à environ 8 000 mots.

Mécanismes de gestion du contexte pour les dialogues à plusieurs tours

Dans la pratique, nous avons souvent plusieurs cycles de dialogue avec les gestionnaires de l'éducation et de la formation tout au long de la vie. Alors, comment un dialogue à plusieurs tours gère-t-il le contexte ? Prenez DeepSeek Par exemple, lors de l'ouverture d'un dialogue à plusieurs tours, le serveurLe contexte de dialogue de l'utilisateur n'est pas sauvegardé par défaut. Cela signifie qu'enPour chaque nouvelle demande de dialogue, l'utilisateur doit rassembler tout le contenu, y compris l'historique du dialogue, et le transmettre à l'API en tant qu'information d'entrée.

Pour illustrer plus clairement les mécanismes d'un dialogue à plusieurs tours, voici un exemple de code Python pour un dialogue à plusieurs tours utilisant l'API DeepSeek :

from openai import OpenAI
client = OpenAI(api_key="<DeepSeek API Key>", base_url="https://api.deepseek.com")
# Round 1
messages = [{"role": "user", "content": "What's the highest mountain in the world?"}]
response = client.chat.completions.create(
model="deepseek-chat",
messages=messages
)
messages.append(response.choices[0].message)
print(f"Messages Round 1: {messages}")
# Round 2
messages.append({"role": "user", "content": "What is the second?"})
response = client.chat.completions.create(
model="deepseek-chat",
messages=messages
)
messages.append(response.choices[0].message)
print(f"Messages Round 2: {messages}")

Le contenu du paramètre "messages" transmis à l'API lors de la première série de demandes de dialogue est le suivant :

[
{"role": "user", "content": "What's the highest mountain in the world?"}
]

Requis pour la deuxième série de demandes de dialogue :
(1) Ajouter la sortie du modèle du cycle de dialogue précédent à l'analyse de l'impact sur l'environnement. messages Fin de la liste ;
(2) Ajouter la nouvelle question de l'utilisateur à la liste des questions. messages Fin de la liste.

Ainsi, lors du deuxième tour de dialogue, le paramètre des messages transmis à l'API contiendra ce qui suit :

[
{"role": "user", "content": "What's the highest mountain in the world?"},
{"role": "assistant", "content": "The highest mountain in the world is Mount Everest."},
{"role": "user", "content": "What is the second?"}
]

Il s'ensuit que l'essence d'un dialogue à plusieurs tours est de combiner les éléments suivantsLes transcriptions des dialogues historiques (y compris les entrées de l'utilisateur et les sorties du modèle) sont épissées avant la dernière entrée de l'utilisateur, et le dialogue complet épissé est ensuite soumis au LLM en une seule fois.

Cela signifie que dans un scénario de dialogue à plusieurs tours, la fenêtre contextuelle pour chaque tour de dialogue ne reste pas toujours la même à 64K, mais diminue au fur et à mesure que le nombre de tours augmente. Par exemple, si les entrées et les sorties du premier tour de dialogue utilisent un total de 32 000 jetons, la fenêtre contextuelle disponible pour le deuxième tour de dialogue ne sera que de 32 000 jetons. Ce principe est cohérent avec la limitation de la longueur du contexte analysée ci-dessus.

Vous pouvez également vous poser une question : si, selon ce mécanisme, les entrées et les sorties de chaque cycle de dialogue sont très longues, ne faudra-t-il pas quelques cycles de dialogue pour dépasser les limites du modèle ? Dans la pratique, cependant, le modèle semble être en mesure de répondre correctement même avec plusieurs cycles de dialogue.

C'est une très bonne question, qui nous amène à un autre concept clé : la "troncature contextuelle".

Troncature contextuelle : stratégies pour faire face à des dialogues très longs

Lorsque nous utilisons des produits basés sur le LLM (par exemple, DeepSeek, Wisdom Spectrum, etc.), les fournisseurs de services n'exposent généralement pas directement les limites de la fenêtre contextuelle à l'utilisateur, mais utilisent plutôt la troncature de contexte pour traiter les textes très longs. La stratégie de troncature de contexte est utilisée pour traiter les textes très longs.

Si l'utilisateur a accumulé 64 000 ou près de 64 000 tokens d'entrées et de sorties au cours de plusieurs cycles de dialogue, il dépassera la limite de la fenêtre contextuelle en lançant une nouvelle demande (par exemple, une nouvelle entrée de 2 000 tokens). Dans ce cas, le serveur conservera généralement les données les plus récentes de la fenêtre contextuelle. 64K (y compris l'entrée la plus récente), tout en rejetant la partie la plus ancienne de l'historique du dialogue**. Pour l'utilisateur, l'entrée la plus récente est conservée, tandis que l'entrée la plus ancienne (ou même la sortie) est "oubliée" par le modèle. **

C'est pourquoi, lorsqu'il y a plusieurs tours de dialogue, le modèle souffre parfois d'"amnésie", même si nous pouvons toujours obtenir des réponses normales de sa part. La capacité de la fenêtre contextuelle étant limitée, le modèle ne peut pas se souvenir de toutes les informations historiques du dialogue, il ne peut que "se souvenir du plus récent et oublier le plus ancien".

Il convient de souligner queLa "troncature contextuelle" est une stratégie mise en œuvre au niveau de l'ingénierie, plutôt qu'une capacité inhérente au modèle lui-même**. Les utilisateurs ne perçoivent généralement pas la présence du processus de troncature au moment de l'utilisation, car le serveur s'en charge en arrière-plan. **

大模型关键参数解读:Token、上下文长度与输出限制

En résumé, nous pouvons tirer les conclusions suivantes concernant la longueur du contexte, la longueur maximale de la sortie et la troncature du contexte :

  • La fenêtre de contexte (par exemple 64K) est une limite stricte pour le traitement d'une seule demande par le modèle.Le nombre total d'entrées et de sorties de jetons ne doit pas dépasser cette limite.
  • Gestion côté serveur de textes très longs dans des conversations à plusieurs tours grâce à des politiques de troncature contextuellePermet aux utilisateurs d'entamer plusieurs séries de dialogues. Fenêtre contextuelle mais cela se ferait au détriment de la capacité de mémoire à long terme du modèle.
  • Les limites de la fenêtre contextuelle sont généralement une stratégie du fournisseur de services visant à contrôler les coûts ou à réduire les risques.La capacité technique du modèle lui-même n'est pas exactement la même.

 

Comparaison des paramètres du modèle : OpenAI et Anthropic

Les paramètres relatifs à la longueur maximale de la sortie et à la longueur du contexte varient d'un fournisseur de modèle à l'autre. La figure suivante montre les configurations de paramètres de certains modèles, en utilisant OpenAI et Anthropic comme exemples :

大模型关键参数解读:Token、上下文长度与输出限制

Dans la figure, les "jetons de contexte" représentent la longueur du contexte et les "jetons de sortie" représentent la longueur maximale de la sortie.

 

Principes techniques : raisons des restrictions

Pourquoi le LLM fixe-t-il des limites à la longueur maximale de la sortie et à la longueur du contexte ? D'un point de vue technique, cela implique des contraintes sur l'architecture du modèle et les ressources informatiques. En bref, la limite de la fenêtre de contexte est déterminée par les facteurs clés suivants :

(1) Gamme de codes de position : Transformateur Le modèle s'appuie sur le codage positionnel (par exemple RoPE, ALiBi) pour attribuer des informations positionnelles à chaque token, et la gamme des conceptions de codage positionnel détermine directement la longueur maximale de la séquence que le modèle peut traiter.
(2) Calcul du mécanisme d'auto-attentionLors de la génération de chaque nouveau jeton, le modèle doit calculer le poids attentionnel entre ce jeton et tous les jetons historiques (à la fois l'entrée et la sortie générée). Par conséquent, la longueur totale de la séquence est strictement limitée. En outre, l'utilisation de la mémoire du cache KV est positivement corrélée à la longueur totale de la séquence, et le dépassement de la longueur de la fenêtre contextuelle peut entraîner un débordement de la mémoire ou des erreurs de calcul.

 

Scénarios d'application typiques et stratégies de réponse

Il est essentiel de comprendre les concepts de longueur maximale de sortie et de longueur de contexte, ainsi que les principes techniques qui les sous-tendent. Après avoir acquis ces connaissances, les utilisateurs doivent développer des stratégies correspondantes lorsqu'ils utilisent des outils de grands modèles afin d'améliorer l'efficacité et l'efficience de leur utilisation. Les paragraphes suivants énumèrent plusieurs scénarios d'application typiques et indiquent les stratégies de réponse correspondantes :

  • Entrée courte + sortie longue
    • scénario d'applicationLes utilisateurs entrent une petite quantité de tokens (par exemple 1 000) et souhaitent que le modèle génère un contenu de longue durée, tel que des articles, des récits, etc.
    • Configuration des paramètres: Au moment de l'appel à l'API, vous pouvez définir la valeur de l'option max_tokens est fixé à une valeur plus élevée, par exemple 63,000 (Veillez à saisir le même nombre de jetons que dans la rubrique max_tokens et n'excédant pas Fenêtre contextuelle (par exemple, 1K + 63K ≤ 64K).
    • risque potentielLa sortie du modèle peut être interrompue prématurément en raison de contrôles de qualité (par exemple, répétitions excessives, inclusion de mots sensibles, etc.)
  • Entrée longue + sortie courte
    • scénario d'applicationL'utilisateur saisit un long document (60 000 tokens, par exemple) et demande au modèle de le résumer, d'en extraire des informations, etc. et de produire un document court.
    • Configuration des paramètresVous pouvez définir max_tokens est fixé à une valeur inférieure, par exemple 4,000 (par exemple, 60K + 4K ≤ 64K).
    • risque potentielSi le modèle nécessite effectivement plus de jetons de sortie que le nombre de jetons d'entrée, il n'est pas nécessaire d'utiliser un autre modèle. max_tokens Si le document d'entrée est compressé (par exemple, les paragraphes clés sont extraits, les informations redondantes sont réduites, etc.
  • Gestion du dialogue à plusieurs tours
    • règles et règlementsLes données de l'enquête sur l'état de santé de l'enfant et de l'adolescent ne sont pas disponibles pour l'instant. Fenêtre contextuelle (dont le dépassement sera tronqué).
    • exemple typique: :
      (1) Dialogue du premier tour : l'utilisateur entre 10 000 jetons, le modèle sort 10 000 jetons et accumule 20 000 jetons.
      (2) Dialogue du deuxième tour : entrée de l'utilisateur 30 000 jetons, sortie du modèle 14 000 jetons, accumulation de 64 000 jetons.
      (3) Dialogue du 3e tour : l'utilisateur entre 5K jetons, le serveur tronque les 5K jetons les plus anciens et conserve les 59K jetons les plus récents. jetons Histoire, plus une nouvelle entrée de 5K jetons pour un total de 64K jetons.

En comprenant les trois concepts fondamentaux que sont le jeton, la longueur de sortie maximale et la longueur du contexte, et en formulant une stratégie raisonnable basée sur des scénarios d'application spécifiques, nous pouvons exploiter plus efficacement la technologie LLM et utiliser pleinement son potentiel.

© déclaration de droits d'auteur

Articles connexes

Pas de commentaires

Vous devez être connecté pour participer aux commentaires !
S'inscrire maintenant
aucun
Pas de commentaires...