Par Équipe Blent
Data Scientist
Publié le 20 sept. 2022
Catégorie Machine Learning
Lorsqu'on travaille sur un problème de Machine Learning, l’adaptation et l'amélioration d’une solution existante et sa réutilisation peuvent aider à trouver des solutions de haute performance beaucoup plus rapidement. Utiliser des modèles existants est non seulement bénéfique pour les data scientists, mais aussi pour les entreprises. Cela leur permet d'économiser en matière de coûts de calcul et de gagner du temps. Aujourd'hui, il y existe plusieurs entreprises qui fournissent des bibliothèques open source contenant des modèles pré-formés et Hugging Face est l’un d’entre eux.
Hugging Face est une startup française qui s'est fait connaître grâce à l'infrastructure NLP qu'ils ont développée. Aujourd'hui, elle est sur le point de révolutionner le domaine du Machine Learning et traitement automatique du langage naturel.
Dans cet article, nous allons présenter Hugging Face et détailler les taches de base que cette librairie permet de réaliser. Nous allons également énumérer ses avantages et ses alternatifs.
Hugging Face est une librairie de NLP open-source qui offre une API permettant d’accéder à plusieurs modèles pré-entraînés. Elle facilite l’apprentissage et l’expérimentation, car les modèles sont déjà entraînés et prêts à être utilisés. Elle propose également des outils pour gérer les données et les modèles, ainsi que pour développer et entraîner de nouveaux modèles.
À lire aussi : découvrez notre formation MLOps
Cette startup a été créée en 2015 en tant qu'entreprise nommée ItNest, fondée par Victor Sanh et Thomas Wolf, avec une mission de rendre l’intelligence artificielle accessible à tous. Elle a été rebaptisée Hugging Face en 2016.
En 2019, l’entreprise a levé 15 millions de dollars de financement de série A, avec Menlo Ventures comme principal investisseur. Pionnier de l’IA, elle a été nommée l’une des entreprises les plus innovantes du monde en 2020 par MIT Technology Review.
Hugging Face a développé une gamme de produits basés sur l’IA, notamment une librairie d’apprentissage en profondeur open source appelée Transformers. Elle propose également une plateforme de collaboration en ligne permettant aux utilisateurs de gérer, partager et développer leurs modèles d’IA.
La bibliothèque Hugging Face présente de multiples avantages. En voici quelques-uns :
Au cours des dernières années, Hugging Face a lancé plusieurs produits, on en prendra quelques exemples :
Parmi ces principaux produits, on a ces applications de chatbot qui permettent aux utilisateurs d’interagir avec l’intelligence artificielle que l’entreprise a développé. Pour ce faire, Hugging Face a développé son propre modèle de traitement du langage naturel (NLP) appelé Hierarchical Multi-Task Learning (HMTL) et a géré une bibliothèque de modèles NLP pré-formés sous PyTorch-Transformers uniquement disponible sur iOS. Ces applications sont Chatty, Talking Dog, Talking Egg, et Boloss. Ces AI sont destinés à être un compagnon numérique qui peut divertir les utilisateurs.
Cette startup a également développé un ensemble d'outils dédié à sa communauté de développeurs afin de leur permettre de gérer, partager et développer leurs modèles de Machine Learning ;
Transformers:
bibliothèque open-source pour entraîner et déployer modèles de NLP basée sur Python et qui expose une API à utiliser de nombreuses architectures de transformateurs bien connues, telles que BERT, RoBERTa, GPT-2 ou DistilBERT. Ces derniers obtiennent des résultats de pointe sur une variété de tâches NLP comme la classification de texte, l’extraction d’informations, réponse aux questions et génération de texte. Ces architectures sont pré-entrainés avec plusieurs ensembles de poids.
Datasets:
bibliothèque open-source pour accéder à plus de 100 jeux de données NLP.
Tokenizers:
bibliothèque open-source pour tokenizer plus de 40 langues.
Accelerate:
est une API facile pour faire fonctionner des scripts avec une précision mitigée et dans n’importe quel type de configuration distribuée (multi-GPU, TPU, etc.) tout en permettant de coder ses propres boucles d’entraînement. Le même code peut alors s’exécuter facilement sur une machine locale pour le débogage ou un environnement d’entraînement.
Accelerate fournit également un outil CLI qui permet de configurer et de tester rapidement les environnements d'entrainement, puis de lancer les scripts.
BLOOM est un modèle LLM (Large Language Model) open-source autorégressif entrainé pour compléter du texte. Il est capable de produire un texte cohérent en 46 langues tel que l’espagnol, le français et l’arabe. Et du code en 13 langages de programmation qui est très proche du texte écrit par les humains. BLOOM peut également être chargé d’effectuer des tâches de texte pour lesquelles il n’a pas été explicitement formé, en les projetant comme tâches de génération de texte.
BLOOM sera le premier modèle de langue avec plus de 100 billions paramètres jamais créés.
En plus de la documentation, Hugging Face propose une formation en NLP en utilisant des bibliothèques de l’écosystème Hugging Face tels que le biliotheque Transformers, Datasets, Tokenizers, et Accelerate, ainsi que le Hugging Face Hub.
La formation est complètement gratuite et sans publicité.
Hugging Face offre plusieurs transformateurs et modèles spécifiques à des tâches particulières.
Sur leur site Web, sur la page "Models" nous voyons une liste de tâches, bibliothèques, ensembles de données, langues, etc.
Cette interface permet de filtrer les modèles facilement, il suffit de sélectionner ce qui convient à notre cas d'utilisation.
Supposons que nous sommes à la recherche de modèles qui peuvent satisfaire les exigences ci-dessous :
Une fois que nous avons sélectionné ces filtres, nous obtenons une liste de modèles pré-entrainés comme ci-dessous :
Une fois que nous avons sélectionné un modèle dans la liste, nous pouvons commencer à configurer notre environnement de travail. Nous allons donc installer Pytorch
et la bibliothèque Transformers
de Hugging Face.
!pip install torch
!pip install transformers
Nous allons ensuite cliquer sur notre modèle de choix, et ensuite sur "Use in Transformers"
Il suffit maintenant de copier le code et l'exécuter.
from transformers import AutoTokenizer, AutoModelWithLMHead tokenizer = AutoTokenizer.from_pretrained("t5-base") model = AutoModelWithLMHead.from_pretrained("t5-base")
Une fois le modèle est téléchargé, il est prêt à être utiliser. La plupart des modèles sur la plateforme sont importés de la même manière.
À lire aussi : découvrez notre formation MLOps
Malgré la qualité de ses modèles et sa richesse fonctionnelle, Hugging Face a des lacunes importantes :
Il ne prend pas en charge le traitement de tous les types de données textuelles, y compris le texte non structuré.
Il ne fournit pas de fonctionnalités de prédiction en ligne, les modèles doivent être importés en locale pour les utiliser, ce qui limite son utilisation à des fins de production.
Il est aussi un peu difficile de trouver des modèles pré-entraînés. Cela est dû au fait que les modèles sont entraînés par différentes personnes et qu'il n'y a pas de dépositoire centralisé. De plus, il est extrêmement difficile de comparer les performances de différents modèles, car il n'y a pas de benchmarking standard.
Il y a également quelques limitations à l'utilisation de Hugging Face Transformers. La principale est qu'il s'agit d'un projet open source, ce qui signifie qu'il n'y a pas de support officiel. En plus, La documentation est parfois peu claire. Cela peut être un problème pour certains utilisateurs, surtout ceux qui ne sont pas à l'aise avec le code.
De plus, Transformers est assez nouveau et il y a encore quelques fonctionnalités manquantes. Par exemple, il n'y a pas de prise en charge des architectures de réseaux de neurones récurrents (RNN). Cela signifie que si vous avez besoin d'une architecture RNN pour votre projet NLP, vous devrez probablement utiliser une autre bibliothèque.
Enfin, il y a quelques alternatives à Hugging Face Transformers qui pourraient mieux vous convenir. TensorFlow est une bibliothèque open source pour l'apprentissage automatique, qui prend également en charge les RNN.
D'autres alternatives à Hugging Face incluent Google's AutoML, IBM Watson, et Microsoft Azure.
La plateforme Hugging Face offre à chacun la possibilité, par le biais de ses dépositoires open-source, de démarrer avec les problèmes du NLP. Ils ont également plusieurs tutoriels complets sur leur site Web pour guider les membres de sa communauté à utiliser leur bibliothèque. Donc si vous êtes un développeur qui souhaite se lancer dans le NLP, Hugging Face est une excellente option, car elle simplifie le processus d’apprentissage et d’expérimentation.
Vous souhaitez vous former au MLOps ?
Articles similaires
12 juil. 2022
spaCy est une bibliothèque open-source pour le traitement avancé du langage naturel. Elle est conçue spécifiquement pour une utilisation en production et permet de construire des applications qui traitent et comprennent de grands volumes de texte.
Équipe Blent
Data Scientist
Lire l'article
4 juil. 2022
Un auto-encodeur est une structure de réseaux neuronaux profonds qui s'entraîne pour réduire la quantité de données nécessaires pour représenter une donnée d'entrée. Ils sont couramment utilisés en apprentissage automatique pour effectuer des tâches de compression de données, d'apprentissage de représentations et de détection de motifs.
Équipe Blent
Data Scientist
Lire l'article
28 juin 2022
Les réseaux neuronaux récurrents ou les RNNs en abrégé sont une variante des réseaux neuronaux artificiels qui peuvent traiter des données séquentielles et peuvent être entrainés pour détenir les connaissances sur le passé. Les RNNs sont couramment utilisés dans les domaines de l'apprentissage automatique, de traitement de langage naturel et de reconnaissance de formes.
Équipe Blent
Data Scientist
Lire l'article
60 rue François 1er
75008 Paris
Blent est une plateforme 100% en ligne pour se former aux métiers Tech & Data.
Organisme de formation n°11755985075.
Data Engineering
IA Générative
MLOps
Cloud & DevOps
À propos
Gestion des cookies
© 2024 Blent.ai | Tous droits réservés