Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant

Dynamiser les projets de vision par ordinateur avec les outils open source de Hugging Face

Abirami Vina

5 min de lecture

11 février 2025

Joignez-vous à nous pour revoir une présentation de YOLO Vision 2024 qui porte sur l’exploration de 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 la création de solutions de vision par ordinateur percutantes. 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 des performances réelles. À mesure que les applications d'IA sont adoptées plus rapidement, le besoin d'outils qui simplifient ces processus augmente également.

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.

Un moment fort de l'événement a été une présentation sur 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 par ordinateur telles que la détection d'objets dans les images, le classement des images en différents groupes et la réalisation de prédictions sans entraînement préalable sur des exemples spécifiques (apprentissage zéro-shot).

Hugging Face Hub héberge et donne accès à divers modèles d'IA et de vision par ordinateur tels que Ultralytics YOLO11. Dans cet article, nous allons récapituler les principaux points à retenir de la présentation de Pavel et voir comment les développeurs peuvent utiliser les outils open source de Hugging Face pour construire et déployer rapidement des modèles d'IA.

Fig 1. Pavel sur scène à YV24.

Hugging Face Hub prend en charge un développement d'IA plus rapide

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

Pavel a mentionné que Hugging Face Hub héberge désormais plus d'un million de modèles, et les développeurs peuvent 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 l'entraînement, le fine-tuning et le déploiement de modèles. Lorsque les développeurs peuvent expérimenter différents modèles, cela simplifie le processus d'intégration de l'IA dans des applications du monde réel.

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

Exploration des modèles Hugging Face pour les applications de vision par ordinateur

En entrant dans plus de détails, 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 vision-langage.

Il a également souligné que bon nombre de ces tâches de vision par ordinateur peuvent être gérées avec des 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, y compris ceux pour la classification des aliments, la classification des animaux de compagnie 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 d'entraîner un modèle pour votre projet : vous pourriez en trouver un sur le Hub qui a déjà été entraîné par un membre de la communauté. » 

Modèles Hugging Face pour la détection d'objets 

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 conçus 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, les modèles tels que 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 facteur temps.
  • Modèles vision-langage : Ces modèles combinent le traitement d’images et de 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’entraînement. Les exemples incluent CLIP et SigLIP, qui améliorent la recherche d’images en reliant le texte aux visuels et permettent aux solutions d’IA d’identifier de nouveaux objets en comprenant leur contexte.
  • Modèles de détection d'objets Zero-shot : 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 zero-shot pour détecter de nouveaux objets sans avoir besoin de données d'entraînement étiquetées.

Comment utiliser les modèles Hugging Face

Pavel a ensuite recentré l'attention sur la prise en main des modèles Hugging Face, en expliquant trois façons dont les développeurs peuvent les exploiter : explorer les modèles, les tester rapidement et les personnaliser davantage.

Il a dé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 grâce à une interface interactive. "Vous pouvez l'essayer sans écrire une seule ligne de code ni télécharger le modèle sur votre ordinateur", a ajouté Pavel. Étant donné que certains modèles sont volumineux, leur exécution sur le Hub permet d'éviter les limitations de stockage et de traitement.

Fig 2. Comment utiliser les modèles Hugging Face.

De plus, l'API d'inférence Hugging Face 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 une configuration complexe.

Pour des cas d'utilisation plus avancés, les développeurs peuvent utiliser le framework Hugging Face Transformers, un outil open source qui fournit des modèles pré-entraînés pour les tâches de texte, de vision et d'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 depuis le Hugging Face Hub et le relier à un outil de prétraitement, tel qu'un processeur d'image, pour analyser les données d'image pour les applications de Vision IA.

Optimisation des flux de travail d'IA avec Hugging Face

Ensuite, Pavel a expliqué comment Hugging Face peut rationaliser les flux de travail de l'IA. L'un des principaux sujets qu'il a abordés était l'optimisation du mécanisme d'attention dans les Transformers, une fonctionnalité essentielle des modèles d'apprentissage profond qui l'aide à se concentrer sur les parties les plus pertinentes des données d'entrée. Cela améliore la précision des tâches impliquant le traitement du langage et la vision par ordinateur. Cependant, cela peut nécessiter beaucoup de ressources.

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

Hugging Face offre une prise en charge intégrée pour des implémentations d'attention plus efficaces au sein du framework Transformers. Les développeurs peuvent activer ces optimisations en spécifiant simplement une implémentation d'attention alternative lors du chargement d'un modèle.

Optimum et Torch Compile

Il a également parlé de la quantification, une technique qui réduit la taille des modèles d'IA en réduisant la précision des nombres qu'ils utilisent sans trop affecter les performances. Cela aide les modèles à utiliser moins de mémoire et à s'exécuter plus rapidement, ce qui les rend plus adaptés aux appareils dotés d'une puissance de traitement limitée, comme 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. En quelques lignes de code, les développeurs peuvent appliquer des techniques de quantification et convertir les modèles en formats efficaces comme ONNX (Open Neural Network Exchange), ce qui leur permet de fonctionner correctement sur différents types de matériel, y compris les serveurs cloud et les appareils périphériques.

Fig 3. Pavel a parlé de la bibliothèque Optimum et de ses fonctionnalités.

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, les rendant plus rapides et plus efficaces. Hugging Face intègre Torch Compile dans ses bibliothèques Transformers et Optimum, permettant aux développeurs de profiter de ces améliorations de performance avec un minimum de modifications de code. 

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

Déploiement de modèles avec les outils Hugging Face

Pour continuer, Pavel a brièvement évoqué la manière dont les développeurs peuvent étendre et déployer des modèles d'IA de vision à l'aide des outils Hugging Face après avoir sélectionné le bon modèle et choisi la meilleure approche de développement.

Par exemple, les développeurs peuvent déployer des applications d'IA interactives à l'aide de 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é : « Vous n'avez pas besoin de tout écrire à partir de zéro », en faisant référence aux guides, aux notebooks 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.

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

Avantages de Hugging Face Hub 

Pour conclure sa présentation, Pavel a résumé les avantages de l'utilisation de Hugging Face Hub. Il a souligné comment il simplifie la gestion des modèles et la collaboration. Il a également attiré l'attention sur la disponibilité de guides, de notebooks et de tutoriels, qui peuvent aider les débutants comme les experts à comprendre et à implémenter des modèles d'IA.

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

Principaux points à retenir 

Lors de sa présentation à YV24, Pavel a expliqué comment Hugging Face fournit des outils qui prennent en charge l'entraînement, l'optimisation et le déploiement des 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.

À mesure que les modèles d'IA deviennent 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, combinées à des outils tels que Hugging Face et des modèles de vision artificielle avancés comme Ultralytics YOLO11, sont essentiels pour créer des applications de Vision IA évolutives et performantes.

Rejoignez notre communauté en pleine croissance ! Explorez notre dépôt GitHub pour en savoir plus sur l'IA, et consultez nos licences YOLO pour démarrer vos projets de Vision IA. Intéressé par des innovations telles que la vision par ordinateur dans le secteur de la santé ou la vision par ordinateur dans l'agriculture ? Visitez nos pages de solutions pour en savoir plus !

Construisons ensemble l'avenir
de l'IA !

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

Démarrer gratuitement
Lien copié dans le presse-papiers