Outils d’IA

Qu’est-ce que Hugging Face, et comment y essayer des modèles?

· Par Robert Scales · 5 min de lecture

Réponse courte

Hugging Face exploite le Hub, un site Web gratuit où l’on partage des modèles d’apprentissage automatique, des jeux de données et des applications de démonstration; on y compte déjà plus de 50 000 modèles. Vous pouvez en essayer beaucoup directement dans votre navigateur : ouvrez la page d’un modèle, lisez sa fiche technique et tapez dans la petite zone de test, appelée widget d’inférence, sans rien installer.

Si GPT-3 est un seul modèle puissant auquel on accède par l’API d’une entreprise, Hugging Face ressemble plutôt à une bibliothèque publique de modèles. L’entreprise exploite le Hugging Face Hub, un site Web où des chercheurs, des entreprises et des amateurs publient leurs modèles et leurs jeux de données pour que d’autres puissent les télécharger, les étudier et les utiliser. Sa documentation recense plus de 50 000 modèles, 5 000 jeux de données et 5 000 démos, qui couvrent le texte, l’image et l’audio.

Pour une personne qui débute, le Hub est l’endroit le plus simple pour voir ce que peuvent faire de nombreux modèles différents. Beaucoup d’entre eux s’essaient dans un navigateur Web en quelques secondes, sans aucun code.

Ce que vous trouvez sur le Hub

Tout ce qui se trouve sur le Hub vit dans un dépôt, un dossier de fichiers accompagné d’un historique complet des versions, comme un projet sur GitHub. Il en existe trois sortes :

  • Les modèles : les fichiers entraînés eux-mêmes, prêts à télécharger, avec des instructions pour les utiliser, souvent au moyen de Transformers, la bibliothèque à code source ouvert de l’entreprise.
  • Les jeux de données : des collections de textes, d’images ou d’enregistrements audio qui servent à entraîner et à tester des modèles, chacune décrite par une fiche de jeu de données.
  • Les Spaces : de petites applications interactives qui font la démonstration d’un modèle dans le navigateur.

Chaque page de modèle s’articule autour d’une fiche technique du modèle (model card), une description rédigée par les auteurs du modèle. Une bonne fiche vous dit ce que fait le modèle, à partir de quelles données il a appris, quels scores il a obtenus aux tests, et quelles sont ses limites et ses biais. Les pages portent aussi des étiquettes pour la tâche (traduction, résumé, classification de texte, etc.), les langues et la licence, ce qui facilite la recherche.

Beaucoup de pages de modèles comprennent aussi un widget d’inférence : une petite zone où vous tapez une entrée; le Hub fait alors tourner le modèle pour vous sur ses propres serveurs et affiche le résultat. Pour un usage en production, le Hub offre aussi une API, mais le widget suffit pour explorer.

Un exemple concret : un modèle de l’anglais vers le français

Voici une démonstration complète avec un vrai modèle, Helsinki-NLP/opus-mt-en-fr, publié par le groupe de recherche Helsinki-NLP.

  1. Allez sur huggingface.co et cliquez sur Models.
  2. Dans les filtres de tâches à gauche, choisissez Translation, puis tapez en-fr dans la zone de recherche.
  3. Ouvrez Helsinki-NLP/opus-mt-en-fr.
  4. Lisez la fiche technique. Elle est courte : langue source, l’anglais; langue cible, le français; entraînement sur OPUS (une grande collection publique de textes traduits); avec le type de modèle et la date des poids d’origine.
  5. Regardez le tableau des bancs d’essai. Il donne des scores BLEU, une mesure automatique courante de la proximité entre une traduction et une traduction humaine de référence, sur plusieurs jeux de test. Les scores vont d’environ 27,5 sur un test de nouvelles à 50,5 sur Tatoeba, un ensemble de courtes phrases de tous les jours. Cet écart est en soi une information utile : le modèle est plus fort sur des phrases simples que sur des textes journalistiques.
  6. Repérez la zone Hosted inference API à droite et tapez une phrase, par exemple :
Prompt
The library will be closed on Monday, but you can return books in the drop box.
  1. Cliquez sur Compute. Le modèle est chargé à la demande, si bien que la première requête peut prendre un peu plus de temps; la traduction française apparaît ensuite. Vous pouvez aussi afficher le résultat brut en JSON, le format de données qu’un programme recevrait.

Essayez ensuite une phrase plus difficile, avec une expression idiomatique ou une longue proposition technique, et comparez. Vous sentirez vite où un modèle de traduction spécialisé est fiable et où il peine.

La même page indique aussi combien de fois le modèle a été téléchargé le mois dernier (plus de 600 000 fois au début de juillet) et quels Spaces l’utilisent.

À essayer : choisissez une tâche qui vous intéresse, comme le résumé ou l’analyse des sentiments, filtrez le Hub selon cette tâche et testez les trois mêmes entrées sur deux modèles différents. Notez lequel donne les meilleurs résultats et ce que chaque fiche technique dit de ses données d’entraînement.

Qu’est-ce qu’un Space?

Un Space est une petite application Web hébergée sur le Hub qui permet à n’importe qui d’essayer un modèle au moyen d’une interface conviviale. Là où le widget d’inférence offre une simple zone de texte, un Space peut comporter des boutons, des curseurs, le téléversement d’images et plusieurs étapes. Les gens se servent des Spaces pour bâtir un portfolio, présenter un projet dans un congrès ou partager une démo de recherche avec des collègues.

En coulisses, un Space est un dépôt comme les autres sur le Hub. Son créateur écrit un court programme Python avec l’une de deux bibliothèques : Gradio, qui permet d’envelopper rapidement un modèle dans une interface simple d’entrée et de sortie, ou Streamlit, qui permet des applications Web plus complètes. Un Space peut aussi être une simple page HTML. Les paquets Python supplémentaires sont énumérés dans un fichier requirements.txt, et le Hub construit l’environnement automatiquement. Chaque Space dispose d’au plus 16 Go de mémoire et de 8 cœurs de processeur, et certaines organisations payantes peuvent demander un GPU.

Pour explorer, cliquez sur Spaces en haut du Hub et parcourez la liste. Sur une page de modèle, la liste « Spaces using this model » mène directement aux démos bâties sur ce modèle, ce qui est une bonne façon de voir un modèle à l’intérieur d’une vraie application. Si vous en créez un vous-même plus tard, la documentation des Spaces recommande de garder les clés privées dans les paramètres du Space plutôt que de les écrire dans le code.

Sources

  1. Hugging Face Hub documentation (archived 24 June 2022) — Hugging Face, 24 juin 2022
  2. Helsinki-NLP/opus-mt-en-fr model page (archived 4 July 2022) — Hugging Face / Helsinki-NLP, 4 juillet 2022
  3. Spaces (Hugging Face Hub documentation, archived 25 May 2022) — Hugging Face, 25 mai 2022

Recevez gratuitement le Guide de l’intelligence artificielle

Abonnez-vous à l’infolettre hebdomadaire et recevez le guide gratuit : ce qui a changé en IA cette semaine, une leçon, un prompt à essayer. Désabonnement en un clic.

Ce que nous faisons de votre adresse

Retour en haut

Affichage

Vos choix sont enregistrés dans ce navigateur seulement. Aucune donnée n’est transmise.

Taille du texte
100 %
Couleurs
Lecture
Autres réglages
Déclaration d’accessibilité