Chaque appel que vous envoyez à un modèle inclut des valeurs de paramètres qui contrôlent la manière dont le modèle génère sa réponse. Le modèle peut générer différents résultats pour différentes valeurs de paramètre. Testez différentes valeurs de paramètre pour obtenir les meilleures valeurs pour la tâche. Les paramètres disponibles pour les différents modèles peuvent différer.
La configuration est maintenue pendant toute la durée de vie de l'instance de service et de modèle Vertex AI initialisée. Pour mettre à jour la configuration du modèle, l'instance du modèle doit être réinitialisée.
Plus loin sur cette page, vous découvrirez comment configurer les paramètres du modèle.
Description de chaque paramètre
Les paramètres les plus courants sont les suivants :
Pour en savoir plus sur chacun de ces paramètres, consultez les sections suivantes de cette page.
Nombre maximal de jetons de sortie
Nombre maximal de jetons pouvant être générés dans la réponse. Un jeton correspond environ à quatre caractères. 100 jetons correspondent à environ 20 mots.
Spécifiez une valeur inférieure pour les réponses plus courtes et une valeur plus élevée pour les réponses plus longues.
Température
La température est utilisée pour l'échantillonnage pendant la génération des réponses, qui se produit lorsque topP
et topK
sont appliqués. La température permet de contrôler le degré de hasard dans la sélection des jetons. Les températures inférieures sont idéales pour les requêtes qui nécessitent une réponse plus déterministe et moins ouverte ou créative, tandis que des températures plus élevées peuvent conduire à des résultats plus diversifiés ou créatifs. La température de 0
est déterministe, ce qui signifie que la réponse de probabilité la plus élevée est toujours sélectionnée.
Dans la plupart des cas, essayez de démarrer avec une température de 0.2
. Si le modèle renvoie une réponse trop générique ou trop courte, ou s'il renvoie une réponse de remplacement, essayez d'augmenter la température.
Top K
Top K modifie la façon dont le modèle sélectionne les jetons pour la sortie. Une valeur top-K de 1
signifie que le prochain jeton sélectionné est le plus probable parmi tous les jetons du vocabulaire du modèle (également appelé décodage glouton), tandis qu'une valeur top-K de 3
signifie que le jeton suivant est sélectionné parmi les trois jetons les plus probables en utilisant la température.
Pour chaque étape de sélection du jeton, les jetons top-K avec les probabilités les plus élevées sont échantillonnés. Les jetons sont ensuite filtrés en fonction du top-P avec le jeton final sélectionné à l'aide de l'échantillonnage de température.
Spécifiez une valeur inférieure pour les réponses moins aléatoires et une valeur plus élevée pour les réponses plus aléatoires. La valeur par défaut de top-K est 40
.
Top P
Top P modifie la façon dont le modèle sélectionne les jetons pour la sortie. Les jetons sont sélectionnés de la valeur la plus élevée (voir top-K) à la moins probable jusqu'à ce que la somme de leurs probabilités soit égale à la valeur top-P. Par exemple, si les jetons A, B et C ont une probabilité de 0,3, 0,2 et 0,1 et que la valeur de top-P est supérieure à 0.5
, le modèle sélectionne A ou B comme jeton suivant en utilisant la température et exclut C comme candidat.
Spécifiez une valeur inférieure pour les réponses moins aléatoires et une valeur plus élevée pour les réponses plus aléatoires. La valeur par défaut de top-P est 0.95
.
Configurer les paramètres du modèle
Vous configurez les paramètres du modèle dans generationConfig
lors de l'initialisation du modèle. Voici un exemple de base:
Kotlin
// ...
val config = generationConfig {
maxOutputTokens = 200
stopSequences = listOf("red")
temperature = 0.9f
topK = 16
topP = 0.1f
}
val generativeModel = Firebase.vertexAI.generativeModel(
modelName = "MODEL_NAME",
generationConfig = config
)
// ...
Java
// ...
GenerationConfig.Builder configBuilder = new GenerationConfig.Builder();
configBuilder.maxOutputTokens = 200;
configBuilder.stopSequences = List.of("red");
configBuilder.temperature = 0.9f;
configBuilder.topK = 16;
configBuilder.topP = 0.1f;
GenerationConfig generationConfig = configBuilder.build();
GenerativeModel gm = FirebaseVertexAI.getInstance().generativeModel(
"MODEL_NAME",
generationConfig
);
GenerativeModelFutures model = GenerativeModelFutures.from(gm);
// ...
Autres options pour contrôler la génération de contenu
- Découvrez la conception d'invites pour pouvoir influencer le modèle afin de générer des résultats spécifiques à vos besoins.
- Utilisez les paramètres de sécurité pour ajuster la probabilité de recevoir des réponses pouvant être considérées comme dangereuses, y compris les propos incitant à la haine et les contenus à caractère sexuel explicite.
- Définissez des instructions système pour orienter le comportement du modèle. Cette fonctionnalité est comme un "préambule" que vous ajoutez avant que le modèle ne soit exposé à d'autres instructions de l'utilisateur final.
- Transmettez un schéma de réponse avec l'invite pour spécifier un schéma de sortie spécifique. Cette fonctionnalité est généralement utilisée pour générer une sortie JSON, mais elle peut également être utilisée pour des tâches de classification (par exemple, lorsque vous souhaitez que le modèle utilise des libellés ou des balises spécifiques).