Prompt engineering
Comprendre le fine-tuning des LLM : adapter les grands modèles de langage à vos besoins uniques

Alors que nous sommes en septembre 2023, le paysage des grands modèles de langage (LLM) continue d’évoluer avec l’émergence de modèles tels qu’Alpaca, Falcon, Llama 2, GPT-4, et bien d’autres.
Un aspect important de l’exploitation du potentiel de ces LLM réside dans le processus de fine-tuning, une stratégie qui permet de personnaliser les modèles pré-entraînés pour répondre à des tâches spécifiques avec précision. C’est grâce à ce fine-tuning que ces modèles peuvent vraiment s’aligner sur des exigences individualisées, offrant des solutions innovantes et adaptées à des besoins uniques.
Cependant, il est essentiel de noter que toutes les voies de fine-tuning ne sont pas créées égales. Par exemple, accéder aux capacités de fine-tuning du GPT-4 nécessite un abonnement payant, relativement plus coûteux que les autres options disponibles sur le marché. En revanche, le domaine open-source regorge d’alternatives qui offrent un accès plus accessible à l’harnais du pouvoir des grands modèles de langage. Ces options open-source démocratisent l’accès à la technologie AI avancée, favorisant l’innovation et l’inclusivité dans le paysage AI en constante évolution.
Pourquoi le fine-tuning des LLM est-il important ?
Le fine-tuning des LLM est plus qu’un simple ajustement technique ; c’est un aspect crucial du développement des modèles LLM qui permet une application plus spécifique et raffinée dans diverses tâches. Le fine-tuning ajuste les modèles pré-entraînés pour mieux correspondre à des ensembles de données spécifiques, améliorant ainsi leur performance dans des tâches particulières et assurant une application plus ciblée. Il démontre la remarquable capacité des LLM à s’adapter à de nouvelles données, flexibilité essentielle dans l’intérêt croissant pour les applications AI.
Le fine-tuning des grands modèles de langage ouvre de nombreuses opportunités, permettant à ces modèles d’exceller dans des tâches spécifiques allant de l’analyse de sentiments à la revue de la littérature médicale. En ajustant le modèle de base à un cas d’utilisation spécifique, nous débloquons de nouvelles possibilités, améliorant ainsi l’efficacité et la précision du modèle. De plus, cela facilite une utilisation plus économique des ressources système, car le fine-tuning nécessite moins de puissance de calcul que la formation d’un modèle à partir de zéro.
Alors que nous plongeons plus profondément dans ce guide, nous allons discuter des complexités du fine-tuning des LLM, vous offrant une vue d’ensemble complète basée sur les dernières avancées et les meilleures pratiques dans le domaine.
Fine-tuning basé sur les instructions
La phase de fine-tuning dans le cycle de vie de l’IA générative, illustrée dans la figure ci-dessous, est caractérisée par l’intégration d’entrées et de sorties d’instructions, ainsi que d’exemples de raisonnement étape par étape. Cette approche permet au modèle de générer des réponses non seulement pertinentes mais également précisément alignées sur les instructions spécifiques fournies. C’est pendant cette phase que les modèles pré-entraînés sont adaptés pour résoudre des tâches et des cas d’utilisation distincts, en utilisant des ensembles de données personnalisés pour améliorer leur fonctionnalité.
Fine-tuning pour une tâche unique
Le fine-tuning pour une tâche unique se concentre sur l’expertise du modèle dans une tâche spécifique, telle que la synthèse. Cette approche est particulièrement bénéfique pour optimiser les flux de travail impliquant des documents ou des fils de conversation importants, y compris des documents juridiques et des tickets de support client. Remarquablement, ce fine-tuning peut atteindre des améliorations de performance significatives avec un ensemble relativement petit d’exemples, allant de 500 à 1000, ce qui contraste avec les milliards de jetons utilisés dans la phase de pré-entraînement.
Fondements du fine-tuning des LLM : Architecture de transformateur et au-delà
Le voyage de compréhension du fine-tuning des LLM commence avec une compréhension des éléments fondamentaux qui constituent les LLM. Au cœur de ces modèles se trouve l’architecture de transformateur, un réseau neuronal qui utilise des mécanismes d’auto-attention pour donner la priorité au contexte des mots par rapport à leur proximité dans une phrase. Cette approche innovante permet une compréhension plus profonde des relations distantes entre les jetons dans l’entrée.
Lorsque nous naviguons dans les complexités des transformateurs, nous rencontrons un processus en plusieurs étapes qui commence par l’encodeur. Cette phase initiale implique la tokenisation de l’entrée et la création de vecteurs d’incorporation qui représentent l’entrée et sa position dans la phrase. Les étapes suivantes impliquent une série de calculs à l’aide de matrices appelées Requête, Valeur et Clé, aboutissant à un score d’auto-attention qui dicte la focalisation sur différentes parties de la phrase et divers jetons.
Le fine-tuning constitue une phase critique dans le développement des LLM, un processus qui consiste à apporter des ajustements subtils pour obtenir des sorties plus désirables. Cette phase, bien qu’essentielle, présente un ensemble de défis, notamment les exigences computationnelles et de stockage liées à la gestion d’un grand nombre de paramètres. La fine-tuning efficace des paramètres (PEFT) offre des techniques pour réduire le nombre de paramètres à affiner, simplifiant ainsi le processus d’entraînement.
Pré-entraînement des LLM : établir une base solide
Dans les premières étapes du développement des LLM, le pré-entraînement prend le devant de la scène, en utilisant des transformateurs surparamétrés comme architecture de base. Ce processus implique la modélisation du langage naturel de diverses manières, telles que bidirectionnelle, autoregressive ou séquence à séquence, sur de grandes corpus non supervisés. L’objectif ici est de créer une base qui peut être affinée plus tard pour des tâches en aval spécifiques grâce à l’introduction d’objectifs spécifiques à la tâche.
Une tendance notable dans ce domaine est l’augmentation inévitable de l’échelle des LLM pré-entraînés, mesurée par le nombre de paramètres. Les données empiriques montrent constamment que les modèles plus grands, associés à plus de données, donnent presque toujours de meilleures performances. Par exemple, le GPT-3, avec ses 175 milliards de paramètres, a établi un benchmark dans la génération de langage naturel de haute qualité et la réalisation d’une large gamme de tâches zero-shot de manière compétente.
Fine-tuning : le chemin de l’adaptation du modèle
Après le pré-entraînement, le LLM subit un fine-tuning pour s’adapter à des tâches spécifiques. Malgré les performances prometteuses de l’apprentissage en contexte dans les LLM pré-entraînés tels que le GPT-3, le fine-tuning reste supérieur dans les paramètres de tâche spécifiques. Cependant, l’approche courante de fine-tuning de tous les paramètres présente des défis, notamment des exigences computationnelles et de mémoire élevées, en particulier lorsqu’il s’agit de modèles à grande échelle.
Pour les grands modèles de langage dotés de plus d’un milliard de paramètres, la gestion efficace de la mémoire RAM de la GPU est cruciale. Un seul paramètre de modèle à précision 32 bits complet nécessite 4 octets d’espace, ce qui se traduit par une exigence de 4 Go de mémoire RAM de la GPU pour charger un modèle de 1 milliard de paramètres. Le processus d’entraînement réel nécessite encore plus de mémoire pour accueillir divers composants, notamment les états de l’optimiseur et les gradients, pouvant nécessiter jusqu’à 80 Go de mémoire RAM de la GPU pour un modèle de cette ampleur.
Pour naviguer dans les limites de la mémoire RAM de la GPU, la quantification est utilisée, une technique qui réduit la précision des paramètres du modèle, réduisant ainsi les exigences de mémoire. Par exemple, modifier la précision de 32 bits à 16 bits peut réduire de moitié la mémoire nécessaire au chargement et à l’entraînement du modèle. Plus tard dans cet article, nous allons apprendre à propos de QLoRA, qui utilise le concept de quantification pour le réglage.

Exigence de mémoire RAM de la GPU pour les LLM en fonction du nombre de paramètres et de la précision
Explorer les catégories de méthodes PEFT
Lors du fine-tuning complet des grands modèles de langage, il est important d’avoir une configuration computationnelle qui peut gérer efficacement non seulement les poids de modèle importants, qui pour les modèles les plus avancés atteignent désormais des tailles de plusieurs centaines de gigaoctets, mais également gérer une série d’autres éléments critiques. Ces éléments incluent l’allocation de mémoire pour les états de l’optimiseur, la gestion des gradients, les activations avant, et la facilitation de la mémoire temporaire pendant diverses phases du processus d’entraînement.
Méthode additive
Ce type de réglage peut augmenter le modèle pré-entraîné avec des paramètres ou des couches supplémentaires, en se concentrant sur l’entraînement des nouveaux paramètres ajoutés. Malgré l’augmentation du nombre de paramètres, ces méthodes améliorent l’efficacité du temps et de l’espace d’entraînement. La méthode additive est divisée en sous-catégories :
- Adapteurs : incorporation de réseaux entièrement connectés de petite taille après les sous-couches de transformateur, avec des exemples notables tels qu’AdaMix, KronA, et Compactor.
- Prompts doux : réglage d’une partie des embeddings d’entrée du modèle par descente de gradient, avec IPT, prefix-tuning, et WARP étant des exemples éminents.
- Autres approches additives : incluent des techniques telles que LeTS, AttentionFusion et Ladder-Side Tuning.
Méthode sélective
Les PEFT sélectifs affinent un nombre limité de couches supérieures en fonction du type de couche et de la structure interne du modèle. Cette catégorie inclut des méthodes telles que BitFit et LN tuning, qui se concentrent sur le réglage d’éléments spécifiques tels que les biais du modèle ou des lignes particulières.
Méthode basée sur la reparamétrisation
Ces méthodes utilisent des représentations de faible rang pour réduire le nombre de paramètres entraînables, la plus renommée étant l’adaptation de faible rang ou LoRA. Cette méthode utilise une simple décomposition matricielle de faible rang pour paramétrer la mise à jour des poids, démontrant un réglage efficace dans les sous-espaces de faible rang.
1) LoRA (Adaptation de faible rang)
LoRA est apparu comme une technique PEFT innovante, introduite dans un article par Edward J. Hu et d’autres en 2021. Il opère dans la catégorie de la reparamétrisation, en gelant les poids d’origine du LLM et en intégrant de nouvelles matrices de faible rang entraînables dans chaque couche de l’architecture de transformateur. Cette approche ne réduit pas seulement le nombre de paramètres entraînables mais diminue également le temps d’entraînement et les ressources computationnelles nécessaires, présentant ainsi une alternative plus efficace au fine-tuning complet.
Pour comprendre les mécanismes de LoRA, il faut revenir sur l’architecture de transformateur où la invite d’entrée subit une tokenisation et une conversion en vecteurs d’incorporation. Ces vecteurs traversent l’encodeur et/ou le décodeur du transformateur, rencontrant des réseaux d’auto-attention et de feed-forward dont les poids sont pré-entraînés.
LoRA utilise le concept de décomposition en valeur singulière (SVD). Essentiellement, la SVD divise une matrice en trois matrices distinctes, dont l’une est une matrice diagonale contenant les valeurs singulières. Ces valeurs singulières sont cruciales car elles mesurent l’importance des différentes dimensions dans les matrices, les valeurs plus grandes indiquant une importance plus élevée et les plus petites une moindre signification.
Cette approche permet à LoRA de conserver les caractéristiques essentielles des données tout en réduisant la dimensionalité, optimisant ainsi le processus de fine-tuning.
LoRA intervient dans ce processus, en gelant tous les paramètres de modèle d’origine et en introduisant une paire de « matrices de décomposition de rang » aux côtés des poids d’origine. Ces matrices plus petites, notées A et B, subissent un entraînement par apprentissage supervisé.
L’élément crucial dans cette stratégie est le paramètre appelé rang (‘r’), qui dicte la taille des matrices de faible rang. Un choix soigneux de ‘r’ peut donner des résultats impressionnants, même avec une valeur plus petite, créant ainsi une matrice de faible rang avec moins de paramètres à entraîner. Cette stratégie a été mise en œuvre avec efficacité à l’aide de bibliothèques open-source telles que HuggingFace Transformers, facilitant le fine-tuning LoRA pour diverses tâches avec une remarquable efficacité.
2) QLoRA : améliorer l’efficacité de LoRA
En s’appuyant sur les fondements posés par LoRA, QLoRA réduit encore les exigences de mémoire. Introduit par Tim Dettmers et d’autres en 2023, il combine l’adaptation de faible rang avec la quantification, en utilisant un format de quantification 4 bits appelé NormalFloat ou nf4. La quantification est essentiellement un processus qui passe des données d’une représentation informationnelle élevée à une représentation avec moins d’informations. Cette approche maintient l’efficacité des méthodes de fine-tuning 16 bits, en déquantifiant les poids 4 bits en 16 bits au besoin pendant les processus de calcul.

Comparaison des méthodes de fine-tuning : QLoRA améliore LoRA avec une quantification de précision 4 bits et des optimiseurs paginés pour la gestion des pics de mémoire
QLoRA exploite NumericFloat4 (nf4), ciblant chaque couche de l’architecture de transformateur, et introduit le concept de double quantification pour réduire encore l’empreinte mémoire requise pour le fine-tuning. Cela est réalisé en effectuant une quantification sur les constantes déjà quantifiées, une stratégie qui évite les pics de mémoire typiques de la sauvegarde des gradients grâce à l’utilisation d’optimiseurs paginés et d’une gestion unifiée de la mémoire.
Guanaco, qui est un ensemble réglé QLoRA, établit un benchmark dans les solutions de chatbot open-source. Ses performances, validées par des évaluations systématiques humaines et automatisées, soulignent sa dominance et son efficacité dans le domaine.
Les versions 65B et 33B de Guanaco, réglées en utilisant une version modifiée du jeu de données OASST1, émergent comme des concurrents formidables aux modèles renommés tels que ChatGPT et même GPT-4.
Fine-tuning en utilisant l’apprentissage par renforcement à partir de la rétroaction humaine
L’apprentissage par renforcement à partir de la rétroaction humaine (RLHF) entre en jeu lors du fine-tuning de modèles de langage pré-entraînés pour les aligner plus étroitement sur les valeurs humaines. Ce concept a été introduit par Open AI en 2017, jetant les bases d’une amélioration de la synthèse de documents et du développement de InstructGPT.
Au cœur de RLHF se trouve le paradigme d’apprentissage par renforcement, un type de technique d’apprentissage automatique où un agent apprend à se comporter dans un environnement en effectuant des actions et en recevant des récompenses. C’est une boucle continue d’action et de feedback, où l’agent est incité à faire des choix qui lui rapporteront la récompense la plus élevée.
En traduisant cela dans le domaine des modèles de langage, l’agent est le modèle lui-même, opérant dans l’environnement d’une fenêtre de contexte donnée et prenant des décisions basées sur l’état, qui est défini par les jetons actuels dans la fenêtre de contexte. L’espace d’action englobe tous les jetons potentiels que le modèle peut choisir, l’objectif étant de sélectionner le jeton qui correspond le plus étroitement aux préférences humaines.
Le processus RLHF utilise intensivement la rétroaction humaine, en l’utilisant pour entraîner un modèle de récompense. Ce modèle joue un rôle crucial dans la direction du modèle pré-entraîné pendant le processus de fine-tuning, encourageant ainsi le modèle à générer des sorties qui sont plus alignées sur les valeurs humaines. C’est un processus dynamique et itératif, où le modèle apprend à travers une série de « déploiements », un terme utilisé pour décrire la séquence d’états et d’actions menant à une récompense dans le contexte de la génération de langage.
L’une des potentialités remarquables de RLHF est sa capacité à favoriser la personnalisation dans les assistants AI, les adaptant pour qu’ils résonnent avec les préférences individuelles des utilisateurs, qu’il s’agisse de leur sens de l’humour ou de leurs routines quotidiennes. Cela ouvre des voies pour créer des systèmes AI qui ne sont pas seulement techniquement compétents mais également intelligents sur le plan émotionnel, capables de comprendre et de répondre aux nuances de la communication humaine.
Cependant, il est essentiel de noter que RLHF n’est pas une solution infaillible. Les modèles sont toujours susceptibles de générer des sorties indésirables, reflétant les données vastes et souvent non réglementées et biaisées sur lesquelles ils sont formés.
Conclusion
Le processus de fine-tuning, une étape critique dans l’exploitation du plein potentiel des LLM tels qu’Alpaca, Falcon et GPT-4, est devenu plus raffiné et ciblé, offrant des solutions adaptées à une large gamme de tâches.
Nous avons vu le fine-tuning pour une tâche unique, qui spécialise les modèles dans des rôles particuliers, et les méthodes de fine-tuning efficace des paramètres (PEFT) incluant LoRA et QLoRA, qui visent à rendre le processus d’entraînement plus efficace et rentable. Ces développements ouvrent les portes à des fonctionnalités AI de haut niveau pour un public plus large.
De plus, l’introduction de l’apprentissage par renforcement à partir de la rétroaction humaine (RLHF) par Open AI est un pas vers la création de systèmes AI qui comprennent et s’alignent plus étroitement sur les valeurs et les préférences humaines, jetant les bases pour des assistants AI qui ne sont pas seulement intelligents mais également sensibles aux besoins individuels des utilisateurs. RLHF et PEFT travaillent en synergie pour améliorer la fonctionnalité et l’efficacité des grands modèles de langage.
Alors que les entreprises, les entreprises et les individus cherchent à intégrer ces LLM affinés dans leurs opérations, ils accueillent essentiellement un avenir où l’IA est plus qu’un outil ; c’est un partenaire qui comprend et s’adapte au contexte humain, offrant des solutions innovantes et personnalisées.






















