De quoi s'agit-il
Un modèle lit le texte sous forme de jetons, et l'entraînement traite chaque exemple comme une séquence de jetons. Les fournisseurs fixent une limite de jetons par exemple : la séquence la plus longue qu'un seul enregistrement d'entraînement peut contenir. Elle est souvent inférieure à la fenêtre de contexte du modèle en utilisation normale, car l'entraînement nécessite de la mémoire non seulement pour lire les jetons, mais aussi pour calculer comment chaque poids doit être modifié.
La plupart des conversations d'assistance s'intègrent facilement. Celles qui dépassent sont de longs fils de résolution de problèmes, des conversations où quelqu'un a collé un fichier journal, ou des échanges qui se sont prolongés toute une après-midi. Chacune de ces situations nécessite une décision.
Comment ça marche
record tokens = system prompt + every earlier turn + the target reply
fits = record tokens ≤ per-example limit
rough estimate: tokens ≈ characters ÷ 4 (English text)L'option Tronquer fonctionne à rebours à partir de la réponse cible. Le prompt système et la cible sont toujours conservés, puis les échanges sont supprimés en partant du début de la conversation jusqu'à ce que le total respecte la limite. Les échanges sont supprimés dans leur intégralité — un message utilisateur avec sa réponse — afin que l'enregistrement ne commence jamais par une réponse orpheline à une question disparue.
Pourquoi commencer par les plus anciens ? Pour la plupart des conversations, le contexte le plus pertinent est le plus récent : la question à laquelle on répond, le message d'erreur qui vient d'être cité, la dernière suggestion de l'assistant. Les recherches sur les entrées longues montrent également que les modèles utilisent mieux les informations situées au début et à la fin de leur contexte que celles enfouies au milieu (Liu et al., 2023). Ainsi, un enregistrement plus court et ciblé perd moins d'informations que ne le suggère le nombre de jetons.
L'option Exclure rejette l'enregistrement. Utilisez-la lorsque la première partie d'une conversation est essentielle à la réponse — par exemple, lorsque l'utilisateur indique son type de compte ou une contrainte clé dans le premier message et que la réponse cible en dépend. Une version tronquée d'une telle conversation apprendrait au modèle à répondre sans les informations dont il a réellement besoin, ce qui revient insidieusement à lui apprendre à deviner.
Supprimer les échanges les plus anciens jusqu'à ce que l'enregistrement respecte la limite, en conservant le prompt système, le contexte le plus récent et la cible. Conserve chaque exemple dans le jeu de données.
Exclure tout enregistrement dépassant la limite. Choisissez cette option lorsque les réponses dépendent de détails fournis au début de longues conversations, ou lorsque seule une poignée d'enregistrements est concernée.
- L'enregistrement contient un prompt système de 250 tokens, trois échanges antérieurs de 1 500, 1 300 et 1 200 tokens, la question de l'utilisateur (350) et la réponse cible (600) : 5 200 tokens.
- Supprimer l'échange 1 : 3 700 tokens. Toujours au-dessus.
- Supprimer l'échange 2 : 2 400 tokens. Cela rentre, avec une marge de 600.
- L'enregistrement utilisé pour l'entraînement conserve le prompt système, l'échange 3 (où l'erreur d'importation a été citée), la question et la réponse — tout ce à quoi la cible fait réellement référence.
- Si l'utilisateur avait dit « Je suis sur l'ancienne formule » dans l'échange 1 et que la réponse en dépendait, Drop aurait été le choix le plus sûr.
Pourquoi les décomptes sont des estimations
Chaque famille de modèles possède son propre tokenizer, de sorte qu'une même phrase peut représenter 20 jetons pour un modèle et 24 pour un autre. Les décomptes affichés avant l'entraînement sont donc des estimations (l'anglais compte en moyenne environ quatre caractères par jeton) ; le fournisseur effectue un décompte exact à la réception du fichier. Le code, les chiffres, les URL et les textes non anglophones nécessitent généralement plus de jetons par caractère que l'anglais standard. Prévoyez donc une marge si vos données en contiennent beaucoup.
Erreurs courantes
- Oublier que le prompt système est comptabilisé dans chaque enregistrement : un prompt de 600 jetons laisse 600 jetons de moins pour la conversation.
- Tronquer des conversations dont la réponse dépend d'un élément mentionné au début, puis se demander pourquoi le modèle invente des détails de compte.
- Supposer que l'estimation est exacte et atteindre la limite avec des données contenant beaucoup de code ou de chiffres.
- Ignorer le nombre d'enregistrements tronqués : s'il s'agit de la majorité, le jeu de données conviendrait peut-être mieux à un modèle ayant une limite plus élevée.
Références et lectures complémentaires
Les sources externes s'ouvrent dans un nouvel onglet.
- 01Lost in the Middle: How Language Models Use Long ContextsLiu et al., 2023 · arXiv · arxiv.orgLes modèles utilisent mieux les informations situées au début et à la fin des entrées longues que celles situées au milieu.
- 02Prepare data for fine-tuning your modelsAmazon Bedrock User Guide · docs.aws.amazon.comLimites réelles de jetons par exemple pour plusieurs modèles, côte à côte.
- 03Prepare supervised fine-tuning data for Gemini modelsGoogle Cloud documentation · docs.cloud.google.comExigences d'un autre fournisseur concernant les jeux de données, y compris les limites de taille.