Transformers : la nouvelle tendance en Intelligence Artificielle et en TAL
Les progrès récents des technologies TAL mettent en évidence leur fort potentiel de transformation des entreprises. Alors que le domaine était autrefois dominé par de grands acteurs tels que Google ou Microsoft, de petites entreprises telles Explosion.ai (Spacy) ou Hugging Face, se tournent désormais vers des approches collaboratives proposées au travers de solutions open source.
La force de Hugging Face réside dans la montée en puissance des architectures dites de « Transformers », que nous nous proposons de présenter dans cet article. Les transformers permettent aux développeurs de démarrer à partir de modèles généraux déjà pré-entraînés avec des centaines de millions de paramètres, plutôt que de commencer à chaque fois de zéro.
Jusqu’à présent, le déploiement de ces modèles de Transformers était un cauchemar car il existait des dépendances fortes entre différentes bibliothèques complexes, les exigences d’environnement étaient contraignantes, il fallait utiliser des formats de modèles différents, des tokenizers ad-hoc, différents symboles spéciaux ou des vecteurs d’entrée spécifiques. Il existait de très nombreux frameworks et l’utilisation des différentes versions de Transformers pour chaque Framework nécessitait souvent des développements spécifiques nombreux et cela pour adapter les pipelines d’entrée/sortie.
Les Transformers Hugging Face fournissent maintenant une couche de compatibilité très pratique pour toutes les modèles et leurs différentes versions, les tâches NLP les plus courantes étant réunis dans un hub de modèles disposant d’une très large communauté de développeurs. AutoConfig, AutoModel et AutoTokenizer peuvent détecter automatiquement l’implémentation et les ressources requises à partir du simple nom du modèle. Bien qu’il soit toujours nécessaire d’ajuster des boitiers et des commutateurs, cette fonction est particulièrement utile avec TensorFlow et Keras, qui ne disposent pas de modèles de Transformers réellement « natifs » (bien qu’elle ajoute 1,3 Go de dépendances à la bibliothèque PyTorch…).
L’activité de la communauté avec des milliers de modèles NLP prêts à l’emploi, y compris des modèles pré-entraînés spécifiques à un domaine comme le résumé automatique, est une preuve évidente du succès du Hugging Face. C’est l’équivalent d’un effort de R&D de plusieurs milliards de dollars, comme l’affirme Clem Delangue, le PDG de Hugging Face ici.
Cependant, un modèle Hugging Face prêt à l’emploi n’est pas exactement la même chose qu’une application intelligente, alimentée par du langage naturel.

Améliorer les modèles prêts à l’emploi grâce à l’expertise du domaine
Tout d’abord, les modèles sur étagère sont toujours un compromis entre la performance et la précision qu’il faut trouver entre la qualité des résultats, la taille du modèle, son temps d’exécution, la qualité de l’ensemble de données d’apprentissage ou le temps nécessaire au prototypage.
Pour réaliser le meilleur modèle possible répondant à des exigences commerciales spécifiques, il faut nécessairement améliorer un tel modèle généraliste. Bien que l’on puisse gagner beaucoup de temps en lançant des projets avec des modèles prêts à l’emploi, il faut toujours en consacrer pour annoter manuellement les faux positifs et les faux négatifs. Pas de miracles ici : pour obtenir un excellent modèle, vous devez « mouiller votre chemise » et savoir ce qui rend votre entreprise et votre savoir-faire uniques !
Corriger des annotations nécessite de disposer d’une interface facile à utiliser pour parcourir les documents et pour les segmenter afin de créer des étiquettes, pour (dé)valider des fragments de texte et pour expérimenter divers modèles d’apprentissage automatique ou profond (Deep Learning). Mais ce processus d’annotation de texte peut être amélioré aussi par des innovations comprenant :
- L’expérience utilisateur simple et intuitive (un interface de curation intégrée dans la plateforme permettant à l’utilisateur d’accéder immédiatement au document d’origine),
- L’apprentissage actif pour gagner du temps (proposer des suggestions à la volée),
- l’apprentissage par transfert (en exploitant les langues mieux dotées comme l’anglais).

Construire des pipelines d’annotation
Construire une application TAL dédiée signifie également pouvoir utiliser simultanément des frameworks, composants ou des modèles sur étagère (par exemple, Duckling de Facebook, Spacy, Trankit…) et des modèles développés en interne le tout dans un pipeline d’annotation. Idéalement, cela devrait être réalisé avec des composants pré-packagés dans une interface facile à utiliser et accessible à tous les utilisateurs métiers de l’entreprise.
En plus des modèles de TAL, un pipeline doit être capable de gérer une variété de flux de données :
- Des convertisseurs et des frameworks de traitement pour ingérer et transformer les sources (via par exemple Apache Tika, Kafka, Flink…).
- Des processeurs pour effectuer des tâches spécifiques telles que la normalisation des dates, des traitements basés sur des règles, la consolidation de différents processus d’annotation, le lien avec une base de connaissance…
- Des annotateurs à base de dictionnaire pour exploiter ou enrichir les vocabulaires d’entreprise
- Des convertisseurs de sortie pour exporter dans une grille de lecture ou des outils de visualisation tels que le format Excel ou XML.

Et enfin, un tel pipeline doit pouvoir être intégré dans un environnement métier à l’aide d’une API REST, masquant la complexité des différents moteurs et composants techniques utilisés.
Et surprise, surprise, c’est exactement ce que Kairntech vous propose : une plateforme Low Code permettant de mettre rapidement en œuvre des modèles d’IA et des pipelines NLP personnalisés. Demandez un essai gratuit (info@kairntech.com).