Hugging Face, spécialiste des Transformers et éditeur de la célèbre librairie éponyme lance en français un cours en ligne d’apprentissage des techniques au cœur des dernières innovations en matière d’intelligence artificielle.
Proposant à la fois des librairies très largement adoptées et à date, + de 100 000 modèles open source, + 19 000 datasets prêts à l’emploi, Hugging Face est devenu en quelques années un acteur incontournable en intelligence artificielle. La société propose aujourd’hui un cours 100% gratuit de formation au Traitement Automatique du Langage que nous ne pouvons que vous recommander.
Rencontre avec Loïck Bourdois, expert en traitement automatique du langage et membre actif de la communauté Hugging Face, traducteur du cours en français :
Comment avez-vous découvert Hugging Face ?
J’ai découvert Hugging Face en 2019, peu après la sortie de GPT-2 mais bien avant que les premiers modèles de TAL français basés sur les transformers n’apparaissent. J’avais besoin d’une librairie de Traitement automatique du Langage performante dans le cadre de mon travail et Transformers d’Hugging Face était en train de s’installer comme librairie de référence. Elle a apporté un grand gain de temps à la communauté NLP (ndlr : traitement automatique du langage) en permettant de diviser par deux la complexité de certaines tâches, notamment grâce à sa classe Trainer qui permet de simplifier et optimiser l’entraînement de modèles.
Depuis, je l’utilise au quotidien. Aujourd’hui Hugging Face représente bien plus qu’une librairie mais tout un écosystème ouvert, avec notamment un hub de modèles mis à disposition de la communauté et l’ensemble des outils permettant de les déployer. Cela recouvre un champ disciplinaire plus vaste que le TAL, avec de la vision par ordinateur ou de l’audio par exemple.
A qui se destine ce cours sur Transformers ?
La cible de ce cours est très large, je pense qu’il apportera satisfaction tant à l’étudiant qu’au datascientist ou Machine Learning Engineer qui voudrait se spécialiser en NLP.
L’avantage de Transformers est qu’elle s’adresse à tous les publics. On peut débuter très facilement dans le TAL avec la fonction Pipeline, qui est en quelque sorte l’épine dorsale de la chaîne de traitement du langage. C’est ce que nous proposons dans la première partie du cours qui a une approche très pratique.
Les apprenants pourront mettre au point des premiers codes fonctionnels en seulement quelques lignes et donc dès le premier jour faire fonctionner des modèles de Traitement Automatique du Langage (TAL). Nous aborderons également dans cette première partie les principes sur lesquels reposent les transformers : ce qu’est un encodeur, un décodeur, et les maillons essentiels de la chaîne de TAL. Enfin, nous apprendrons à fine-tuner des modèles grâce à la fonction Trainer, ce qui ouvre tout le champ des possibles pour des applications réelles. Nous appliquerons ce fine tuning à un problème classique de classification de texte.
Dans la seconde partie du cours, destinée aux personnes qui ont suivi la première partie ou ont déjà un niveau avancé, nous étudions plusieurs applications pratiques avec l’ensemble de librairies disponibles : le Question Answering, le résumé de texte, la classification de Tokens pour la reconnaissance d’entités nommées ou de Part-Of-Speech (POS). Nous nous attarderons plus sur les principes sous-jacents et les différentes briques de la chaîne de TAL, de la gestion de dataset au déploiement dans Gradio, en passant par la tokénisation, une étape importante mais souvent sous-estimée dans le traitement du langage. Nous apprendrons enfin comment entraîner un modèle “from scratch”, c’est à dire de zéro, pour les besoins les plus poussés.
Nous proposerons sans doute également courant 2023 une troisième partie, encore plus avancée, destinée aux experts, sur des concepts tels que le calcul de l’attention afin de repousser les limites actuelles du nombre de tokens pris en charge par séquence.
Chaque partie du cours est subdivisée en différents chapitres (9 au total) qui représentent chacun environ 6 à 8 heures de travail, ce qui peut correspondre à un rythme hebdomadaire, mais chacun est libre d’avancer au rythme de son choix.
Comme vous l’expliquiez, Hugging Face propose un large choix de modèles, que les apprenants seront donc capables d’exploiter à l’issue du cours, mais par quel modèle recommanderiez-vous de commencer pour du TAL en français ?
La langue française est la deuxième langue la plus représentée en nombre de modèles sur la plateforme après l’anglais. Deux très grands modèles français sont connus et disponibles : CamemBERT et FlauBERT. Mais selon les ressources disponibles, notamment le fait que l’on dispose ou non d’un GPU, on pourra opter pour différents modèles, et choisir par exemple DistilCamemBERT qui est comme son nom l’indique une version distillée de CamemBERT mise en ligne par l’équipe du Crédit Mutuel Arkea. L’utilisation que l’on souhaite faire du modèle compte également beaucoup, certains sont plus adaptés à certaines tâches bien spécifiques. La richesse et l’esprit de partage de la communauté permet d’avoir une profusion de modèles destinés à répondre à de nombreux cas d’usage. Il est facile de les tester en utilisant la fonctionnalité “Use In Transformers” disponible en haut à droite de chaque page de modèle, cela nous donne le code prêt à l’emploi nécessaire à son déploiement.
L’un des intérêts de la version française du cours, au-delà d’une compréhension plus simple par les francophones, est que j’ai pris soin d’adapter le code et les commentaires chaque fois que cela me semblait pertinent, en proposant notamment un modèle français quand cela s’avérait judicieux. Les apprenants disposent ainsi de notebooks Google Colab et SageMaker pour PyTorch et TensorFlow, selon les préférences, entièrement adaptés en français et prêts à l’emploi sur l’ensemble des pages du cours. Les utilisateurs disposent ainsi d’une solution clef-en-main pour apprendre et expérimenter.
La communauté est une composante essentielle de l’ADN d’Hugging Face, les apprenants peuvent-ils échanger pour progresser plus rapidement ?
Oui, nous recommandons bien sûr l’échange et donnons d’ailleurs dans le cours des conseils sur : comment obtenir des réponses quand on est bloqué. Nous invitons les utilisateurs à participer à la section Cours du Forum Hugging Face ainsi qu’à rejoindre le serveur Discord pour échanger sur leur progression et s’épauler si le besoin se fait sentir.
Informations détaillées :
Cours de Traitement Automatique du Langage (TAL) gratuit en ligne
Prérequis : connaissance de Python
Amplitude horaire : Cours en 3 parties, subdivisé en chapitres. rythme libre.
A l’issue du cours les apprenants maîtriseront l’ensemble des tâches courantes en TAL : Classification, Génération de texte, Résumé, Réponse aux questions..