Procesamiento del lenguaje natural y aprendizaje profundo: claves y desafíos de un nuevo paradigma

January 18, 2021

Hace años que se está trabajando en la compresión y generación de texto de manera automática, pero a partir de finales de 2017 1, con la llegada de nuevas arquitecturas de redes neuronales como los Transformers, el PLN (Procesado del Lenguaje Natural) está llegando a otro nivel. Actualmente ya hay modelos que superan a la persona media en ciertas tareas de comprensión del lenguaje y se prevé que, en los próximos años, estas tareas sean cada vez más. 2

En este post trataré de explicar por qué estamos avanzando tan rápido en este campo, cómo se construyen estos modelos, sus costes asociados y por qué esto está cambiando el paradigma actual de la innovación.

El rápido avance del machine learning

Todo comenzó en el área de visión por computador. En 2012, una arquitectura de redes neuronales llamada AlexNet 3, demostró el potencial que tenía este tipo de arquitecturas, reduciendo en un 10,8% el error que cometía las soluciones anteriores en clasificaciones de imágenes. Con este acontecimiento se demostró que estas soluciones no eran solamente una moda y que cada vez más científicos las utilizaban. Empezó la llamada “era Deep Learning” (aprendizaje basado en redes neuronales profundas) que durante los años siguientes hasta la actualidad se ve impulsada por los siguientes factores:

  • Cultura abierta. La gran mayoría de avances en el área del Deep Learning están publicadas de manera libre y gratuita en arXiv 4 y en diferentes repositorios de código abierto. Esto es uno de los aspectos claves en el rápido avance, ya que permite entender las soluciones actuales, mejorarlas y adaptarlas a nuevas necesidades.
  • Escalabilidad con los datos. En el Machine Learning clásico, la mejora de resultados residía en la manera de representar los datos para que se puedan modelar con árboles de decisión, modelos Bayesianos, SVM, entre otros. Por otra parte, estos modelos suelen tener un límite en el aprendizaje, pasado el cual no mejoran aunque vean nuevos datos. Todo esto ha limitado la aplicación de modelos de Machine Learning en automatización de tareas. Con el Deep Learning los avances más importantes vienen definidos por nuevas arquitecturas y la representación de los datos se aprende de manera automática por las redes neuronales. Otra ventaja de este tipo de redes es que los resultados mejoran con el número de ejemplos que se le enseña durante el proceso de aprendizaje. Esto junto a la comunidad OpenSource, permite que una solución similar se aplique a diferentes dominios o problemas.
  • Potencia computacional. Las redes neuronales consumen muchos recursos de cómputo, pero a la vez aprovechan muy bien el potencial del paralelismo. Esto ha dado lugar a que aparecieran GPUs (unidad de procesamiento gráfico) y hardware dedicado a acelerar los tiempos de funcionamiento de estas arquitecturas. Durante este tiempo también han aparecido servicios de cómputo en la nube, lo que permite escalar a múltiples GPUs para acelerar aún más los entrenamientos de estos modelos.
  • Creación masiva de datos. La popularización de los smartphones y el boom de las redes sociales empezó en el mismo periodo que que el DeepLearning. Esto ha permitido la creación de datos de manera masiva, que junto a las soluciones cloud, han facilitado el aprovechamiento de estos datos para entrenar los modelos neuronales.
  • Transferencia de conocimiento. Sin duda, los puntos anteriores son claves en la evolución del DeepLearning, pero quizás el más importante, sobre todo en el área del PLN, es la propiedad que tiene de transferencia del conocimiento o de utilización de un modelo pre-entrenado. Esto consiste en aprender características de bajo nivel (por ejemplo, en PLN sería la gramática o la semántica de un idioma) a partir de una enorme cantidad de datos, guardarlas en un modelo, y posteriormente utilizarlo para resolver tareas semejantes sin la necesidad de entrenar desde cero.

La clave está en reutilizar

Con la llegada del DeepLearning, el uso de cómputo y datos se han visto incrementados exponencialmente. De manera particular, esto lo podemos ver en el campo del PLN gracias a los Transformers, donde periódicamente sale un nuevo modelo que utiliza más datos para entrenar y tiene millones de parámetros más (lo que se traduce en cómputo).

Número de parámetros en millones por cada modelo. Adaptado de la siguiente fuente 5

Como se puede apreciar en el gráfico anterior, a principios del año 2018 ELMo utiliza 94 millones de parámetros. Dos años más tarde, Turing-NLG utiliza 17.000 millones de parámetros y meses después, (a pesar de no estar en el gráfico) GPT-3 utiliza la friolera cifra de 175.000 millones de parámetros. Esto se traduce en un aumento de 1861 veces, en poco más de 2 años.

Como os podéis imaginar, a pesar de ser modelos con código abierto, no todo el mundo tiene la capacidad de cómputo suficiente para entrenar o tan siquiera utilizar alguno de estos modelos. Tal como muestra el gráfico, las grandes corporaciones como Google, Facebook o Microsoft son al final los que pueden permitirse el coste de investigar y crear una arquitectura que consiga el estado del arte en PLN.

BERT es una de las arquitecturas más utilizadas hoy en día para tareas de PLN. Esta arquitectura consta de 340 millones de parámetros en su versión más extensa. Conociendo ya la arquitecturas, entrenar una red de estas características tiene un coste aproximado de 6.912$ 6. Según un estudio realizado por Ai21 Labs, se estima que el precio total de la investigación hasta llegar a la arquitectura en cuestión, puede ascender a 200.000$. 7 Finalmente, el modelo más grande hasta ahora, GPT-3, tiene un coste estimado de 4,6 millones de $ solo el entrenamiento, sin tener en cuenta las iteraciones llevadas a cabo durante la investigación. 8 Un coste que no cualquiera puede asumir. Pero entonces, ¿cómo utilizar estos modelos en nuestras tareas sin asumir estos costes? Utilizando la propiedad de transferencia de conocimiento que comentamos anteriormente.

Aparte del aspecto económico, también es contraproducente entrenar desde cero cada vez que queremos resolver un problema, pudiendo aprovechar el conocimiento de otros modelos. Esto da lugar a una nueva y diferente cadena de administración de modelos e investigación.

Cadena de administración de modelos. Adaptado de la siguiente fuente. 6

Como se puede apreciar en la imagen anterior, solamente las grandes empresas con muchos recursos económicos entrenan desde cero. Estas liberan los resultados de su investigación y entregan unos modelos pre-entrenados que son usados por el resto de la comunidad científica para aplicar en diferentes dominios y aplicaciones.

Retos de IOMED

Los modelos de lenguaje normalmente son entrenados sobre textos genéricos como Wikipedia o libros. Los resultados que reportan estas arquitecturas no son literalmente aplicables a todos los dominios y mucho menos al dominio médico, donde el lenguaje utilizado en las notas clínicas difieren del texto genérico por las abreviaciones y fórmulas científicas que podemos encontrar. Nuestro reto es aprovechar las arquitecturas más innovadoras, adaptarlas a nuestro dominio y utilizándose de manera óptima para no tener que desembolsar las inasumibles cantidades de dinero que he mencionado anteriormente.

[1] Cornell University; ArXiv.org (12 de junio de 2017). Computation and Language. Attention is all you need. Disponible en: https://arxiv.org/abs/1706.03762

[2] SuperGlue (nd). Leaderboard Version: 2.0. Disponible en: https://super.gluebenchmark.com/leaderboard/

[3] Wikipedia (13 de diciembre de 2020). AlexNet. Disponible en: https://en.wikipedia.org/wiki/AlexNet

[4] Cornell University (nd), ArXiv.org. Disponible en: https://arxiv.org/

[5] TensorFlow Blog (18 de mayo de 2020). How Hugging Face achieved a 2x performance boost for Question Answering with DistilBERT in Node.js. Disponible en: https://blog.tensorflow.org/2020/05/how-hugging-face-achieved-2x-performance-boost-question-answering.html

[6] Hanxiao (29 de julio de 2019). Generic Neural Elastic Search: From bert-as-service and Go Way Beyond. Disponible en: https://hanxiao.io/2019/07/29/Generic-Neural-Elastic-Search-From-bert-as-service-and-Go-Way-Beyond/

[7] ArXiv.Org (19 de abril de 2020). The cost of training NLP Models. Disponible en: https://arxiv.org/pdf/2004.08900.pdf

[8] Lambda Labs (3 de junio de 2020). OpenAI’s GPT-3 Language Model: A Technical Overview. Disponible en: https://lambdalabs.com/blog/demystifying-gpt-3/



Image Description

Flavius Stefan Nicu

NLP Data Science