Alimenter les projets de CV avec les outils open-source de Hugging Face

Abirami Vina

5 minutes de lecture

11 février 2025

Rejoignez-nous pour revenir sur une conférence de YOLO Vision 2024 qui se concentre sur la façon dont les outils open-source de Hugging Face font progresser le développement de l'IA.

Le choix des bons algorithmes n'est qu'une partie de l'élaboration de solutions de vision par ordinateur efficaces. Les ingénieurs en IA travaillent souvent avec de grands ensembles de données, affinent les modèles pour des tâches spécifiques et optimisent les systèmes d'IA pour qu'ils soient performants dans le monde réel. Les applications d'IA étant adoptées de plus en plus rapidement, le besoin d'outils permettant de simplifier ces processus se fait également de plus en plus sentir.

Lors de YOLO Vision 2024 (YV24), l'événement hybride annuel organisé par Ultralytics, des experts en IA et des passionnés de technologie se sont réunis pour explorer les dernières innovations en matière de vision par ordinateur. L'événement a suscité des discussions sur divers sujets, tels que les moyens d'accélérer le développement d'applications d'IA.

L'un des points forts de l'événement a été la présentation de Hugging Face, une plateforme d'IA open-source qui rationalise l'entraînement, l'optimisation et le déploiement des modèles. Pavel Lakubovskii, ingénieur en apprentissage automatique chez Hugging Face, a expliqué comment ses outils améliorent les flux de travail pour les tâches de vision artificielle telles que la détection d'objets dans les images, la catégorisation des images en différents groupes et l'élaboration de prédictions sans formation préalable sur des exemples spécifiques (apprentissage à partir de zéro).

Hugging Face Hub héberge et donne accès à divers modèles d' IA et de vision par ordinateur comme Ultralytics YOLO11. Dans cet article, nous récapitulerons les points clés de l'intervention de Pavel et verrons comment les développeurs peuvent utiliser les outils open-source de Hugging Face pour construire et déployer rapidement des modèles d'IA.

__wf_reserved_inherit
Fig 1. Pavel sur scène à YV24.

Le Hugging Face Hub permet d'accélérer le développement de l'IA

Pavel a commencé son exposé en présentant Hugging Face, une plateforme d'IA à code source ouvert qui propose des modèles pré-entraînés pour une variété d'applications. Ces modèles sont conçus pour différentes branches de l'IA, notamment le traitement du langage naturel (NLP), la vision par ordinateur et l'IA multimodale, ce qui permet aux systèmes de traiter différents types de données, comme le texte, les images et l'audio.

Pavel a indiqué que Hugging Face Hub hébergeait désormais plus d'un million de modèles, et que les développeurs pouvaient facilement trouver des modèles adaptés à leurs projets spécifiques. Hugging Face vise à simplifier le développement de l'IA en offrant des outils pour la formation, l'ajustement et le déploiement des modèles. Lorsque les développeurs peuvent expérimenter différents modèles, cela simplifie le processus d'intégration de l'IA dans les applications du monde réel.

Si Hugging Face était initialement connu pour le NLP, il s'est depuis étendu à la vision par ordinateur et à l'IA multimodale, permettant aux développeurs de s'attaquer à un plus large éventail de tâches d'IA. Il dispose également d'une communauté solide où les développeurs peuvent collaborer, partager des idées et obtenir de l'aide via des forums, Discord et GitHub.

Exploration de modèles de visages étreints pour des applications de vision par ordinateur

Plus en détail, Pavel a expliqué comment les outils de Hugging Face facilitent la création d'applications de vision par ordinateur. Les développeurs peuvent les utiliser pour des tâches telles que la classification d'images, la détection d'objets et les applications de langage de vision.

Il a également souligné que bon nombre de ces tâches de vision par ordinateur peuvent être traitées à l'aide de modèles pré-entraînés disponibles sur le Hugging Face Hub, ce qui permet de gagner du temps en réduisant la nécessité d'un entraînement à partir de zéro. En fait, Hugging Face propose plus de 13 000 modèles pré-entraînés pour les tâches de classification d'images, notamment pour la classification des aliments, des animaux et la détection des émotions.

Soulignant l'accessibilité de ces modèles, il a déclaré : "Vous n'avez probablement même pas besoin de former un modèle pour votre projet - vous pouvez en trouver un sur le Hub qui a déjà été formé par quelqu'un de la communauté". 

Modèles de visage pour la détection d'objets 

En donnant un autre exemple, Pavel a expliqué comment Hugging Face peut aider à la détection d'objets, une fonction clé de la vision par ordinateur qui est utilisée pour identifier et localiser des objets dans des images. Même avec des données étiquetées limitées, les modèles pré-entraînés disponibles sur le Hugging Face Hub peuvent rendre la détection d'objets plus efficace. 

Il a également donné un aperçu rapide de plusieurs modèles construits pour cette tâche que vous pouvez trouver sur Hugging Face :

  • Modèles de détection d'objets en temps réel: Pour les environnements dynamiques où la vitesse est cruciale, des modèles comme Detection Transformer (DETR) offrent des capacités de détection d'objets en temps réel. DETR est entraîné sur l'ensemble de données COCO et est conçu pour traiter efficacement les caractéristiques multi-échelles, ce qui le rend adapté aux applications sensibles au temps.
  • Modèles vision-langage: Ces modèles combinent le traitement de l'image et du texte, ce qui permet aux systèmes d'IA de faire correspondre des images avec des descriptions ou de reconnaître des objets au-delà de leurs données d'apprentissage. Parmi les exemples, citons CLIP et SigLIP, qui améliorent la recherche d'images en associant le texte aux images et permettent aux solutions d'IA d'identifier de nouveaux objets en comprenant leur contexte.
  • Modèles de détection d'objets à partir de zéro : Ils peuvent identifier des objets qu'ils n'ont jamais vus auparavant en comprenant la relation entre les images et le texte. Les exemples incluent OwlVit, GroundingDINO et OmDet, qui utilisent l'apprentissage à partir de zéro pour détecter de nouveaux objets sans avoir besoin de données d'entraînement étiquetées.

Comment utiliser les modèles de visage étreignant

Pavel a ensuite mis l'accent sur l'utilisation des modèles de visages étreints, en expliquant les trois façons dont les développeurs peuvent les exploiter : explorer les modèles, les tester rapidement et les personnaliser davantage.

Il a montré comment les développeurs peuvent parcourir les modèles directement sur le Hugging Face Hub sans écrire de code, ce qui facilite le test instantané des modèles par le biais d'une interface interactive. "Vous pouvez l'essayer sans même écrire une ligne de code ou télécharger le modèle sur votre ordinateur", a ajouté Pavel. Certains modèles étant volumineux, leur exécution sur le Hub permet d'éviter les limitations de stockage et de traitement.

__wf_reserved_inherit
Fig. 2. Comment utiliser les modèles de visages étreints.

De plus, l'API Hugging Face Inference permet aux développeurs d'exécuter des modèles d'IA avec de simples appels d'API. Elle est idéale pour les tests rapides, les projets de validation de concept et le prototypage rapide, sans nécessiter de configuration complexe.

Pour les cas d'utilisation plus avancés, les développeurs peuvent utiliser le cadre Hugging Face Transformers, un outil open-source qui fournit des modèles pré-entraînés pour le texte, la vision et les tâches audio tout en prenant en charge PyTorch et TensorFlow. Pavel a expliqué qu'avec seulement deux lignes de code, les développeurs peuvent récupérer un modèle à partir du Hugging Face Hub et le lier à un outil de prétraitement, tel qu'un processeur d'image, pour analyser les données d'image pour les applications Vision AI.

Optimiser les flux de travail de l'IA avec Hugging Face

Ensuite, Pavel a expliqué comment Hugging Face peut rationaliser les flux de travail de l'IA. Il a notamment abordé l'optimisation du mécanisme d'attention dans Transformers, une caractéristique essentielle des modèles d'apprentissage profond qui les aide à se concentrer sur les parties les plus pertinentes des données d'entrée. Cela permet d'améliorer la précision des tâches impliquant le traitement du langage et la vision par ordinateur. Cependant, il peut être gourmand en ressources.

L'optimisation du mécanisme d'attention peut réduire considérablement l'utilisation de la mémoire tout en améliorant la vitesse. Pavel précise : "Par exemple, en passant à une implémentation plus efficace de l'attention, vous pourriez obtenir des performances jusqu'à 1,8 fois plus rapides."

Hugging Face offre un support intégré pour des implémentations d'attention plus efficaces dans le cadre de Transformers. Les développeurs peuvent activer ces optimisations en spécifiant simplement une implémentation alternative de l'attention lors du chargement d'un modèle.

Optimum et Torch Compile

Il a également parlé de la quantification, une technique qui permet de réduire la taille des modèles d'IA en diminuant la précision des nombres qu'ils utilisent sans trop affecter les performances. Cette technique permet aux modèles d'utiliser moins de mémoire et de fonctionner plus rapidement, ce qui les rend plus adaptés aux appareils dotés d'une puissance de traitement limitée, tels que les smartphones et les systèmes embarqués.

Pour améliorer encore l'efficacité, Pavel a présenté la bibliothèque Hugging Face Optimum, un ensemble d'outils conçus pour optimiser et déployer des modèles. Avec seulement quelques lignes de code, les développeurs peuvent appliquer des techniques de quantification et convertir les modèles dans des formats efficaces tels que ONNX (Open Neural Network Exchange), ce qui leur permet de fonctionner sans problème sur différents types de matériel, y compris les serveurs en nuage et les périphériques.

__wf_reserved_inherit
Fig 3. Pavel a parlé de la bibliothèque Optimum et de ses caractéristiques.

Enfin, Pavel a mentionné les avantages de Torch Compile, une fonctionnalité de PyTorch qui optimise la façon dont les modèles d'IA traitent les données, ce qui les rend plus rapides et plus efficaces. Hugging Face intègre Torch Compile dans ses bibliothèques Transformers et Optimum, ce qui permet aux développeurs de profiter de ces améliorations de performance avec des changements de code minimes. 

En optimisant la structure de calcul du modèle, Torch Compile peut accélérer les temps d'inférence et augmenter les taux d'images de 29 à 150 images par seconde sans compromettre la précision ou la qualité.

Déployer des modèles avec les outils Hugging Face

Pavel a ensuite brièvement abordé la manière dont les développeurs peuvent étendre et déployer les modèles Vision AI à l'aide des outils Hugging Face après avoir sélectionné le bon modèle et choisi la meilleure approche pour le développement.

Par exemple, les développeurs peuvent déployer des applications d'IA interactives en utilisant Gradio et Streamlit. Gradio permet aux développeurs de créer des interfaces web pour les modèles d'apprentissage automatique, tandis que Streamlit aide à créer des applications de données interactives avec de simples scripts Python. 

Pavel a également souligné que "vous n'avez pas besoin de commencer à tout écrire à partir de zéro", en faisant référence aux guides, aux cahiers de formation et aux exemples de scripts fournis par Hugging Face. Ces ressources aident les développeurs à démarrer rapidement sans avoir à tout construire à partir de zéro.

__wf_reserved_inherit
Fig. 4. Pavel discute des capacités de Hugging Face à YV24.

Avantages de l'étreinte du visage 

Pour conclure, Pavel a résumé les avantages de l'utilisation de Hugging Face Hub. Il a insisté sur la simplification de la gestion des modèles et de la collaboration. Il a également attiré l'attention sur la disponibilité de guides, de carnets de notes et de tutoriels, qui peuvent aider les débutants et les experts à comprendre et à mettre en œuvre des modèles d'IA.

"Il y a déjà beaucoup d'espaces intéressants sur le Hub. Vous pouvez trouver des espaces similaires, cloner le code partagé, modifier quelques lignes, remplacer le modèle par le vôtre et le renvoyer", a-t-il expliqué, encourageant les développeurs à tirer parti de la flexibilité de la plateforme.

Principaux enseignements 

Lors de son intervention à l'YV24, Pavel a expliqué comment Hugging Face fournit des outils qui soutiennent la formation, l'optimisation et le déploiement de modèles d'IA. Par exemple, des innovations telles que Transformers, Optimum et Torch Compile peuvent aider les développeurs à améliorer les performances des modèles.

Les modèles d'IA devenant plus efficaces, les progrès en matière de quantification et de déploiement en périphérie facilitent leur exécution sur des appareils aux ressources limitées. Ces améliorations, associées à des outils tels que Hugging Face et à des modèles de vision artificielle avancés comme Ultralytics YOLO11, sont essentielles pour créer des applications Vision AI évolutives et performantes.

Rejoignez notre communauté grandissante ! Explorez notre dépôt GitHub pour en savoir plus sur l'IA, et consultez nos licences yolo pour lancer vos projets Vision AI. Vous êtes intéressé par des innovations telles que la vision par ordinateur dans les soins de santé ou la vision par ordinateur dans l'agriculture? Visitez nos pages de solutions pour en savoir plus !

Construisons ensemble le futur
de l'IA !

Commencez votre voyage avec l'avenir de l'apprentissage automatique

Commencer gratuitement
Lien copié dans le presse-papiers