Contrôle vert
Lien copié dans le presse-papiers

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

Rejoins-nous pour revenir sur un discours liminaire de YOLO Vision 2024 qui se concentre sur l'exploration de la façon dont les outils open-source de Hugging Facefont progresser le développement de l'IA.

Le choix des bons algorithmes n'est qu'une partie de la construction de solutions de vision par ordinateur ayant un impact. 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. Avec l'adoption plus rapide des applications d'IA, le besoin d'outils qui simplifient ces processus se fait également de plus en plus sentir.

Lors de YOLO Vision 2024 (YV24), l'événement hybride annuel propulsé 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 keynote sur Hugging Face, une plateforme d'IA open-source qui rationalise la formation, l'optimisation et le déploiement des modèles. Pavel Lakubovskii, ingénieur en apprentissage automatique chez Hugging Face, a partagé la façon dont 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, la catégorisation des images en différents groupes et la réalisation de prédictions sans formation préalable sur des exemples spécifiques (apprentissage 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 principaux enseignements de la conférence de Pavel et verrons comment les développeurs peuvent utiliser les outils open-source de Hugging Facepour construire et déployer rapidement des modèles d'IA.

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 open-source qui propose 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, comme le texte, les images et l'audio.

Pavel a mentionné que Hugging Face Hub a maintenant hébergé plus d'un million de modèles, et que 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 proposant des outils pour la formation, l'affinage 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, ce qui permet aux développeurs de s'attaquer à un plus large éventail de tâches d'IA. Il dispose également d'une solide communauté où les développeurs peuvent collaborer, partager des idées et obtenir de l'aide grâce aux forums, à Discord et à GitHub.

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

En entrant dans les détails, Pavel a expliqué comment les outils de Hugging Facefacilitent 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, la classification des animaux de compagnie et la détection des émotions.

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

Modèles de Hugging Face 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 les 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 tu peux 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 des images et des textes, 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. Citons par exemple CLIP et SigLIP, qui améliorent la recherche d'images en associant 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 à 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 Hugging Face

Pavel a ensuite mis l'accent sur l'utilisation des modèles de 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 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. "Tu peux l'essayer sans même écrire une ligne de code ou télécharger le modèle sur ton ordinateur", a ajouté Pavel. Comme certains modèles sont volumineux, les exécuter sur le Hub permet d'éviter les limitations de stockage et de traitement.

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

De plus, l'API d'inférence Hugging Face permet aux développeurs d'exécuter des modèles d'IA à l'aide de simples appels d'API. C'est idéal pour les tests rapides, les projets de validation de concept et le prototypage rapide sans avoir besoin d'une 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 les tâches liées au texte, à la vision et à l'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 dans le 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. L'un des sujets clés qu'il a abordés est l'optimisation du mécanisme d'attention dans Transformers, une caractéristique 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 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 a souligné : "Par exemple, en passant à une implémentation plus efficace de l'attention, tu pourrais voir des performances jusqu'à 1,8 fois plus rapides."

Hugging Face fournit 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 rend les modèles d'IA plus petits en réduisant la précision des nombres qu'ils utilisent sans trop affecter les performances. Cela permet aux modèles d'utiliser moins de mémoire et de s'exécuter plus rapidement, ce qui les rend plus adaptés aux appareils dont la puissance de traitement est 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 les 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 comme ONNX (Open Neural Network Exchange), ce qui leur permet de fonctionner sans problème sur différents types de matériel, notamment les serveurs cloud et les appareils de périphérie.

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

Poursuivant, Pavel a brièvement abordé la façon 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é : " Tu n'as pas besoin de commencer à tout écrire à partir de zéro ", en faisant référence aux guides, aux carnets de formation et aux scripts d'exemple que Hugging Face fournit. Ces ressources aident les développeurs à démarrer rapidement sans avoir à tout construire à partir de zéro.

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

Avantages des Hugging Face 

Pour conclure son discours, Pavel a résumé les avantages de l'utilisation de Hugging Face Hub. Il a souligné la façon dont il simplifie la gestion des modèles et la collaboration. Il a également attiré l'attention sur la disponibilité des guides, des carnets et des tutoriels, qui peuvent aider les débutants et les experts à comprendre et à mettre en œuvre des modèles d'IA.

"Il y a beaucoup d'espaces sympas déjà sur le Hub. Tu peux en trouver des similaires, cloner le code partagé, modifier quelques lignes, remplacer le modèle par le tien et le repousser", a-t-il expliqué, encourageant les développeurs à profiter de la flexibilité de la plateforme.

Principaux enseignements 

Lors de son intervention à YV24, Pavel a partagé la façon dont Hugging Face fournit des outils qui soutiennent la formation, 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 comme 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.

Rejoins notre communauté grandissante ! Explore notre dépôt GitHub pour en savoir plus sur l'IA, et consulte nos licencesyolo pour démarrer tes projets Vision AI. Tu es intéressé par des innovations comme la vision par ordinateur dans les soins de santé ou la vision par ordinateur dans l'agriculture? Visite nos pages de solutions pour en découvrir davantage !

Logo FacebookLogo de TwitterLogo LinkedInSymbole du lien de copie

Lire la suite dans cette catégorie

Construisons ensemble le futur
de l'IA !

Commence ton voyage avec le futur de l'apprentissage automatique.