Les 10 principaux cadres, services et acteurs du traitement du langage naturel en 2022

Le marché du traitement du langage naturel est en plein essor et de nombreux nouveaux outils sont récemment apparus dans l'écosystème. Voici les bibliothèques, frameworks, langages, services et acteurs que vous devez connaître pour intégrer la compréhension et la génération de texte dans votre projet en 2022.

AI

Les 10 principaux cadres, services et acteurs

1. Python

Python

Python est le langage standard de facto en science des données depuis de nombreuses années. Si vous travaillez sur un projet de traitement du langage naturel, il y aura très probablement du code Python quelque part.

Python est un langage de haut niveau très expressif et simple, ce qui le rend parfaitement adapté aux applications d'apprentissage automatique. Mais plus important encore, Python bénéficie d'un écosystème complet de bibliothèques et de frameworks qui facilitent la vie des data scientists.

Que vous travailliez sur un projet de recherche ou un projet de production, que vous formiez de nouveaux modèles ou que vous les utilisiez pour l'inférence, vous serez très probablement amené à utiliser Python. Si vous devez absolument utiliser un autre langage, vous pouvez trouver des bibliothèques intéressantes dans d'autres langues également, mais uniquement pour les cas d'utilisation de base (pour les cas d'utilisation plus avancés, la solution sera d'adopter une stratégie de microservices et d'utiliser une API REST).

2. Hugging Face Hub

Hugging Face

Hugging Face Hub est un référentiel central qui stocke la plupart des modèles de traitement du langage naturel à code source ouvert.

Sur Hugging Face, il est facile de découvrir de nouveaux modèles d'IA, mais aussi de télécharger et de partager les vôtres. C'est également un endroit idéal pour parcourir et trouver des ensembles de données pour votre prochain projet. Les modèles et les ensembles de données peuvent être facilement téléchargés et utilisés grâce à leur cadre Transformers (voir ci-dessous).

La vision de Hugging Face est de "démocratiser" le traitement du langage naturel et de devenir le "Github de l'apprentissage automatique".

3. OpenAI

OpenAI

OpenAI est la société à l'origine de GPT-3, le modèle d'IA linguistique le plus avancé jamais créé.

Les 2 premières versions de ce modèle (GPT et GPT-2) étaient open-source, mais OpenAI a décidé que GPT-3 ne serait plus open-source. Si vous voulez utiliser GPT-3, vous devez souscrire à l'API d'OpenAI. Seul Microsoft a accès au code source de GPT-3 car il a acheté une licence exclusive.

Les modèles GPT sont des modèles d'IA de génération de texte qui sont très doués pour écrire du texte comme un humain. Il est en fait assez difficile pour un humain de détecter si un texte a été écrit par une personne réelle ou par un modèle GPT-3...

La conception et la formation de cette nouvelle IA ont coûté des millions de dollars à OpenAI. Si vous souhaitez l'utiliser, vous devrez passer par un processus de validation exigeant, car OpenAI n'autorise pas tous les types d'applications à utiliser son modèle.

De nouveaux modèles open-source sont maintenant publiés afin de rattraper OpenAI, comme GPT-J et GPT-NeoX.

4. NLP Cloud

NLP Cloud

C'est nous !

NLP Cloud est une API qui vous permet d'utiliser facilement les modèles IA de traitement du langage naturel les plus avancés en production.

Par exemple, vous pouvez générer du texte avec GPT-J et GPT-NeoX, résumer du contenu avec le Bart Large CNN de Facebook, classer un morceau de texte avec Roberta, extraire des entités avec spaCy, traduire du contenu avec Opus MT... et bien plus encore.

Sur NLP Cloud, il est également possible de former et d'affiner votre propre IA, ou de déployer vos propres modèles internes. Par exemple, si vous souhaitez créer votre propre chatbot médical basé sur GPT-J, il vous suffit de télécharger votre jeu de données composé de vos propres exemples provenant de votre secteur d'activité, puis de lancer le processus d'entraînement et d'utiliser votre modèle final en production via l'API.

5. Deepspeed

Deepspeed

Deepspeed est un cadre open-source de Microsoft qui se concentre sur la parallélisation des modèles.

Qu'est-ce que cela signifie exactement ?

Les modèles d'IA sont de plus en plus gros (voir GPT-3, GPT-J, GPT-NeoX 20B, T0, Fairseq 13B...). Ces énormes modèles ouvrent la porte à des tonnes de nouvelles applications, mais ils sont aussi très difficiles à exécuter.

La formation de ces modèles et leur exécution fiable en production pour l'inférence peuvent se faire soit par une mise à l'échelle verticale (en utilisant d'énormes GPU comme le NVIDIA A100 ou les TPU de Google), soit par une mise à l'échelle horizontale (en utilisant plusieurs petits GPU en parallèle).

La deuxième approche est de plus en plus populaire car elle est moins chère et plus évolutive. Néanmoins, l'apprentissage et l'inférence distribués sont loin d'être faciles, et c'est pourquoi Deepspeed est d'une grande aide.

Deepspeed était à l'origine destiné aux tâches de formation, mais il est maintenant de plus en plus utilisé pour l'inférence car il est facile à utiliser et s'intègre aux Hugging Face Transformers (voir ci-dessous).

6. Big Science

Big Science

Big Science est un collectif de chercheurs et d'entreprises qui travaillent sur les grands modèles de langage.

Leur premier atelier a donné naissance à un modèle d'IA appelé T0 qui comprend très bien les instructions humaines.

Ils travaillent maintenant sur des modèles beaucoup plus grands : leur objectif est de créer des modèles d'IA multilingues à code source ouvert qui soient plus grands et plus avancés que GPT-3.

7. SpaCy

spaCy

SpaCy est un cadre de traitement du langage naturel en Python parfaitement adapté à la production : il est à la fois rapide et facile à utiliser.

Il s'agit d'un cadre maintenu par une société d'IA allemande appelée Explosion AI.

SpaCy est très bon pour la reconnaissance d'entités nommées (également connue sous le nom d'extraction d'entités), et ce dans environ 50 langues différentes. Il fournit des modèles pré-entraînés et vous pouvez facilement créer vos propres modèles grâce à des exemples annotés.

8. HF Transformers

Le cadre Transformers a été publié par Hugging Face il y a quelques années. La plupart des modèles avancés de traitement du langage naturel sont maintenant basés sur Transformers.

Il s'agit d'un module Python basé sur PyTorch, Tensorflow et Jax, qui peut être utilisé pour la formation ou l'inférence.

Les transformateurs Hugging Face permettent de télécharger et d'envoyer très facilement des modèles sur le Hub Hugging Face.

9. HF Tokenizers

La bibliothèque de tokenizers de Hugging Face est un ensemble de tokenizers avancés pour le traitement du langage naturel, utilisés par les modèles basés sur les transformateurs.

La tokenisation consiste à diviser un texte d'entrée en petits mots ou sous-mots qui peuvent ensuite être encodés et traités par le modèle d'IA.

La tokenisation peut sembler être un détail, mais ce n'est pas le cas. Il s'agit en fait d'une partie essentielle du traitement du langage naturel, et l'utilisation du bon tokenizer fait une énorme différence en termes de qualité des résultats et de performances.

10. NLTK

NLTK est l'abréviation de Natural Language Toolkit. Il s'agit d'un cadre Python qui existe depuis de nombreuses années et qui est idéal pour la recherche et l'éducation.

NLTK n'est pas un cadre de travail orienté vers la production, mais il est parfait pour les spécialistes des données qui tentent de se familiariser avec le traitement du langage naturel.

Conclusion

Le domaine du traitement du langage naturel a considérablement évolué en 2021. Aujourd'hui, de plus en plus d'entreprises souhaitent utiliser des modèles d'IA linguistique en production, et il est intéressant de constater qu'en 2022, l'écosystème n'a pratiquement plus rien à voir avec ce qu'il était il y a 5 ans.

Les bibliothèques et les cadres de travail sont de plus en plus avancés, et la création de grands modèles de langage comme GPT-3 soulève de nouveaux défis intéressants.

J'ai hâte de voir ce que sera l'année 2023 !

Julien Salinas
Directeur technique de NLP Cloud