Los 10 principales marcos, servicios y actores del procesamiento del lenguaje natural en 2022

El mercado del procesamiento del lenguaje natural está en auge y recientemente han aparecido muchas herramientas nuevas en el ecosistema. Aquí están las bibliotecas, los frameworks, los lenguajes, los servicios y los actores que debes conocer para integrar la comprensión y la generación de textos en tu proyecto en 2022.

AI

Los 10 principales marcos, servicios y actores

  • 1. Python | El mejor lenguaje de programación para NLP
  • 2. Hugging Face | Un depósito central para todos los modelos
  • 3. OpenAI | La empresa detrás de GPT-3
  • 4. NLP Cloud | Una API para el procesamiento del lenguaje natural en la producción
  • 5. Deepspeed | Paraleliza el entrenamiento y la inferencia
  • 6. Big Science | El grupo de investigación de IA de Hugging Face
  • 7. spaCy | Un marco rápido y listo para la producción para NLP
  • 8. HF Transformers | Un marco avanzado para NLP
  • 9. HF Tokenizers | Un conjunto avanzado de tokenizadores para NLP
  • 10. NLTK | Un marco de investigación y educación para NLP

1. Python

Python

Python ha sido el lenguaje estándar de facto en la ciencia de datos durante muchos años. Si estás trabajando en un proyecto de procesamiento del lenguaje natural, lo más probable es que haya algo de código Python en alguna parte.

Python es un lenguaje de alto nivel muy expresivo y sencillo que lo hace perfectamente adecuado para las aplicaciones de aprendizaje automático. Pero aún más importante es que Python se beneficia de un amplio ecosistema de librerías y frameworks que facilitan la vida de los científicos de datos.

Tanto si trabajas en un proyecto de investigación como en uno de producción, tanto si entrenas nuevos modelos como si los utilizas para la inferencia, lo más probable es que tengas que utilizar Python. Si es absolutamente necesario utilizar otro lenguaje, puede encontrar buenas bibliotecas en otros lenguajes también, pero sólo para casos de uso básico (para casos de uso más avanzados, la solución será adoptar una estrategia de microservicios y utilizar una API REST).

2. Hugging Face Hub

Hugging Face

Hugging Face Hub es un repositorio central que almacena la mayoría de los modelos de procesamiento del lenguaje natural de código abierto.

En Hugging Face, es fácil descubrir nuevos modelos de IA, pero también subir y compartir los tuyos. También es un buen lugar para buscar y encontrar conjuntos de datos para tu próximo proyecto. Los modelos y conjuntos de datos pueden descargarse fácilmente y utilizarse a través de su marco de trabajo de Transformers (véase más abajo).

La visión de Hugging Face es "democratizar" el procesamiento del lenguaje natural y convertirse en el "Github del aprendizaje automático".

3. OpenAI

OpenAI

OpenAI es la empresa que está detrás de GPT-3, el modelo de IA lingüística más avanzado jamás creado.

Las 2 primeras versiones de este modelo (GPT y GPT-2) eran de código abierto, pero OpenAI decidió que GPT-3 dejaría de ser de código abierto. Si quieres usar GPT-3, tienes que suscribirte a la API de OpenAI. Sólo Microsoft tiene acceso al código fuente de GPT-3, ya que adquirió una licencia exclusiva.

Los modelos GPT son modelos de IA de generación de texto que son muy buenos escribiendo texto como un humano. De hecho, es bastante difícil para un humano detectar si un texto ha sido escrito por una persona real o por GPT-3...

A OpenAI le ha costado millones de dólares diseñar y entrenar esta nueva IA. Si quieres utilizarla, tendrás que pasar por un exigente proceso de validación, ya que OpenAI no permite que todo tipo de aplicaciones utilicen su modelo.

Ahora se están publicando nuevos modelos de código abierto para alcanzar a OpenAI, como GPT-J y GPT-NeoX.

4. NLP Cloud

NLP Cloud

¡Somos nosotros!

NLP Cloud es una API que le permite utilizar fácilmente los modelos de IA de procesamiento del lenguaje natural más avanzados en la producción.

Por ejemplo, puedes generar texto con GPT-J y GPT-NeoX, resumir contenido con Bart Large CNN de Facebook, clasificar un texto con Roberta, extraer entidades con spaCy, traducir contenido con Opus MT... y mucho más.

En NLP Cloud también es posible entrenar y afinar su propia IA, o desplegar sus propios modelos internos. Por ejemplo, si quiere crear su propio chatbot médico basado en GPT-J, solo tiene que cargar su conjunto de datos formado por sus propios ejemplos procedentes de su sector, iniciar el proceso de entrenamiento y utilizar su modelo final en producción a través de la API.

5. Deepspeed

Deepspeed

Deepspeed es un marco de trabajo de código abierto de Microsoft que se centra en la paralelización de modelos.

¿Qué significa exactamente?

Los modelos de IA son cada vez más grandes (véase GPT-3, GPT-J, GPT-NeoX 20B, T0, Fairseq 13B...). Estos enormes modelos abren la puerta a toneladas de nuevas aplicaciones, pero también son muy difíciles de ejecutar.

El entrenamiento de estos modelos, y su ejecución fiable en producción para la inferencia, puede realizarse a través de la escalabilidad vertical (utilizando enormes GPUs como la NVIDIA A100 o las TPUs de Google) o la escalabilidad horizontal (utilizando varias GPUs pequeñas en paralelo).

El segundo enfoque es cada vez más popular, ya que es más barato y se adapta mejor. Sin embargo, realizar el entrenamiento y la inferencia distribuidos no es nada fácil, por lo que Deepspeed es de gran ayuda.

Deepspeed estaba originalmente dirigido a tareas de entrenamiento, pero ahora se utiliza cada vez más para la inferencia, ya que es fácil de usar y se integra con Hugging Face Transformers (véase más adelante).

6. Big Science

Big Science

Big Science es un colectivo de investigadores y empresas que trabajan en grandes modelos lingüísticos.

Su primer taller produjo un modelo de IA llamado T0 que se desempeña muy bien en la comprensión de las instrucciones humanas.

Ahora están trabajando en modelos mucho más grandes: su objetivo es crear modelos de IA multilingües de código abierto que sean más grandes y avanzados que el GPT-3.

7. SpaCy

spaCy

SpaCy es un marco de procesamiento del lenguaje natural en Python que se adapta perfectamente a la producción: es rápido y fácil de usar.

Se trata de un marco mantenido por una empresa alemana de IA llamada Explosion AI.

SpaCy es muy bueno en el Reconocimiento de Entidades Nombradas (también conocido como extracción de entidades), y en alrededor de 50 idiomas diferentes. Proporcionan modelos preentrenados y puedes crear fácilmente tus propios modelos a través de ejemplos anotados.

8. HF Transformers

El framework Transformers fue lanzado por Hugging Face hace un par de años. La mayoría de los modelos avanzados de procesamiento del lenguaje natural se basan ahora en Transformers.

Se trata de un módulo de Python basado en PyTorch, Tensorflow y Jax, que puede utilizarse tanto para el entrenamiento como para la inferencia.

Los transformadores de Hugging Face hacen que sea muy fácil descargar y cargar modelos en el Hugging Face Hub.

9. HF Tokenizers

La biblioteca de tokenizadores de Hugging Face es un conjunto de tokenizadores avanzados de procesamiento del lenguaje natural, utilizados por los modelos basados en transformadores.

La tokenización consiste en dividir un texto de entrada en pequeñas palabras de subpalabras que luego pueden ser codificadas y procesadas por el modelo de IA.

La tokenización puede parecer un detalle, pero no lo es. En realidad, es una parte fundamental del procesamiento del lenguaje natural, y el uso del tokenizador adecuado marca una enorme diferencia en cuanto a la calidad de los resultados y las prestaciones.

10. NLTK

NLTK significa Natural Language Toolkit. Se trata de un framework de Python que existe desde hace muchos años y que es estupendo para la investigación y la educación.

NLTK no es un marco de trabajo orientado a la producción, pero es perfecto para los científicos de datos que tratan de avanzar en el procesamiento del lenguaje natural.

Conclusión

El campo del procesamiento del lenguaje natural ha evolucionado considerablemente en 2021. Hoy en día, cada vez más empresas quieren utilizar modelos de IA lingüística en la producción, y esto es interesante para ver que en 2022 el ecosistema no tiene prácticamente nada que ver con lo que era hace 5 años.

Las bibliotecas y los marcos de trabajo son cada vez más avanzados, y la creación de grandes modelos lingüísticos como el GPT-3 plantea nuevos e interesantes retos.

No puedo esperar a ver cómo será el año 2023.

Julien Salinas
CTO en NLP Cloud