IA Conversacional a velocidad absurda


Details
Uno de los principales problemas a la hora de hacer un chatbot, agente o IA Conversacional es la clasifciación hacia el intent, es decir, dada una frase del usuario saber a qué intent se refiere.Hoy en día para esta tarea, y especialmente tras el paper "Attention is all you need", se utilizan modelos cada vez más grandes y costosos de entrenar.
Pero hay proyectos con necesidades especiales en cuanto a performance. ¿Qué sucede si nos piden ser capaces de contestar a más de 1.000 frases de usuarios por segundo? ¿Y si son 10.000? ¿Son estos modelos los más adecuados entonces? ¿Son tal vez los NLU comerciales como Microsoft LUIS o Dialogflow? ¿Cuáles serían los costos? Como spoiler, Hugging Face lanzó hace 7 meses Infinity, que consigue 1000 utterances por segundo con modelos BERT, pero cuyo coste es de 20.000$ anuales. En este meetup vamos a ver cómo llegar a más de 1000 utterances por segundo desplegando en un servidor gratuito y usando sólo CPU.
Partamos de cero y empecemos con lo más básico: el perceptrón. Con un único perceptrón por cada intent, y usando algo tan clásico como el One Hot Encoding, vamos a buscar tener cifras de accuracy bastante buenas, para luego cambiar la forma de representar la información para poder llegar a cifras muy superiores a 1000 frases por segundo. Compararemos el accuracy de esta prueba con modelos XLM-R, mT5 y con el DIET de RASA usando la corpora Amazon Massive, una corpora enorme en 51 lenguajes con 60 intents por cada lenguaje y unas 16121 utterances por cada lenguaje, repartidas entre train, test y dev. Mejoraremos ese accuracy para los 51 lenguajes gracias a la lingüística.
Finalmente, cuando el cuello de botella ya no esté en la red neural, veremos cómo desplegarlo como una API que dé los mejores resultados, cómo afinarlo para ir incluso mejor, y qué resultados da desplegando en diferentes servidores. Nuestro objetivo: más de 10.000 utterances por segundo servidas por API con un coste de menos de 100$ al mes.

IA Conversacional a velocidad absurda