Réglage fin de l'adaptation de rang faible
L'adaptation de bas rang ( LoRA ) adapte un modèle de base à une tâche en modifiant les poids d'un sous-ensemble représentatif des paramètres du modèle, appelés adaptateurs de bas rang, au lieu des poids du modèle de base pendant l'adaptation. Au moment de l'inférence, les poids des adaptateurs adaptés sont ajoutés aux poids du modèle de base pour générer une sortie adaptée à une tâche.
Comment fonctionne le réglage de l' LoRA
LoRA est une technique de réglage fin efficace en termes de paramètres (PEFT) qui ajoute un sous-ensemble de paramètres au modèle de base figé et met à jour ce sous-ensemble pendant l'expérience de réglage, sans modifier les paramètres du modèle de base. Lorsque le modèle de base ajusté est référencé, les nouveaux poids des paramètres du sous-ensemble sont ajoutés aux poids des paramètres du modèle de base afin de générer des résultats personnalisés pour une tâche.
La manière dont le sous-ensemble de paramètres est créé fait appel à certaines mathématiques. Rappelons que le réseau neuronal d'un modèle de fondation est composé de couches, chacune avec une matrice complexe de paramètres. Ces paramètres ont des valeurs de pondération qui sont définies lors de l'apprentissage initial du modèle de fondation. Le sous-ensemble de paramètres utilisés pour le réglage de LoRA est dérivé en appliquant la décomposition des rangs aux poids du modèle de base. Le rang d' une matrice indique le nombre de vecteurs de la matrice qui sont linéairement indépendants les uns des autres. La décomposition des rangs, également connue sous le nom de décomposition de la matrice, est une méthode mathématique qui utilise cette information sur les rangs pour représenter la matrice d'origine en deux matrices plus petites qui, une fois multipliées, forment une matrice de même taille que la matrice d'origine. Avec cette méthode, les deux matrices plus petites capturent ensemble les modèles et les relations clés de la matrice plus grande, mais avec moins de paramètres. Les matrices plus petites produites sont appelées matrices de faible rang ou adaptateurs de faible rang.
Au cours d'une expérience de réglage LoRA, les valeurs de pondération des paramètres du sous-ensemble (les adaptateurs de bas rang) sont ajustées. Comme les adaptateurs ont moins de paramètres, l'expérience de réglage est plus rapide et nécessite moins de ressources pour stocker et calculer les changements. Bien que les matrices d'adaptation manquent de certaines informations des matrices du modèle de base, la méthode de réglage LoRA est efficace car LoRA exploite le fait que les grands modèles de fondations utilisent généralement beaucoup plus de paramètres que nécessaire pour une tâche.
Le résultat d'une expérience de réglage fin LoRA est un ensemble d'adaptateurs contenant de nouveaux poids. Lorsque ces adaptateurs accordés sont multipliés, ils forment une matrice de la même taille que la matrice du modèle de base. Au moment de l'inférence, les nouveaux poids issus du produit des adaptateurs sont ajoutés directement aux poids du modèle de base pour générer la sortie affinée.
Vous pouvez configurer les paramètres de l'expérience de réglage LoRA, tels que les couches du modèle de base à cibler et le rang à utiliser lors de la décomposition des matrices du modèle de base. Pour plus de détails, voir Paramètres de réglage des modèles de fondation.
Lorsque vous déployez la ressource adaptateur, vous devez la déployer dans un espace de déploiement où le modèle de base est également déployé. Vous pouvez utiliser la méthode de réglage fin LoRA dans watsonx.ai pour régler uniquement les modèles de fondation non quantifiés.
Les avantages de l'utilisation de la technique de réglage fin LoRA sont les suivants :
- Les adaptateurs plus petits, pouvant être entraînés, utilisés par la technique LoRA nécessitent moins de ressources de stockage et de calcul lors de la mise au point.
- Les ajustements des adaptateurs sont appliqués au moment de l'inférence sans avoir d'impact sur la longueur de la fenêtre contextuelle ou sur la vitesse des réponses du modèle.
- Vous pouvez déployer un modèle de base et l'utiliser avec différents adaptateurs pour personnaliser les résultats en fonction des différentes tâches.
LoRA ajustement du flux de travail
Au cours de l'expérience d'ajustement fin de l' LoRA, les poids des paramètres d'un sous-ensemble représentatif des paramètres du modèle, appelés adaptateurs de rang faible, sont ajustés à plusieurs reprises afin que les prédictions du modèle de base ajusté s'améliorent au fil du temps.
Le diagramme suivant illustre les étapes d'une expérience de mise au point sur le site LoRA.
Les parties du déroulement de l'expérience que vous pouvez configurer sont mises en évidence par une icône utilisateur . Ces points de décision correspondent aux paramètres de réglage de l'expérience que vous contrôlez. Voir Paramètres de réglage des modèles de fondation.
Le diagramme montre les étapes suivantes de l'expérience :
L'expérience lit les données d'apprentissage, les symbolise et les convertit en lots.
La taille des lots est déterminée par le paramètre " taille du lot".
Des adaptateurs de faible rang, qui constituent un sous-ensemble représentatif des paramètres du modèle de base, sont élaborés. Les poids initiaux des adaptateurs de rang faible sont appliqués aux couches du modèle que vous spécifiez dans le paramètre target_modules et sont calculés en fonction de la valeur que vous spécifiez pour le paramètre rank.
Envoie les données d'entrée des exemples du lot aux adaptateurs LoRA, puis au modèle de base pour les traiter et générer des données de sortie.
Compare la sortie du modèle à la sortie des données d'apprentissage correspondant aux données d'apprentissage soumises. Il calcule ensuite le gradient de perte, qui est la différence entre la sortie prédite et la sortie réelle à partir des données d'apprentissage.
L'expérience ajuste les poids des paramètres de l'adaptateur LoRA en fonction de la perte calculée du modèle. Le moment où cet ajustement se produit dépend de la façon dont le paramètre " Accumulation steps" (étapes d'accumulation) est configuré.
Les ajustements sont appliqués aux poids des paramètres des adaptateurs LoRA. Le degré de modification des poids est contrôlé par une combinaison des valeurs des paramètres de taux d'apprentissage, d' alpha et d' abandon.
L'entrée de l'exemple suivant dans les données d'apprentissage est soumise à l'adaptateur LoRA en tant qu'entrée. L'adaptateur applique les dernières modifications de poids et les ajoute aux poids du modèle de fondation de base pour les adapter à la tâche.
Le processus se répète jusqu'à ce que tous les exemples de tous les lots soient traités.
L'ensemble des lots est traité autant de fois que spécifié dans le paramètre Nombre d'époques.