Resumen ejecutivo: La aparición de los Modelos de Lenguaje de Gran Escala (LLM) ha revolucionado la clasificación de texto, transitando de los sistemas tradicionales basados en reglas hacia técnicas avanzadas de aprendizaje profundo. Esta evolución mejora aplicaciones como la detección de spam y el análisis de sentimiento, ofreciendo soluciones más precisas y eficientes.
Este artículo:
- Analiza la evolución de la clasificación de texto con la llegada de los Modelos de Lenguaje de Gran Escala (LLM).
- Explora aplicaciones en detección de spam, análisis de sentimiento y categorización de temas.
- Destaca el cambio de los sistemas basados en reglas hacia el aprendizaje profundo y las arquitecturas transformer.
Introducción
A medida que avanza el procesamiento de lenguaje natural (NLP), la clasificación de texto sigue siendo una tarea fundamental con aplicaciones en detección de spam, análisis de sentimiento, categorización de temas y más. Tradicionalmente, esta tarea dependía de sistemas basados en reglas y algoritmos clásicos de aprendizaje automático. Sin embargo, la aparición del aprendizaje profundo, las arquitecturas transformer y los Modelos de Lenguaje de Gran Escala (LLM) ha transformado la clasificación de texto, permitiendo soluciones más precisas, matizadas y sensibles al contexto.
En Red Sift, nuestro compromiso con la tecnología y la innovación nos impulsa a explorar y adoptar continuamente metodologías de vanguardia, integrándolas en nuestro trabajo para abordar desafíos complejos. En este artículo, exploraremos algunos de los enfoques más avanzados de clasificación de texto y los compararemos con un modelo de ML tradicional, mostrando el poder de la innovación y destacando las fortalezas y limitaciones de cada uno.
Tarea y datos
La tarea de clasificación consiste en categorizar el contenido de sitios web en uno de 15 sectores industriales, alineados con los códigos NAICS.
El conjunto de prueba comprende 1.500 sitios web, con 100 muestras por clase. Para evaluar cómo se desempeña cada técnica con distintas cantidades de datos de entrenamiento, ajustamos el tamaño del conjunto de entrenamiento en cinco niveles: 100x, 200x, 400x, 800x y 1600x. Aquí, “100x” corresponde a 100 puntos de datos por clase (1.500 puntos de datos en total), lo que nos permite observar la efectividad de cada método a medida que el conjunto de datos crece.
Técnicas y resultados
Línea base: Bolsa de palabras
Antes de aplicar cualquier modelo de ML, los datos de texto deben transformarse en vectores numéricos. Una de las técnicas más básicas y populares para la vectorización de texto es la Bolsa de Palabras (BoW, por sus siglas en inglés). Esta crea un vocabulario con todas las palabras únicas del corpus y representa cada documento como un vector donde cada elemento corresponde a la presencia de una palabra en el vocabulario. Alternativamente, podemos usar la frecuencia de la palabra en el documento o una puntuación TF-IDF más sofisticada (una fórmula que tiene en cuenta la frecuencia de la palabra en el documento y la frecuencia de la palabra en el corpus).
Para la parte de modelado, usaremos un modelo simple de Regresión Logística, implementado en scikit-learn. La combinación de BoW y Regresión Logística es una línea base clásica y potente para las tareas de clasificación de texto. En este experimento se utiliza la precisión (accuracy) como métrica. La siguiente figura muestra que el rendimiento en el conjunto de prueba aumenta de forma lineal con el crecimiento exponencial del tamaño de entrenamiento.


Representación vectorial densa
Algunas limitaciones del modelo BoW incluyen:
- El vector es disperso, lo que puede no ser adecuado para todos los algoritmos de ML.
- El vector es de alta dimensionalidad, lo que puede requerir mucha memoria y potencia de cómputo.
- El orden de las palabras se ignora, lo que puede perder información.
Para abordar estas limitaciones, podemos usar una representación vectorial densa.
Word embeddings (incrustaciones de palabras)
Los word embeddings son representaciones matemáticas de palabras en un espacio vectorial continuo, donde las palabras semánticamente similares se mapean a puntos cercanos. Cada palabra se representa como un vector denso de números de punto flotante, cuyos valores se aprenden analizando grandes corpus de texto. Para encontrar la representación de un documento, podemos promediar los word embeddings de las palabras que lo componen. Dos modelos tempranos y destacados de word embeddings son Word2Vec y GloVe. Word2Vec utiliza una red neuronal superficial para aprender las incrustaciones, mientras que GloVe se basa en la matriz de co-ocurrencia de palabras en el corpus. En este experimento usaremos GloVe.
Desde la introducción de la arquitectura transformer en el artículo Attention is All You Need, los modelos basados en transformer se han convertido en el estado del arte para muchas tareas de NLP. Los mecanismos de auto-atención en la arquitectura transformer permiten capturar dependencias y relaciones de largo alcance entre palabras, algo que los modelos anteriores no lograban. Su arquitectura también es adecuada para la paralelización, lo que permite un entrenamiento e inferencia más rápidos en comparación con el procesamiento secuencial de los modelos RNN. BERT es uno de los modelos más destacados de esta familia. Por ello, también incluimos BERT (base-uncased) en este experimento.
De forma similar a la sección anterior, tras la vectorización usamos un modelo simple de Regresión Logística y la precisión como métrica. La siguiente figura muestra que los word embeddings están preentrenados y tienen un inicio rápido cuando el tamaño del conjunto de entrenamiento es pequeño. Sin embargo, el rendimiento de GloVe y BERT es peor que el de BoW cuando el tamaño del conjunto de entrenamiento es mayor. Una posible explicación es que BoW, aunque más simple, aprende su representación a partir de datos con una distribución similar a la del conjunto de prueba, mientras que los word embeddings están preentrenados con datos más genéricos.


Document embeddings (incrustaciones de documentos)
Esta sección se centra en técnicas más modernas para representar documentos como vectores densos de forma directa, en lugar de promediar sus word embeddings. Evaluaremos el modelo gte-large-en-v1.5, que se desempeña muy bien en el Massive Text Embedding Benchmark (MTEB) Leaderboard de Hugging Face dado su reducido tamaño (menos de 1B de parámetros). También incluimos otros dos modelos comerciales de OpenAI (text-embedding-3-large) y Google (text-embedding-004). Estos modelos superan a BoW con el mayor tamaño de conjunto de entrenamiento y también muestran un excelente rendimiento con el tamaño más pequeño.


Ajuste fino (fine-tuning) de LLM con cabezal de clasificación
En el enfoque de embeddings, las incrustaciones están preentrenadas y son fijas; solo los pesos del modelo de regresión logística se actualizan durante el entrenamiento. Esto limita el rendimiento del modelo. El ajuste fino de LLM permite que el modelo aprenda características específicas de la tarea y logre un mejor rendimiento.
Existen diferentes enfoques para elegir qué parte del LLM ajustar, dependiendo de los datos de entrenamiento disponibles. La capa final del LLM, utilizada para predecir la siguiente palabra, se reemplaza por una capa softmax para la clasificación. Dado que contamos con una cantidad limitada de datos de entrenamiento, solo ajustaremos esta capa.
Exploramos el rendimiento de los siguientes LLM representativos:
- BERT: el clásico modelo transformer basado únicamente en codificador (base-uncased, 110M de parámetros)
- GPT-2: el clásico modelo transformer basado únicamente en decodificador (small, 124M de parámetros)
- Llama-3: el último LLM basado únicamente en decodificador de Meta AI (8B y 70B de parámetros)
Todos los modelos superaron al mejor enfoque anterior, Embedding Google, excepto GPT-2. En general, cuanto más grande es el modelo, mejor es el rendimiento.


Aprendizaje en contexto (in-context learning) con LLM de instrucciones
Desde la introducción del artículo InstructGPT y la herramienta ChatGPT, los LLM pueden utilizarse eficazmente para tareas de clasificación mediante simples prompts. Exploramos modelos de destacados proveedores de LLM con un número distinto de ejemplos proporcionados en el prompt. En el prompt, describimos la tarea y las clases, y luego proporcionamos ejemplos para cada clase.
Descubrimos algunos hallazgos interesantes:
- Tamaño del modelo: Los modelos grandes GPT-4 y GPT-4o son claramente los de mejor rendimiento, seguidos de Claude 3.5 Sonnet y Gemini 1.5 Pro.
- Los modelos pequeños GPT-4o Mini, Gemini 1.5 y Llama-3 70B son igualmente buenos con 0-2 ejemplos.
- Cuanto más grande es el modelo, menos ejemplos se necesitan.
- Los modelos Llama sufren una gran caída de rendimiento con 5 ejemplos. No está claro por qué ocurre esto, ya que la longitud del prompt aún no alcanza el límite de contexto.


Aprendizaje sin ejemplos (zero-shot) con LLM ajustados por instrucciones
No en esta tarea específica, pero en tareas más difíciles, el aprendizaje en contexto puede requerir muchos ejemplos para lograr un buen rendimiento. Esto conduce a un prompt extenso con varios inconvenientes:
- Algunos LLM tienen ventanas de contexto limitadas y tienen dificultades con prompts largos
- Mayor latencia de inferencia debido al procesamiento de más tokens
- Mayores costos de API debido a un mayor número de tokens
Para abordar estos problemas, podemos ajustar los LLM con instrucciones. Cada elemento en los datos de entrenamiento para el ajuste fino es un par de prompt-respuesta. El modelo ajustado comprenderá la tarea en profundidad, seguirá la instrucción y hará predicciones con un prompt mucho más corto.
En los datos de entrenamiento, necesitamos incluir una descripción detallada de las clases, igual que en el aprendizaje en contexto, para ayudar al modelo a comprender la tarea. Sin embargo, en la etapa de inferencia, podemos incluir solo los nombres de las clases sin ninguna descripción y sin ejemplos, para reducir significativamente la longitud del prompt.
La siguiente figura muestra una gran mejora entre el ajuste fino por instrucciones y el modelo predeterminado con prompting de pocos ejemplos (few-shot). El modelo más pequeño, Llama-3 8B, se benefició más del ajuste fino por instrucciones.


Discusión
Para resumir nuestro análisis, la siguiente figura compara las técnicas de mejor rendimiento entre los distintos enfoques, destacando varios aspectos clave:
- Sin datos de entrenamiento: El prompting de pocos ejemplos (few-shot) con GPT-4 ofrece la mayor precisión, superando incluso a todos los demás métodos con distintos tamaños de datos de entrenamiento. Sin embargo, esto conlleva las desventajas de ser la opción más lenta y costosa.
- Datos de entrenamiento pequeños (50x-100x): El ajuste fino por instrucciones con Llama-3 70B logra la mejor precisión, con el modelo más pequeño de 8B también teniendo un buen desempeño. Para tareas más desafiantes o específicas de dominio, es probable que el ajuste fino por instrucciones con modelos de código abierto supere a las opciones comerciales genéricas. Este método también es más rápido y rentable.
- Datos de entrenamiento medianos (400x-800x): El ajuste fino del cabezal de clasificación con LLM demuestra ventajas claras en este rango. Ajustar un modelo Llama-3 70B logra la mayor precisión, comparable a GPT-4. Modelos más pequeños como BERT-base (110M frente a 7B) ofrecen una precisión ligeramente menor pero un rendimiento mucho más rápido, lo que los convierte en una alternativa práctica.
- Grandes datos de entrenamiento (1600x): Para esta tarea de clasificación sencilla, un modelo clásico de Bolsa de Palabras (BoW) tiene un rendimiento sorprendentemente bueno en comparación con técnicas más avanzadas. La tendencia lineal en la primera figura sugiere que el rendimiento podría mejorar aún más con datos de entrenamiento adicionales. Sin embargo, este enfoque tiene algunas limitaciones: requiere grandes cantidades de datos de entrenamiento y es monolingüe, lo que significa que se necesitan conjuntos de datos diferentes para cada idioma. En cambio, muchos modelos de lenguaje de gran escala (LLM) son inherentemente multilingües. A pesar de estas limitaciones, BoW sigue siendo un método extremadamente rápido.


Conclusión
En conclusión, la clasificación de texto ha recorrido un largo camino con el auge de los LLM, ofreciendo capacidades transformadoras para aplicaciones del mundo real. En Brand Trust, estas innovaciones en clasificación de texto nos permiten clasificar el contenido de páginas web y las categorías industriales con precisión, reforzando nuestra capacidad para identificar y mitigar los riesgos de suplantación de dominio. Más allá de la clasificación de texto, la IA generativa ha impulsado avances en todos nuestros productos, subrayando nuestro compromiso con la aplicación de la IA para abordar desafíos complejos en ciberseguridad.
Tamaño de ejemplo:
Phong's work explores a number of projects focused on NLP, anomaly detection, active learning and visualisation. He is a most known for his work behind Red Sift Radar.




