0 / 0

Paramètres d'optimisation des modèles de base

Dernière mise à jour : 26 juin 2025
Paramètres d'optimisation des modèles de base

Les paramètres de réglage configurent les expériences de réglage que vous utilisez pour régler un modèle de base.

Remarque : les paramètres que vous modifiez lors de l'ajustement d'un modèle de base s'appliquent à l'expérience d'ajustement, et non au modèle de base sous-jacent.

Paramètres de réglage rapide

L'accord des invites est obsolète et sera supprimé à l'avenir.

Le tableau suivant décrit les paramètres de réglage que vous pouvez personnaliser.

Références de la description des valeurs des paramètres de réglage
Nom du paramètre : Descriptif Options de valeur En savoir plus
Méthode d'initialisation Spécifie comment initialiser le vecteur d'invite. Aléatoire, Texte Initialisation de l'optimisation des invites
Texte d'initialisation Texte à utiliser en tant qu'invite pour la première exécution de l'expérience. Initialisation de l'optimisation des invites
Taille de lot Nombre d'exemples étiquetés à traiter en une seule fois. 1-16 Segmentation des données d'apprentissage
Étapes de cumul Nombre de lots à traiter avant de procéder à des ajustements. 1-128 Segmentation des données d'apprentissage
Taux d'apprentissage Détermine l'étendue du changement à apporter lors de l'ajustement du modèle. 0.00001–0.5 Gestion du taux d'apprentissage
Nombre d'époques (nombre de cycles de formation) Nombre de fois où les données d'apprentissage sont parcourues. 1-50 Choix du nombre de cycles de formation à suivre

Définition des valeurs des paramètres pour un réglage rapide

Les meilleures valeurs d'hyperparamètres à utiliser pour une expérience de réglage rapide varient en fonction de vos données et de votre cas d'utilisation.

Le tableau suivant présente les valeurs des paramètres à utiliser comme point de départ pour le réglage rapide d'un modèle de base tiers.

Réglage des valeurs des paramètres pour les modèles de fondations de tiers
Nom du paramètre : Valeur par défaut pour flan-t5-xl-3b
Méthode d'initialisation Aléatoire
Texte d'initialisation Aucun
Taille de lot 16
Étapes de cumul 16
Taux d'apprentissage 0.3
Nombre d'époques (nombre de cycles de formation) 20

Les paramètres par défaut utilisés pour l'ajustement rapide du modèle de base d' granite-13b-instruct-v2 s sont ajustés en fonction du type de tâche que vous souhaitez confier au modèle ajusté.

Le tableau suivant présente les valeurs des paramètres à utiliser comme point de départ pour chaque type de tâche pris en charge pour l'ajustement rapide du modèle de base d' granite-13b-instruct-v2.

Réglage des valeurs des paramètres pour le modèle de base de l' granite-13b-instruct-v2
Nom du paramètre : Valeur par défaut pour la classification Valeur par défaut pour la génération Valeur par défaut pour le récapitulatif
Taille de lot 8 16 8
Étapes de cumul 32 16 1
Taux d'apprentissage 0.0006 0.0002 0.0002
Nombre d'époques (nombre de cycles de formation) 20 20 40

Paramètres de réglage fin de l'adaptation de bas rang

Outre les paramètres de réglage communs, le tableau suivant décrit les paramètres de réglage qui sont associés au réglage fin de l'adaptation de bas rang ( LoRA ).

Valeur des paramètres pour l'adaptation de bas rang des modèles de fondation
Nom du paramètre : Remarques
Alpha de Cronbach Multiplicateur à appliquer aux changements de poids de l'adaptateur avant qu'ils ne soient ajoutés aux poids du modèle de base. Ce paramètre permet de contrôler l'impact des poids de l'adaptateur. La valeur alpha est divisée par la valeur du rang pour calculer le pourcentage de changement de poids à appliquer.
Dropout Pourcentage des poids de l'adaptateur à remettre aléatoirement à zéro pour éviter un surajustement aux données d'apprentissage.
Rang Nombre à utiliser dans les calculs qui sélectionnent le sous-ensemble de poids des paramètres du modèle à ajuster.
Modules cibles Spécifie les couches du modèle de fondation de base à cibler pour l'adaptation.

Pour plus d'informations sur ces paramètres, voir Configuration de l'adaptation des rangs inférieurs ( LoRA fine tuning only).

Réglage des valeurs des paramètres pour le réglage fin de LoRA

Les meilleures valeurs d'hyperparamètres à utiliser pour une expérience de réglage fin sur LoRA varient en fonction de vos données, du modèle de base que vous utilisez et du type de tâche que vous souhaitez confier au modèle.

Le tableau suivant indique des valeurs de départ utiles pour les paramètres. Vous pouvez ajuster les valeurs des paramètres au fur et à mesure que vous apprenez ce qui fonctionne le mieux grâce à l'expérimentation.

Valeurs des paramètres par défaut pour une expérience de réglage fin de l'adaptation de faible rang
Nom du paramètre : granite-3-1-8b-base llama-3-1-8b
Alpha de Cronbach 32 64
Étapes de cumul 1 1
Taille de lot 8 8
Dropout 0.05 0.05
Taux d'apprentissage 0.00001 0.00001
Nombre d'époques (nombre de cycles de formation) 10 5
Rang 8 32
Modules cibles ["all-linear"] ["q_proj", "v_proj"]

Pour plus d'informations sur ces paramètres, voir Configuration de l'adaptation des rangs inférieurs ( LoRA fine tuning only).

Description des paramètres

Segmentation des données d'entraînement

Lorsqu'une expérimentation est exécutée, elle fractionne d'abord les données d'entraînement en plus petits lots, puis s'entraîne sur un lot à la fois. Chaque lot doit tenir dans la mémoire GPU pour être traité. Pour réduire la quantité de mémoire GPU nécessaire, vous pouvez configurer l'expérimentation d'optimisation pour différer les ajustements jusqu'à ce que plusieurs lots soient traités. La mise au point s'exécute sur un lot et ses mesures de performance sont calculées, mais aucun ajustement n'est effectué immédiatement. Au lieu de cela, les informations de performance sont collectées sur un certain nombre de lots avant que les métriques de performance cumulées ne soient évaluées.

Utilisez les paramètres suivants pour contrôler la façon dont les données d'entraînement sont segmentées:

Taille de lot Nombre d'exemples libellés (également appelés échantillons) à traiter simultanément.

Par exemple, pour un jeu de données avec 1000 exemples et une taille de lot de 10, le jeu de données est divisé en 100 lots de 10 exemples chacun.

Si le jeu de données d'apprentissage est petit, indiquez une taille de lot plus petite pour vous assurer que chaque lot contient suffisamment d'exemples.

Etapes d'accumulation : Nombre de lots à traiter avant de procéder à des ajustements.

Par exemple, si l'ensemble de données est divisé en 100 lots et que vous fixez la valeur des étapes d'accumulation à 10, les ajustements sont effectués 10 fois au lieu de 100.

Choix du nombre de cycles de formation à suivre

Le paramètre Nombre d'époques spécifie le nombre de fois où l'ensemble de données d'apprentissage complet doit être parcouru.

Par exemple, avec une taille de lot de 10 et un ensemble de données de 1 000 exemples, une époque doit traiter 100 lots et effectuer des ajustements 100 fois. Si vous définissez le nombre d'époques sur 20, le modèle est transmis à l'ensemble de données 20 fois, ce qui signifie qu'il traite un total de 2 000 lots au cours du processus d'ajustement.

Plus le nombre d'époques est élevé et plus vos données d'apprentissage sont grandes, plus l'optimisation d'un modèle prend de temps. Si vous définissez un nombre d'époques trop faible, le modèle risque de ne pas apprendre correctement. Si vous fixez un nombre d'époques trop élevé, vous risquez de surajuster le modèle à l'ensemble de données. Le surajustement est un terme utilisé pour décrire le phénomène selon lequel un modèle est si étroitement adapté à ses données d'apprentissage qu'il ne peut pas généraliser et appliquer ce qu'il apprend lorsque de nouvelles données sont introduites.

Gestion du taux d'apprentissage

Le paramètre taux d'apprentissage détermine l'ampleur du changement à apporter lors de l'ajustement du modèle. Plus le chiffre est élevé, plus le changement est important. Régler le taux d'apprentissage à une valeur trop faible pourrait empêcher le modèle d'apprendre correctement à partir des nouvelles données présentées. Si le taux d'apprentissage est trop élevé, le modèle risque de ne pas apprendre suffisamment progressivement pour pouvoir appliquer ce qu'il apprend à de nouvelles données non observées.

Il est possible que vous souhaitiez définir ce paramètre de manière conservatrice, puis le modifier progressivement au fur et à mesure de vos expériences afin de trouver les meilleurs hyperparamètres pour l'ensemble de données et le modèle de base que vous personnalisez.

Définition de limites de jetons

Vous pouvez modifier le nombre de jetons autorisés dans l'entrée et la sortie du modèle pendant une expérience de réglage en définissant le paramètre max_seq_length. La longueur maximale de la séquence est le nombre maximal de jetons d'entrée plus les jetons de sortie autorisés pour chaque invite.

Plus le nombre de jetons d'entrée et de sortie autorisés est élevé, plus le réglage du modèle prend du temps. Définissez ce paramètre sur le plus petit nombre possible à utiliser tout en représentant correctement votre cas d'utilisation.

Créez des exemples d'entrée et de sortie dans vos données de formation qui sont conformes à la limite que vous prévoyez d'utiliser pour le réglage. Les exemples dont la longueur dépasse la longueur de séquence maximale spécifiée sont tronqués pendant l'expérience. Par exemple, si vous réglez ce paramètre sur 200 et que les données d'apprentissage ont une entrée d'exemple avec 1 000 jetons, seuls les 200 premiers jetons de l'entrée d'exemple sont utilisés.

Rappel : la longueur de la séquence inclut également les jetons de sortie pour chaque invite, ce qui signifie que le paramètre contrôle le nombre de jetons que le modèle est autorisé à générer en sortie pendant l'expérience de réglage.

Configuration de l'adaptation des rangs inférieurs ( LoRA fine tuning only)

Pour les expériences de réglage fin LoRA uniquement, vous pouvez ajuster les paramètres d'expérience de réglage suivants :

  • alpha: Détermine le multiplicateur à appliquer aux changements de poids de l'adaptateur lorsqu'ils sont ajoutés aux poids du modèle de base. La valeur alpha est divisée par la valeur du rang pour calculer le pourcentage de changement de poids à appliquer. Par exemple, si alpha est égal à 2 et que le rang est égal à 8, les poids de l'adaptateur sont réduits de 1/4 ou de 25 % avant d'être ajoutés aux poids du modèle. La valeur résultante détermine l'impact des poids ajoutés. Ce paramètre a une fonction similaire à celle du taux d'apprentissage, de sorte que vous pourriez vouloir ajuster seulement l'un ou l'autre paramètre au cours de l'expérimentation.

  • dropout: Remet à zéro de manière aléatoire les poids de certains paramètres de l'adaptateur LoRA. Spécifiez une valeur décimale pour indiquer le pourcentage de poids à réinitialiser, par exemple 0.1 pour 10 %. L'abandon permet d'éviter l'ajustement excessif, qui se produit lorsque le modèle apprend à répondre à l'ensemble de données d'apprentissage spécifique, mais ne peut pas généraliser son apprentissage pour répondre comme prévu à de nouvelles entrées.

  • rank: Rang à utiliser lors des calculs de décomposition de la matrice sur les matrices du modèle de base. Un nombre inférieur signifie un travail plus rapide car il y a moins de paramètres à ajuster dans l'adaptateur. Un nombre inférieur introduit également la possibilité d'une fidélité moindre aux poids des paramètres du modèle original. Utilisez un chiffre plus élevé si la tâche que vous voulez que le modèle de base apprenne est contraire ou complètement nouvelle par rapport aux tâches que le modèle de base peut déjà accomplir. La valeur maximale autorisée est de 64.

  • target_modules: Les couches du modèle de base sur lesquelles vous souhaitez ajouter des adaptateurs de rang inférieur lors de la mise au point. Options disponibles :

    • ["all-linear"]: Sélectionne toutes les couches linéaires et unidimensionnelles du réseau neuronal convolutif, à l'exception de la couche de sortie. Cette option fonctionne avec tous les modèles à décodeur seul.
    • [] (tableau vide) : Ajoute des adaptateurs aux valeurs par défaut spécifiées pour l'architecture du modèle.
    • ["$layer-name", "$layer-name"]: Liste un sous-ensemble de couches. Les noms des couches diffèrent selon l'architecture du modèle. Voir le tableau des couches du modèle d'architecture de la fondation.
  • type: Spécifiez l'une des options suivantes :

    • lora: Exécute une expérience de réglage fin de l'adaptation de bas rang. Ce type ne peut être appliqué qu'aux modèles de fondation non quantifiés et fonctionne mieux avec les modèles de fondation de base qui ne sont pas adaptés aux instructions.
    • qlora: Exécute une expérience de réglage fin de l'adaptation de la quantification à faible rang. Ce type ne peut être appliqué qu'aux modèles de fondation quantifiés.
    • none: Exécute une expérience complète de réglage fin. Aucun est la valeur par défaut.
Couches de modèle des architectures de modèle de base
Architecture du modèle de la fondation de base Couches Couches ciblées par défaut
lama [down_proj, up_proj, gate_proj, q_proj, k_proj, v_proj, o_proj] ["q_proj", "v_proj"]
Granite [down_proj, up_proj, gate_proj, q_proj, k_proj, v_proj, o_proj] ["q_proj", "v_proj"]

Initialisation de l'invite (accord de l'invite uniquement)

Lorsque vous créez une expérience de réglage de l'invite, vous pouvez choisir de spécifier votre propre texte comme vecteur d'invite initial ou de laisser l'expérience le générer pour vous. Ces nouveaux jetons démarrent le processus d'apprentissage soit dans des positions aléatoires, soit en fonction de l'incorporation d'un vocabulaire ou d'une instruction que vous spécifiez dans le texte. Des études montrent qu'à mesure que la taille du modèle sous-jacent dépasse les 10 milliards de paramètres, la méthode d'initialisation utilisée devient moins importante.

Le choix que vous faites lorsque vous créez l'expérimentation d'optimisation personnalise la façon dont l'invite est initialisée.

Méthode d'initialisation: choisissez une méthode parmi les options suivantes:

  • Texte: La méthode d'optimisation d'invite est utilisée lorsque vous spécifiez vous-même le texte d'initialisation de l'invite.
  • Aléatoire: la méthode d'optimisation d'invite permet à l'expérimentation d'ajouter des valeurs choisies de manière aléatoire à inclure dans l'invite.

Texte d'initialisation: texte à ajouter. Indiquez une description de tâche ou des instructions similaires à celles que vous utilisez pour l'invite zéro.

En savoir plus

Rubrique parent: Optimisation d'un modèle