Cette pratique est devenue quasiment standard dans le monde du NLP. Avant d’expliquer les raisons de l’émergence de ces modèles, il faut s’interroger sur leur définition puis en détailler les usages.
Un modèle généraliste entraîné sur des grandes quantités de données
On entend par modèle pré-entraîné, un réseau de neurones profond qui a trois caractéristiques :
- il a vu, lors de son apprentissage, une quantité massive de données généralistes (plusieurs téras de mots) ;
- il dépasse la centaine de millions de paramètres voire le milliard ;
- il a été entraîné à partir de tâches élémentaires (prédire les prochains mots ou découvrir un mot masqué).
Foundation Models ?
Nés de la pratique, les modèles pré-entraînés ont rapidement été renommés foundation model ou modèle de base (base model) pour signifier à la fois leur place dans l’architecture final comme fondation pour construire des modèles spécialisés. Leur rôle dans l’industrie de l’IA est primordial.
Une interface de spécialisation : le transfer learning
Le transfer learning est un concept ancien (1976, Bozinovski) qui consiste à utiliser un modèle entraîné pour une première tâche comme point de départ pour en apprendre une deuxième. Généralement ces tâches sont liées entre elles de manière plus ou moins ténue. Il y a une sorte de continuum et une cohérence entre les deux.
Dans le cas des modèles de type Transformer, la première tâche consiste à apprendre de manière généraliste la langue. La deuxième tâche utilise cette aptitude pour optimiser sa réalisation.
Ce processus présente les avantages de la réutilisation que l’on retrouve dans l’informatique moderne à savoir des gains de temps et d’argent. Cela est d’autant plus vrai en IA que la capacité à entraîner ces modèles de base n’est accessible qu’à un nombre très restreint d’organisations compte tenu des moyens humains et technologiques à mettre en œuvre.
Partant de ces considérations générales, détaillons les modalités concrètes pour qui veut affiner ces modèles pour les spécialiser.
L’idée est assez simple et peut se résumer en quelques étapes :
- fournir au modèle un jeu de données spécifiques comme un dataset de classification qui associe des morceaux de texte à une classe ;
- éventuellement ajouter une couche entraînable par-dessus le modèle initial dont les paramètres sont figés ;
- entraîner le tout ;
- utiliser le modèle ainsi adapté.
Ces opérations restent compliquées mais il existe des librairies logicielles qui le font en quelques lignes de code. Elles vous fournissent également le type de couche à ajouter au modèle initial en fonction des tâches à remplir.
Adapter un modèle via cette technique entraîne un gain de performance conséquent pour des tâches spécifiques par rapport au modèle de base. Cependant, cette technique présente des inconvénients :
- le ré-entraînement et l’emploi (l’inférence) de tout le modèle de base ainsi adapté pose des problèmes d’infrastructure matérielle et de coût induit compte tenu de sa taille ;
- la modification de toutes les couches du modèle induit des effets de bords néfastes.
Ces handicaps ont conduit les chercheurs à élaborer des techniques permettant de n’entraîner que certaines couches du modèles. Cette approche permet de diminuer les besoins matériels – et donc les coûts – lors de l’entraînement et de l’inférence.
P.E.F.T. ? : Huggingface fournit une librairie permettant d’intégrer et d’utiliser ces techniques regroupées sous l’acronyme PEFT (Parameter-Efficient Fine-Tuning of Billion-Scale Models on Low-Resource Hardware).
Zero ou few shots learning
Cette pratique a émergé avec les modèles de type LLM (Large Language Model) comme GPT d’openAI. On évoque là des architectures dont le nombre de paramètres esty supérieur à plusieurs centaines de millions.
Le zero-shot learning consiste simplement à demander au LLM d’effectuer une tâche précise. Le few-shot permet de rajouter des exemples pour lui montrer ce qu’on attend de lui.
On distingue alors les modèles de base des modèles adaptés après instructions.
Base LLM et Instruction tuned LLM
Un des manières de modifier un modèle de base est de lui fournir des instructions sous forme de prompt en détaillant ce qui est attendu de lui. A partir de ces jeux d’instruction, il est possible d’adapter le modèle pour une grande variété de tâches.
En février 2022, les équipes de Google Research ont publié une méthodologie permettant de rationaliser les instructions (les prompts) pour les faire correspondre aux tâches classiques du NLP.
liste des tâches utilisées dans la papier FINETUNED LANGUAGE MODELS ARE ZERO-SHOT LEARNERS ( https://arxiv.org/pdf/2109.01652.pdf )
Cette méthode s’est avérée plus efficace qu’une simple instruction (zero-shot) pour effectuer la plupart des tâches.
Un mois plus tard, OpenAI a publié un papier intitulé Training language models to follow instructions with human feedback. L’objectif était d' »instruire » GPT 3 pour éviter qu’il produise des contenus offensants, toxiques ou, dit autrement, qu’il soit aligné avec les intentions de ses utilisateurs. Ce modèle a été nommé InstructGPT par ses créateurs. C’est ce dernier qui est à l’origine de ChatGPT.
Digramme illustrant les 3 étapes suivies pour créer InstructGPT (https://arxiv.org/pdf/2203.02155.pdf)
ChatGPT a été construit en trois étapes :
- la première consiste à créer un jeu de données de questions/réponses par des humains. Le modèle est adapté pour apprendre à partir de ces données « idéales » ;
- la deuxième consiste à faire noter, par des humains, les sorties du modèle adapté dans la phase 1, à partir de questions/réponses. Le modèle est entraîné à partir des différences entre sa sortie et la notation produite. Il apprend à optimiser ses sorties (reward model) pour obtenir une bonne note ;
- la troisième consiste, à partir du modèle produit en phase 2, à insérer des humains dans le processus pour fournir au modèle une appréciation par rapport à ses réponses.
Une dernière manière d’utiliser les LLM est de faire appel directement à des services prêts à l’emploi.
Utilisation packagée sous forme de service
J’entends par là, l’utilisation de solutions proposées et déjà entraînées dans des domaines particuliers.
Ainsi, vous trouverez chez Amazon ou Google des services prêts à l’emploi permettant de lire des papiers d’identité, des factures, des déclarations de revenus (US) ou des documents comptables.