Cours
L’apprentissage par transfert est une technique qui permet aux modèles d’exploiter les connaissances acquises sur une première tâche pour mieux généraliser sur une autre. Ce concept est au cœur de modèles comme ChatGPT ou Google Gemini, et soutient de nombreuses tâches utiles au quotidien, comme résumer de longs documents, rédiger des essais complexes, organiser des voyages, ou même écrire des poèmes et des chansons.
Dans ce guide, nous allons approfondir l’apprentissage par transfert : sa définition, sa pertinence pour l’apprentissage profond et les modèles génératifs modernes, ainsi que ses défis et ses limites. Nous vous proposerons également des ressources pour aller plus loin. Prêt à commencer ? Allons-y.
Qu’est-ce que l’apprentissage par transfert en IA ?
L’apprentissage par transfert consiste à réutiliser un modèle développé pour une tâche donnée comme point de départ pour un modèle dédié à une seconde tâche. Autrement dit, vous réappliquez des composants d’un modèle d’apprentissage automatique pré-entraîné à de nouveaux modèles destinés à un usage différent mais connexe.
Le concept est comparable à la façon dont les humains acquièrent de nouvelles compétences. Exemple : vous jouez très bien de la guitare et décidez d’apprendre le ukulélé. Votre expérience préalable accélérera votre apprentissage, car nombre de compétences requises pour la guitare — positions des doigts, rythmiques, compréhension du manche, théorie musicale et sens du rythme — s’appliquent aussi au ukulélé.
En IA, l’apprentissage par transfert permet de tirer parti d’entraînements antérieurs pour résoudre de nouveaux problèmes apparentés plus efficacement, en réduisant le temps et les ressources de calcul nécessaires.
Pourquoi utilise-t-on l’apprentissage par transfert ?
Plusieurs raisons solides justifient l’adoption de ces techniques lors du développement de réseaux de neurones, notamment :
- Efficacité d’entraînement : il réduit le temps d’apprentissage en évitant de repartir de zéro et permet d’affiner les modèles avec de plus petits jeux de données.
- Performance du modèle : il améliore les performances en capitalisant sur des connaissances pré-entraînées, en limitant le surapprentissage et en accélérant l’entraînement lorsque les données sont limitées.
- Réduction des coûts opérationnels : il évite le coût d’un entraînement complet depuis le début, alors que l’acquisition de données et l’usage intensif des ressources de calcul peuvent être onéreux.
- Adaptabilité et réutilisabilité accrues : c’est une technique clé pour adapter des modèles à de multiples scénarios et tâches, augmentant ainsi leur potentiel et leur valeur d’usage.
Comment fonctionne l’apprentissage par transfert
Explorons trois notions associées à l’apprentissage par transfert : l’apprentissage multitâche, l’extraction de caractéristiques et le fine-tuning.
Apprentissage multitâche
Dans l’apprentissage multitâche, un même modèle est entraîné à effectuer plusieurs tâches simultanément. Les premières couches, partagées, traitent les données de manière commune, puis des couches distinctes sont dédiées à chaque tâche spécifique. Le modèle apprend ainsi des attributs généraux utiles à toutes les tâches, tout en acquérant des caractéristiques propres à chacune.
Ce paradigme est largement utilisé dans les LLM modernes. Découvrez tous les détails dans notre cours d’introduction aux LLMs.
Extraction de caractéristiques
L’extraction de caractéristiques consiste à utiliser un modèle pré-entraîné pour extraire des représentations pertinentes à partir des données. Ces représentations servent ensuite d’entrées à un nouveau modèle centré sur une tâche précise.
L’apprentissage par transfert basé sur les caractéristiques exploite la capacité unique des réseaux de neurones à extraire des attributs des données. Avec l’extraction, le modèle « repère » les éléments importants de l’entrée pour, par exemple, classer une image. Concrètement, appliqué à une nouvelle tâche, on réutilise surtout les premières couches et les couches intermédiaires pré-entraînées, qui encapsulent le savoir le plus généralisable.
Fine-tuning
Le fine-tuning va au-delà de l’extraction de caractéristiques et s’emploie souvent lorsque les deux tâches sont moins proches. Il consiste à reprendre un modèle pré-entraîné et à le réentraîner sur un jeu de données spécifique à un domaine.
La plupart des LLM actuels offrent d’excellentes performances globales, mais peuvent échouer sur des tâches très ciblées. Le fine-tuning ajuste alors le modèle pour ces usages précis, le rendant plus efficace et polyvalent en production. Pour en savoir plus, consultez notre guide d’introduction au fine-tuning des LLMs.
Visualiser le processus de fine-tuning. [DataCamp]
Applications de l’apprentissage par transfert
L’apprentissage par transfert est couramment utilisé pour résoudre de multiples tâches en science des données, notamment en vision par ordinateur et en traitement du langage naturel.
Vision par ordinateur
La vision par ordinateur est l’un des domaines où l’apprentissage par transfert a été particulièrement fructueux. Les réseaux de neurones y requièrent d’énormes volumes de données pour des tâches comme la détection d’objets et la classification d’images.
Dans ces modèles, les premières couches détectent les contours, les couches intermédiaires identifient des formes, et les dernières couches sont adaptées aux tâches spécifiques. L’apprentissage par transfert permet de créer de nouveaux modèles en ne réentraînant que les dernières couches, tout en conservant les poids et biais des couches initiales et intermédiaires. Grâce à cette approche, on peut bâtir de nouveaux modèles en se concentrant sur la tête de réseau, sans toucher au socle généralisable.
Aujourd’hui, plusieurs réseaux pré-entraînés et publics en vision par ordinateur sont disponibles, par exemple :
- Visual Geometry Group : VGG est un modèle pré-entraîné pour la classification d’images, largement utilisé comme point de départ pour de nombreuses tâches de classification.
- You Only Look Once : YOLO est un modèle pré-entraîné de pointe pour la détection d’objets, reconnu pour sa rapidité et sa capacité à détecter un large éventail d’objets.
Traitement du langage naturel
Le NLP est une branche de l’IA consacrée aux interactions entre ordinateurs et humains via le langage naturel. L’objectif est d’amener les machines à traiter et analyser de grandes quantités de données textuelles ou audio.
L’apprentissage par transfert est déterminant pour développer des modèles NLP. Il permet de réutiliser des modèles linguistiques pré-entraînés sur la compréhension générale du langage ou la traduction, puis de les affiner pour des problèmes précis comme l’analyse de sentiments ou la traduction automatique. Les applications du NLP sont quasi illimitées, des assistants vocaux à la reconnaissance vocale.
Cette approche est à l’origine de certains des modèles NLP les plus populaires, notamment :
- Bidirectional Encoder Representations from Transformers : BERT, créé par des chercheurs de Google en 2018, est l’un des premiers LLMs basés sur l’architecture transformer. Modèle public et pré-entraîné, il excelle en modélisation du langage, classification de textes et traduction automatique.
- Generative Pre-Trained Transformer : GPT, développé par OpenAI, regroupe une série de LLMs puissants à l’avant-garde de la révolution GenAI. Des modèles comme GPT-3.5 et GPT-4 servent de fondation à l’ultra-populaire ChatGPT. OpenAI a également lancé récemment GPT-4o, sa version la plus aboutie à ce jour.
Bonnes pratiques et défis
Au fond, l’apprentissage par transfert est une manière de concevoir des modèles plus efficients. Plutôt que d’entraîner des modèles depuis zéro — une démarche coûteuse en ressources, en budget et en temps pour les modèles génératifs de pointe — il permet d’accélérer et d’améliorer l’apprentissage sur de nouvelles tâches en s’appuyant sur des connaissances déjà acquises.
Cette approche brille lorsque peu de données sont disponibles pour entraîner un modèle sur une seconde tâche. En réutilisant le savoir d’un modèle pré-entraîné, elle aide à prévenir le surapprentissage et à accroître la précision globale. Mais elle a aussi ses limites et écueils potentiels, qu’il faut gérer avec soin. Parmi les défis les plus fréquents :
- Décalage de domaine : les performances sont meilleures lorsque la tâche source et la tâche cible sont liées. Si la nouvelle tâche est très différente, les connaissances transférées risquent d’être insuffisantes.
- Rareté des données : un minimum de données d’entraînement reste nécessaire. Si elles sont extrêmement limitées ou de mauvaise qualité, le modèle risque le sous-apprentissage.
- Surapprentissage : l’apprentissage par transfert n’en est pas à l’abri. Un affinement excessif peut conduire à des caractéristiques trop spécifiques qui généralisent mal.
- Complexité : parfois, la tâche cible est si complexe que le fine-tuning devient difficile, coûteux et long.
Conclusion et ressources complémentaires
L’apprentissage par transfert est une approche de conception essentielle pour accroître l’efficacité et le potentiel des réseaux de neurones. On peut dire sans exagérer que l’essor actuel de l’IA n’aurait pas été possible sans la diversité des techniques de transfert disponibles.
Pour creuser le sujet, DataCamp est là pour vous accompagner. Parcourez nos ressources dédiées aux LLMs et aux réseaux de neurones et lancez-vous dès aujourd’hui.
Je suis analyste de données indépendant et je collabore avec des entreprises et des organisations du monde entier dans le cadre de projets de science des données. Je suis également formateur en science des données avec plus de 2 ans d'expérience. Je rédige régulièrement des articles sur les sciences des données en anglais et en espagnol, dont certains ont été publiés sur des sites web réputés tels que DataCamp, Towards Data Science et Analytics Vidhya En tant que scientifique des données ayant une formation en sciences politiques et en droit, mon objectif est de travailler à l'interaction des politiques publiques, du droit et de la technologie, en tirant parti du pouvoir des idées pour faire avancer des solutions et des récits innovants qui peuvent nous aider à relever des défis urgents, à savoir la crise climatique. Je me considère comme un autodidacte, un apprenant permanent et un fervent partisan de la pluridisciplinarité. Il n'est jamais trop tard pour apprendre de nouvelles choses.
Foire aux questions
Qu’est-ce que l’apprentissage par transfert ?
L’apprentissage par transfert est une technique largement utilisée en deep learning : un modèle entraîné sur une tâche sert de point de départ pour un modèle destiné à une seconde tâche. Cette approche est particulièrement efficace lorsque la seconde tâche est proche de la première, ou lorsque les données disponibles sont limitées.
Quels sont les avantages de l’apprentissage par transfert ?
C’est une excellente technique d’optimisation, qui peut accroître l’efficacité d’entraînement, améliorer les performances des modèles et réduire les coûts opérationnels.
Qu’est-ce que le fine-tuning ?
Le fine-tuning est une mise en œuvre de l’apprentissage par transfert généralement utilisée lorsque les deux tâches ne sont pas étroitement liées. Il s’agit de reprendre un modèle pré-entraîné et de poursuivre son entraînement sur un jeu de données spécifique à un domaine.
Quelles sont les applications de l’apprentissage par transfert ?
L’apprentissage par transfert est une méthode de pointe pour concevoir des réseaux de neurones dans des domaines comme la vision par ordinateur et le traitement du langage naturel.
