Transformando tareas generativas en tareas de clasificación

Generative tasks transformed into classification tasks.

Los sistemas de aprendizaje automático (ML) están volviéndose cada vez más poderosos, con aplicaciones en una amplia gama de campos. Además, los sistemas de ML y NLP se utilizan para mejorar la calidad de los sistemas de recuperación de información, facilitando que los usuarios encuentren la información que necesitan. Esto nos permite acceder y comprender la información de diversas fuentes de manera mucho más sencilla. Por ejemplo,

  • La IA conversacional se puede utilizar para crear chatbots que pueden mantener conversaciones naturales con los humanos.
  • Los sistemas de recomendación pueden utilizar NLP para recomendar productos relevantes para los intereses de un usuario.
  • El análisis de sentimientos se puede utilizar para identificar el tono emocional de un texto.

El entrenamiento de muchos modelos de aprendizaje profundo requiere una gran cantidad de recursos computacionales, como GPUs y TPUs. El costo de la inferencia también puede ser prohibitivo para la aplicación de estos modelos en situaciones de alto rendimiento.

Formas de mejorar el rendimiento

Existen tres formas principales de aumentar el rendimiento de los modelos de ML.

  1. Podemos simplificar la tarea misma de formas creativas.
  2. Luego, podemos considerar modelos más simples y más pequeños cuando sea posible.
  3. Finalmente, podemos utilizar técnicas innovadoras para reducir la complejidad computacional a costa de una disminución en la precisión.

De estas, las mayores ganancias se encuentran a menudo al redefinir creativamente la tarea en cuestión. Por ejemplo, si la tarea está bien definida y no es generativa, podemos diseñar modelos más pequeños y eficientes para lograr un rendimiento similar.

Aunque los modelos más grandes ayudan con tareas generativas y también con la generalización entre tareas (también conocida como transferencia de aprendizaje), muchas veces los problemas generativos se pueden convertir en problemas de clasificación que los modelos estilo BERT pueden manejar. En otras palabras, si podemos reducir el alcance de lo que queremos que el modelo haga, no necesitamos un modelo grande para hacerlo. Un modelo más pequeño puede ser igual de preciso y será mucho más rápido y económico de entrenar y ejecutar. Sin embargo, si queremos que el modelo realice una variedad de tareas diferentes, entonces es posible que necesitemos un modelo más grande. Esto se debe a que los modelos más grandes pueden generalizar mejor (también conocido como transferencia de aprendizaje). En algunos casos, incluso podemos convertir un problema generativo en un problema de recuperación.

Estudio de caso: Plantillas de soporte al cliente

Por ejemplo, en el caso de las interacciones de chat de soporte, varias interacciones se pueden responder utilizando el libro de jugadas del cliente. En este caso, es más fácil y más económico convertir el problema en un problema de recuperación para encontrar la plantilla que mejor satisfaga al usuario.

Recopilación de datos de entrenamiento

El primer paso es dividir el registro del servicio al cliente convirtiéndolo en una lista de preguntas y respuestas. Esto significa que cada turno de la conversación se descompone en sus partes individuales, como la pregunta del cliente y la respuesta del agente. Una vez hecho esto, el siguiente paso es comparar las preguntas y respuestas con un repositorio de plantillas existente. Un repositorio de plantillas es una colección de respuestas preescritas que se pueden utilizar para responder preguntas comunes de los clientes. Al comparar las preguntas y respuestas del registro del servicio al cliente con el repositorio de plantillas, el sistema puede identificar qué respuestas preescritas son las más propensas a ser útiles para resolver el problema del cliente. Este proceso puede ayudar a ahorrar tiempo y mejorar la eficiencia del servicio al cliente.

Etapa 1: Recopilación del conjunto de datos de entrenamiento

Alternativamente, se pueden utilizar LLMs para facilitar este paso. Utilizando indicaciones de pocos ejemplos, se pueden comparar con la respuesta de plantilla correcta para cada interacción de servicio al cliente. Los LLMs se pueden utilizar para comparar las interacciones de servicio al cliente con las respuestas de plantilla correctas proporcionando al LLM algunos ejemplos de interacciones de servicio al cliente y las respuestas de plantilla correspondientes. El LLM podrá aprender a comparar nuevas interacciones de servicio al cliente con las respuestas de plantilla correctas. Esto puede ahorrar a los representantes de servicio al cliente mucho tiempo y esfuerzo, ya que ya no tendrán que buscar manualmente la respuesta de plantilla correcta para cada interacción.

La recopilación de datos de entrenamiento de esta manera tiene varias ventajas:

  • Es fuera de línea, lo que significa que se puede hacer en el momento del entrenamiento sin acceso a las solicitudes de los usuarios.
  • Es de tamaño pequeño, lo que significa que se puede almacenar y procesar fácilmente. Esto es importante para entrenar modelos de aprendizaje automático en dispositivos con almacenamiento o capacidad de procesamiento limitada.
  • Se puede utilizar para tareas de clasificación con alta precisión. Esto se debe a que los datos se recopilan en un entorno controlado, lo que reduce la cantidad de ruido y error en los datos.

Entrenamiento de modelos de clasificación

Podemos entrenar un modelo de clasificación en tres pasos:

  1. Configurar tareas explotando las respuestas de plantillas recuperadas. Esto significa descomponer las respuestas de plantillas en sus componentes individuales, como palabras, frases y entidades. Al explotar las respuestas de plantillas recuperadas, debes tener cuidado de evitar elegir plantillas irrelevantes.
  2. Codificar interacciones y plantillas utilizando SentenceBERT, Word2Vec, etc. Esto significa representar las interacciones y plantillas como vectores de números. Al codificar interacciones y plantillas, debes seleccionar una técnica de codificación que preserve el significado semántico.
  3. Usar un modelo de ML simple y económico para predecir la mejor plantilla. El modelo incluso puede ser una DNN simple. Al utilizar una DNN simple y económica para predecir la mejor plantilla, debes elegir una DNN adecuada. Por ejemplo, para clasificación compleja, es posible que desees utilizar una DNN que se haya entrenado en un corpus grande de texto.

Las ventajas de este modelo de clasificación son que tiene costos de entrenamiento bajos y es económico de servir. También es muy fácil volver a entrenar el modelo e incluso más explicativo que el uso de modelos más profundos y grandes.

De hecho, el modelo aprendido no necesita ser una DNN. También puede ser un bosque aleatorio (clasificador basado en XGBoost) que tiene aún más ventajas en velocidad de ejecución y facilidad de entrenamiento. Las ventajas de este modelo de clasificación son:

  • Costo de entrenamiento bajo: Este modelo es relativamente económico de entrenar en comparación con otros modelos, como redes neuronales profundas.

  • Económico de servir: Este modelo también es relativamente económico de servir una vez que ha sido entrenado.

  • Fácil de volver a entrenar: Este modelo es fácil de volver a entrenar si hay nuevos datos disponibles.

  • Más explicativo que modelos más profundos y grandes: Este modelo es más fácil de explicar que modelos más profundos y grandes, lo cual puede ser útil para comprender cómo funciona el modelo y por qué hace las predicciones que hace.

De hecho, el modelo aprendido no necesita ser una DNN. También puede ser un bosque aleatorio (clasificador basado en XGBoost que se caracteriza por su velocidad y precisión) que tiene aún más ventajas en velocidad de ejecución y facilidad de entrenamiento. Cada árbol de decisión se entrena en un subconjunto diferente de los datos, y las predicciones de los árboles individuales se combinan para hacer una predicción final. Este enfoque puede ser muy efectivo para tareas de clasificación, y también puede ser muy rápido de entrenar y servir.

En general, las ventajas de este modelo de clasificación lo convierten en una buena opción para una variedad de aplicaciones. Es relativamente económico de entrenar y servir, es fácil de volver a entrenar y es más explicativo que modelos más profundos y grandes.