Un job d'affinage par apprentissage par renforcement pour les modèles Gemini est configuré avec trois principaux blocs de construction : un ensemble de données d'affinage, des hyperparamètres qui contrôlent le processus d'entraînement et une ou plusieurs fonctions de récompense qui évaluent chaque réponse du modèle. Le service expose également des métriques et l'état des jobs pour la surveillance.
Pour obtenir un exemple de bout en bout de création d'un job d'ajustement, de récupération du modèle ajusté et d'exécution de l'inférence, consultez le guide de démarrage rapide de la consoleCloud de Confiance ou le guide de démarrage rapide de l'API.
Préparer l'ensemble de données de réglage
Un job d'affinage par apprentissage par renforcement est basé sur un ensemble de données d'entraînement et un ensemble de données de validation facultatif. Chaque ensemble de données est un fichier JSONL stocké dans Cloud Storage. Chaque ligne est un exemple de réglage unique qui contient un systemInstruction, un contents (le prompt auquel le modèle répond pendant le réglage) et une carte references qui contient toutes les métadonnées dont votre fonction de récompense a besoin pour évaluer la réponse du modèle (par exemple, une réponse de référence, une grille d'évaluation ou une entrée de test unitaire).
L'affinage par apprentissage par renforcement est compatible avec les requêtes multimodales (texte, image, audio et vidéo), sous réserve de limites par fichier et par requête.
Pour connaître le schéma complet de l'ensemble de données, les limites spécifiques aux modalités et un exemple de la façon de renseigner references pour le calcul des récompenses, consultez la page Ensemble de données de réglage.
Configurer les hyperparamètres
Les hyperparamètres contrôlent la façon dont le modèle est mis à jour lors de l'affinage par apprentissage par renforcement, y compris le niveau de réflexion utilisé lors de la génération, la taille du lot, le nombre d'échantillons par requête, le multiplicateur du taux d'apprentissage, le nombre d'époques, les intervalles d'évaluation et de point de contrôle, la longueur maximale de la sortie et la taille de l'adaptateur LoRA. Les valeurs par défaut conviennent à la plupart des charges de travail, mais vous pouvez les remplacer lorsque vous créez un job de réglage.
Pour connaître les valeurs par défaut, les plages autorisées, les règles dépendant de la taille de l'ensemble de données et les combinaisons recommandées, consultez la page Hyperparamètres.
Définir des fonctions de récompense
Une fonction de récompense attribue un score numérique à chaque réponse du modèle lors de l'ajustement. Le signal de récompense est ce par rapport à quoi l'apprentissage par renforcement est optimisé. Sa qualité détermine donc directement la qualité du réglage. Toutes les récompenses sont limitées à la plage [-1, 1].
Le réglage fin par apprentissage par renforcement est compatible avec les types de récompenses suivants :
- Récompense de correspondance de chaîne : compare la réponse du modèle (ou une sous-chaîne analysée de celle-ci) à une valeur de vérité terrain fournie dans
references. - Récompense de l'évaluateur automatique basée sur Gemini : utilise un LLM-as-a-Judge pour évaluer chaque réponse, éventuellement avec l'analyse des réponses.
- Récompense Cloud Run : appelle un service Cloud Run géré par l'utilisateur qui renvoie une récompense scalaire pour une logique de score entièrement personnalisable.
- Récompense composite : combine l'un des types de récompenses ci-dessus avec des pondérations par scoreur.
Avant de lancer un job d'optimisation, nous vous recommandons vivement de valider votre configuration de récompense dans la console Cloud de Confiance ou avec la méthode d'API ValidateReinforcementTuningReward.
Pour obtenir des schémas de configuration détaillés, des exemples de code, la configuration IAM et les bonnes pratiques de conception des récompenses, consultez la page Fonctions de récompense.
Surveiller l'état et les métriques des jobs
Une fois une tâche de réglage lancée, vous pouvez suivre son état de cycle de vie (par exemple, JOB_STATE_PENDING, JOB_STATE_RUNNING, JOB_STATE_SUCCEEDED, JOB_STATE_FAILED, JOB_STATE_CANCELLING, JOB_STATE_CANCELLED) et inspecter la progression du réglage de deux manières :
- De manière programmatique : envoyez une requête
GetTuningJobpour récupérer l'état de la tâche (tunedModel), les détails de l'erreur et les métadonnées. Pour obtenir un exemple de commandecurl, consultez le guide de démarrage rapide de l'API. - Visuellement : ouvrez la page de surveillance du job dans la console Cloud de Confiance sous Modèles > Réglage. Vous y trouverez l'expérience de réglage sous-jacente avec des graphiques pour les métriques d'entraînement et d'évaluation émises à chaque étape (récompense, longueur de génération, latence de récompense, répartition des récompenses pour les récompenses composites, etc.).
Le réglage précis de l'apprentissage par renforcement produit également des points de contrôle intermédiaires à la fréquence définie par checkpointInterval, que vous pouvez déployer et évaluer indépendamment avant la fin du job.
Pour obtenir la liste complète des métriques émises, des métriques par type de récompense, savoir comment les interpréter et comment accéder aux points de contrôle, consultez la page Métriques et surveillance.