Les modèles Gemma adaptés aux instructions (IT) sont entraînés avec un formateur spécifique qui annoté tous les exemples d'ajustement des instructions avec des informations supplémentaires, à la fois au moment de l'entraînement et de l'inférence. Le formateur a deux fonctionnalités:
Indique les rôles dans une conversation, tels que les rôles système, utilisateur ou assistant.
Délimiter les tours de conversation, en particulier dans une conversation multitours
Vous trouverez ci-dessous les jetons de contrôle utilisés par Gemma et leurs cas d'utilisation. Notez que les jetons de contrôle sont réservés et spécifiques à notre tokenizer.
Jeton pour indiquer un tour de l'utilisateur: user
Jeton pour indiquer un changement de modèle: model
Jeton indiquant le début d'un tour de parole: <start_of_turn>
Jeton pour indiquer la fin du tour de parole: <end_of_turn>
Voici un exemple de dialogue:
<start_of_turn>user
knock knock<end_of_turn>
<start_of_turn>model
who is there<end_of_turn>
<start_of_turn>user
Gemma<end_of_turn>
<start_of_turn>model
Gemma who?<end_of_turn>
Le jeton "<end_of_turn>\n" est le séparateur de virage, et le préfixe de l'invite est "<start_of_turn>model\n". Cela signifie que si vous souhaitez demander au modèle une question comme "Qu'est-ce que la règle de Cramer ?", vous devez plutôt lui fournir les données suivantes:
"<start_of_turn>user
What is Cramer's Rule?<end_of_turn>
<start_of_turn>model"
Notez que si vous souhaitez affiner les modèles Gemma pré-entraînés avec vos propres données, vous pouvez utiliser n'importe quel schéma de ce type pour les jetons de contrôle, à condition qu'il soit cohérent entre vos cas d'utilisation d'entraînement et d'inférence.
Instructions système
Les modèles adaptés aux instructions de Gemma ne sont conçus pour fonctionner qu'avec deux rôles : user et model. Par conséquent, le rôle system ou un changement de système n'est pas pris en charge.
Au lieu d'utiliser un rôle système distinct, fournissez des instructions au niveau du système directement dans l'invite utilisateur initiale. Les fonctionnalités de suivi des instructions du modèle permettent à Gemma d'interpréter les instructions efficacement. Exemple :
<start_of_turn>user
Only reply like a pirate.
What is the answer to life the universe and everything?<end_of_turn>
<start_of_turn>model
Arrr, 'tis 42,<end_of_turn>
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/03/21 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/03/21 (UTC)."],[],[],null,["# Gemma formatting and system instructions\n\nGemma instruction-tuned (IT) models are trained with a specific *formatter* that\nannotates all instruction tuning examples with extra information, both at\ntraining and inference time. The formatter has two purposes:\n\n1. Indicating roles in a conversation, such as the *system* , *user* , or *assistant* roles.\n2. Delineating turns in a conversation, especially in a multi-turn conversation.\n\nBelow, we specify the control tokens used by Gemma and their use cases. Note\nthat the control tokens are reserved in and specific to our tokenizer.\n\n- Token to indicate a user turn: `user`\n- Token to indicate a model turn: `model`\n- Token to indicate the beginning of dialogue turn: `\u003cstart_of_turn\u003e`\n- Token to indicate the end of dialogue turn: `\u003cend_of_turn\u003e`\n\nHere's an example dialogue: \n\n \u003cstart_of_turn\u003euser\n knock knock\u003cend_of_turn\u003e\n \u003cstart_of_turn\u003emodel\n who is there\u003cend_of_turn\u003e\n \u003cstart_of_turn\u003euser\n Gemma\u003cend_of_turn\u003e\n \u003cstart_of_turn\u003emodel\n Gemma who?\u003cend_of_turn\u003e\n\nThe token `\"\u003cend_of_turn\u003e\\n\"` is the turn separator, and the prompt prefix is\n`\"\u003cstart_of_turn\u003emodel\\n\"`. This means that if you'd like to prompt the model\nwith a question like, \"What is Cramer's Rule?\", you should instead feed the\nmodel as follows: \n\n \"\u003cstart_of_turn\u003euser\n What is Cramer's Rule?\u003cend_of_turn\u003e\n \u003cstart_of_turn\u003emodel\"\n\nNote that if you want to finetune the pretrained Gemma models with your own\ndata, you can use any such schema for control tokens, as long as it's consistent\nbetween your training and inference use cases.\n\nSystem instructions\n-------------------\n\nGemma's instruction-tuned models are designed to work with only two roles:\n`user` and `model`. Therefore, the `system` role or a system turn is not\nsupported.\n\nInstead of using a separate system role, provide system-level instructions\ndirectly within the initial user prompt. The model instruction following\ncapabilities allow Gemma to interpret the instructions effectively. For example: \n\n \u003cstart_of_turn\u003euser\n Only reply like a pirate.\n\n What is the answer to life the universe and everything?\u003cend_of_turn\u003e\n \u003cstart_of_turn\u003emodel\n Arrr, 'tis 42,\u003cend_of_turn\u003e"]]