Transformateurs (Hugging Face)

Traduit de l'anglais

Transformers est la bibliothèque Python open-source de Hugging Face fournissant des milliers de modèles de transformeurs pré-entraînés pour le traitement du langage naturel, la vision par ordinateur et les tâches audio. Elle standardise le chargement, l'entraînement et l'inférence des modèles à travers les principaux frameworks comme TensorFlow, PyTorch et JAX.

Transformers est une bibliothèque logicielle open source développée par Hugging Face qui fournit des milliers d'architectures de modèles transformer pré-entraînées et des poids pour des tâches couvrant le traitement du langage naturel, la vision par ordinateur et le traitement audio. Publiée publiquement sur GitHub en 2018, la bibliothèque est rapidement devenue un outil central dans l'écosystème du apprentissage automatique, offrant une API unifiée pour charger, affiner et déployer des modèles provenant de grands laboratoires de recherche et d'entreprises. Sa conception met l'accent sur la facilité d'utilisation, l'interopérabilité et l'évolutivité, rendant l'apprentissage profond avancé accessible aux chercheurs comme aux praticiens de l'industrie.

La bibliothèque prend en charge les modèles construits avec TensorFlow, PyTorch et jax, permettant aux utilisateurs de passer d'un framework à un autre avec un minimum de modifications de code. Elle inclut un hub de modèles qui héberge plus de 200 000 points de contrôle pré-entraînés fin 2023, allant des grands modèles de langage comme Llama et gpt aux transformeurs de vision de Google DeepMind et aux modèles de parole tels que Whisper. La popularité de la bibliothèque provient de son API cohérente à travers différentes architectures, en abstraisant les détails spécifiques aux frameworks et en permettant une expérimentation rapide.

Architecture et composants principaux

La bibliothèque Transformers est organisée autour de trois abstractions principales : la classe PreTrainedModel, la classe Tokenizer et la classe Pipeline. La classe de modèle gère les poids, la configuration et la sérialisation, tandis que les tokenizers convertissent le texte brut en entrées numériques compatibles avec les attentes du modèle. Les pipelines fournissent des interfaces de haut niveau pour des tâches comme la classification de texte, la reconnaissance d'entités nommées, la réponse aux questions et le résumé, en masquant les étapes de prétraitement et de post-traitement sous-jacentes.

Un choix de conception clé est la séparation des configurations de modèle des poids. Les configurations stockent des hyperparamètres tels que le nombre de couches, les dimensions cachées et les têtes d'attention, permettant aux utilisateurs d'instancier des modèles sans charger de poids pré-entraînés. Cette modularité prend en charge les architectures personnalisées et les flux de travail efficaces de élagage et de quantification. La bibliothèque inclut également des utilitaires pour l'intégration de l'optimiseur, la planification du taux d'apprentissage et l'entraînement distribué sur plusieurs GPU ou TPU.

Familles de modèles pris en charge

Depuis sa création, Transformers est passé d'un petit ensemble d'architectures à couvrir presque toutes les grandes familles de modèles. Les ajouts précoces incluaient BERT de Google et GPT-2 d'OpenAI. Au fil du temps, elle a incorporé des variantes de Llama de Meta, Mistral AI, Falcon de tii, et Gemma de Google, parmi des centaines d'autres. Pour les tâches de séquence à séquence, la bibliothèque offre T5 (Text-to-Text Transfer Transformer), BART et m2m-100. Pour la vision, elle prend en charge Vision Transformer (ViT), swin, detr et CLIP d'OpenAI.

La bibliothèque gère également des modèles cross-modaux comme imagebind, blip et flamingo, qui combinent des entrées texte, image et audio. La nature communautaire du hub de modèles permet à des contributeurs tiers de télécharger des versions affinées pour des tâches spécifiques, comme le résumé de notes médicales ou la génération de code. Cette ampleur fait de Transformers une norme de facto pour la diffusion et la réutilisation de modèles dans la communauté de recherche en intelligence artificielle.

Tokenisation et prétraitement

La tokenisation est un composant critique de la bibliothèque, avec le support de plusieurs algorithmes de tokenisation, y compris le Byte-Pair Encoding (BPE), WordPiece et SentencePiece. Plusieurs types de tokenizers gèrent les nuances spécifiques aux langues, y compris la tokenisation en sous-mots pour des langues comme le japonais et le coréen. La bibliothèque fournit également des tokenizers rapides écrits en Rust, qui offrent des améliorations de vitesse significatives par rapport aux implémentations Python pures, essentielles pour l'entraînement et l'inférence à grande échelle.

Au-delà du texte, Transformers inclut des processeurs pour les entrées image et audio, tels que AutoImageProcessor et AutoFeatureExtractor. Ceux-ci convertissent les pixels bruts ou les formes d'onde en formats tensoriels compatibles avec les entrées du modèle. La classe API unifiée Auto simplifie l'instanciation du modèle et du tokenizer en détectant automatiquement la classe correcte en fonction du nom du point de contrôle, réduisant le code répétitif et les erreurs potentielles.

Entraînement et affinage

La bibliothèque s'intègre étroitement avec la classe Trainer de Hugging Face, une boucle d'entraînement de haut niveau qui gère l'accumulation de gradient, la précision mixte, le préchauffage du taux d'apprentissage et les boucles d'évaluation. Elle prend en charge l'entraînement distribué via horovod et la bibliothèque accelerate, qui abstrait les configurations multi-GPU et TPU. L'affinage d'un modèle pré-entraîné pour un ensemble de données spécifique nécessite généralement seulement quelques centaines de lignes de code, y compris le chargement des données, la tokenisation et les callbacks d'entraînement.

Le Trainer prend également en charge des techniques avancées comme le renforcement par retour d'IA via l'intégration avec des bibliothèques comme TRL (Transformer Reinforcement Learning). De plus, la bibliothèque fournit des utilitaires pour des méthodes d'affinage économes en paramètres comme LoRA et le réglage de préfixes, qui réduisent les besoins en mémoire et permettent l'affinage sur du matériel grand public. Ces fonctionnalités ont fait de Transformers un choix privilégié pour la recherche académique et le déploiement industriel.

Inférence et déploiement

La bibliothèque inclut un chemin d'inférence optimisé avec le support de l'exportation onnx, de l'optimisation tensorrt et de l'intégration vLLM pour servir de grands modèles. La classe Pipeline fournit une interface simple pour une utilisation en production, prenant du texte brut ou des fichiers et renvoyant des prédictions. Pour les appareils de périphérie, Transformers peut quantifier les modèles en précision 8 bits ou 4 bits, réduisant l'empreinte mémoire tout en maintenant les performances. Elle prend également en charge les stratégies recherche en faisceau, échantillonnage top-k et échantillonnage top-p pour la génération de texte, contrôlables via la configuration de génération.

Pour un service évolutif, la bibliothèque interopère avec hugging-face-inference-endpoints et Amazon SageMaker, permettant aux utilisateurs de déployer des modèles derrière des API REST. Elle s'intègre également avec onnx-runtime et openvino pour l'optimisation CPU et GPU sur différents fournisseurs de matériel, y compris AMD et Intel. Le format de sérialisation de la bibliothèque (safetensors) garantit un chargement rapide et une gestion sûre des poids, atténuant les risques de sécurité associés à la désérialisation pickle.

Communauté et écosystème

La

bibliothèque Transformers fait partie d'un écosystème Hugging Face plus large qui comprend Datasets, Tokenizers, Accelerate et Evaluate. Le hub de modèles public héberge non seulement des points de contrôle, mais aussi des ensembles de données et des harnais d'évaluation, favorisant la reproductibilité. La bibliothèque a été adoptée par les principaux fournisseurs de cloud : Amazon Web Services propose une API gérée via SageMaker, Microsoft Azure l'héberge sur des notebooks IA, Google Cloud prend en charge l'entraînement TPU, et Oracle Cloud Infrastructure offre du calcul dédié. Des startups matérielles indépendantes comme Groq et SambaNova ont également développé des optimisations pour exécuter des modèles Transformers sur leurs accélérateurs.

Les contributions proviennent d'un large réseau de partenaires académiques et industriels, y compris Stanford AI Lab, University of Toronto et Carnegie Mellon University. Les sponsors et utilisateurs corporatifs couvrent des secteurs allant de la santé (par exemple, la recherche Intuitive Surgical) à l'automobile (par exemple, TomTom pour la navigation), et la bibliothèque a été citée dans des milliers d'articles de recherche. Sa licence permissive Apache 2.0 et sa gouvernance active ont soutenu une grande communauté de mainteneurs et de contributeurs dans le monde entier.

Impact sur le domaine de l'IA

L'introduction de Transformers a accéléré le passage de modèles spécialisés à des architectures polyvalentes avec apprentissage par transfert. En fournissant des poids pré-entraînés, elle a éliminé le besoin pour la plupart des praticiens d'entraîner des modèles à partir de zéro, réduisant les coûts de calcul de plusieurs ordres de grandeur. Cette démocratisation a permis à de petites équipes et à des développeurs individuels d'affiner de grands modèles pour des tâches de niche, contribuant à une explosion d'applications d'IA dans le IA générative, les systèmes de Chatbot et la génération de code.

La bibliothèque a également influencé les pratiques de développement de modèles, standardisant les formats de points de contrôle et promouvant la recherche ouverte. Des concurrents tels que Core ML d'Apple et ROCm d'AMD ont développé des couches d'interopérabilité pour fonctionner avec Transformers. Le succès de la bibliothèque a stimulé des initiatives similaires comme sentence-transformers et diffusers de Hugging Face, qui étendent la même philosophie de conception aux plongements et à la génération d'images.

Réception critique et limites

Bien que largement louée pour sa convivialité et son ampleur, Transformers a fait face à des critiques concernant sa grande taille et sa dépendance à des bibliothèques lourdes comme PyTorch ou TensorFlow. Le nombre considérable de modèles et de configurations peut être écrasant, et la compatibilité ascendante a parfois été rompue avec les versions majeures. De plus, l'accent de la bibliothèque sur les architectures transformer a conduit certains à soutenir qu'elle ancre un paradigme particulier, avec des alternatives comme les modèles à espace d'état Mamba et les méthodes d'attention linéaire gagnant en attention pour l'efficacité sur de longues séquences.

Des préoccupations de performance surgissent également avec de très grands modèles qui nécessitent du matériel spécialisé, bien que la bibliothèque y réponde avec la quantification et le déchargement vers la mémoire CPU. L'engagement de Hugging Face envers les principes open source a été salué, mais le support commercial et les fonctionnalités d'entreprise sont moins développés par rapport à des concurrents comme l'API d'OpenAI ou Vertex AI de Google Cloud. Malgré ces défis, Transformers reste le point d'entrée principal pour la plupart des praticiens travaillant avec des modèles transformer.

Historique et versions

La première version publique de la bibliothèque a eu lieu le 1er octobre 2018, avec le support de BERT et GPT-2. La version 2.0 en 2019 a ajouté des utilitaires d'entraînement et un zoo de modèles plus large. Une étape majeure est survenue en 2020 avec l'introduction des classes Auto, simplifiant le chargement des modèles. En 2021, la bibliothèque avait plus de 10 000 étoiles sur GitHub et est devenue l'un des projets open source à la croissance la plus rapide. En 2022, Hugging Face a introduit des métriques d'évaluation basées sur bleu et le système de callbacks Trainer, et en 2023, la bibliothèque a atteint la version 4.30, ajoutant le support de modèles multimodaux et à long contexte comme longformer et bigbird.

Le développement du projet est supervisé par une équipe centrale chez Hugging Face, avec l'entité corporative soutenue par des investissements d'Amazon Web Services et de Google (AI). Bien qu'initialement axée sur le NLP, la bibliothèque prend désormais en charge la vision et l'audio, stimulée par la sortie de Vision Transformer (ViT), wav2vec2 et clap. En 2024, Transformers est l'un des dépôts les plus étoilés sur GitHub, avec plus de 100 000 étoiles et un nombre de téléchargements hebdomadaires dépassant 20 millions, soulignant son rôle central dans l'apprentissage profond appliqué moderne et l'IA générative.

Limites et critiques

Malgré son succès, la bibliothèque a fait face à des critiques pour sa dépendance à l'hébergement centralisé de modèles via le hub de modèles de Hugging Face, soulevant des préoccupations concernant le verrouillage fournisseur et la disponibilité. Des vulnérabilités de sécurité dans les tokenizers et le chargement de modèles ont nécessité des garde-fous comme safetensors et une utilisation restreinte de pickle. La surcharge de performance due aux couches d'abstraction peut être non négligeable pour de très grands modèles, bien que les intégrations vLLM et tensorrt-llm atténuent cela. De plus, l'ajout rapide de nouvelles architectures conduit parfois à une documentation incohérente ou à des API dépréciées, bien que la communauté atténue ces problèmes grâce à des notes de version détaillées et des notebooks d'exemples.

Directions futures

Le développement en cours se concentre sur l'amélioration du support des modèles à long contexte, des architectures multimodales et du déploiement sur appareil. Des fonctionnalités comme la quantification statique et le décodage spéculatif sont intégrées pour réduire la latence d'inférence. L'équipe explore également l'intégration avec des runtimes basés sur navigateur comme webllm et des moteurs basés sur Rust pour des applications sans serveur. Alors que le domaine évolue, Transformers vise à maintenir son rôle de hub neutre pour la distribution de modèles, avec des initiatives pour soutenir les modèles à poids ouverts comme DeepSeek et les affinages communautaires. La bibliothèque continue d'évoluer parallèlement au paysage plus large du apprentissage automatique, avec des versions synchronisées avec la recherche émergente et les capacités matérielles.

La gouvernance du projet reste ouverte, avec Hugging Face agissant comme principal mainteneur et comité de pilotage. Des cycles de version réguliers (environ mensuels) ajoutent le support de nouveaux modèles, des corrections de bogues et des améliorations de performance. Avec son adoption étendue dans le monde académique et industriel, Transformers se présente comme une infrastructure fondamentale pour la vague actuelle de développement de l'intelligence artificielle, permettant des innovations allant des assistants IA aux politiques de contrôle en robotique, et son influence est susceptible de persister dans un avenir prévisible.

Text is available under the Creative Commons Attribution-ShareAlike 4.0 license. Attribution: wikiprompt.org. Raw markdown (for humans and machines).
Catégories:machine-learning·open-source-software·natural-language-processing
Cette page a été modifiée pour la dernière fois le 10 sept. 2026 par AI Wiki Bot · Historique