Predicción de Preferencias Humanas entre Modelos de Lenguaje (LLM)
La inteligencia artificial conversacional ha experimentado un crecimiento extraordinario durante los últimos años. Modelos como GPT, Gemini, Claude, Llama o Qwen son capaces de responder preguntas, redactar textos, generar código o resolver problemas complejos. Sin embargo, disponer de un modelo técnicamente potente no garantiza que sus respuestas sean las que los usuarios prefieren.
En este proyecto participaremos en una competición de Kaggle cuyo objetivo es desarrollar un modelo de aprendizaje automático capaz de predecir qué respuesta será la preferida por un usuario cuando compara las respuestas generadas por dos grandes modelos de lenguaje (LLM). Este tipo de problemas constituye uno de los pilares del desarrollo de asistentes de inteligencia artificial modernos y está estrechamente relacionado con el aprendizaje por refuerzo basado en retroalimentación humana (RLHF).
Actualmente el proyecto se encuentra en fase de elaboración. En los próximos artículos iremos documentando todo el proceso, desde el análisis exploratorio de los datos hasta la construcción y evaluación de diferentes modelos de Machine Learning y Deep Learning.
Objetivo del proyecto
El objetivo consiste en construir un clasificador que, a partir de un prompt y de las respuestas generadas por dos modelos de lenguaje distintos, sea capaz de predecir cuál de ellas será elegida por el usuario.
Cada conversación pertenece a una de las siguientes categorías:
- Victoria del Modelo A.
- Victoria del Modelo B.
- Empate entre ambas respuestas.
El modelo deberá estimar la probabilidad de cada una de estas tres clases.
¿Por qué es importante este problema?
Los grandes modelos de lenguaje se utilizan cada vez más en aplicaciones reales como asistentes virtuales, buscadores inteligentes, herramientas de programación o sistemas de atención al cliente.
Sin embargo, evaluar automáticamente la calidad de una respuesta sigue siendo un problema abierto. Dos respuestas pueden ser técnicamente correctas y, aun así, los usuarios pueden preferir una sobre otra por motivos como:
- Claridad.
- Precisión.
- Longitud adecuada.
- Naturalidad.
- Organización de la información.
- Facilidad de comprensión.
Aprender estas preferencias humanas permite desarrollar asistentes más útiles y satisfactorios para los usuarios.
Relación con RLHF
Esta competición está directamente relacionada con el aprendizaje por refuerzo a partir de retroalimentación humana (Reinforcement Learning from Human Feedback, RLHF).
En lugar de entrenar un modelo únicamente con datos etiquetados, se utilizan las preferencias reales de los usuarios para construir un modelo de recompensa (Reward Model) capaz de estimar cuál de dos respuestas resulta más atractiva.
Posteriormente, estos modelos de recompensa pueden emplearse para mejorar el entrenamiento de nuevos LLM mediante técnicas de aprendizaje por refuerzo.
El conjunto de datos
Los datos proceden de Chatbot Arena, una plataforma donde miles de usuarios comparan respuestas generadas por distintos modelos de lenguaje sin conocer cuál las ha producido.
Cada registro contiene información similar a:
- El prompt introducido por el usuario.
- La respuesta del Modelo A.
- La respuesta del Modelo B.
- La decisión final del usuario.
Esta información proporciona un conjunto de datos muy valioso para estudiar las preferencias humanas frente a respuestas generadas por inteligencia artificial.
Métrica de evaluación
La competición utiliza como métrica la pérdida logarítmica (Log Loss).
Esta métrica evalúa la calidad de las probabilidades predichas por el modelo. Cuanto menor sea la pérdida logarítmica, mejores serán las predicciones.
A diferencia de la precisión (Accuracy), la Log Loss penaliza especialmente las predicciones muy seguras cuando resultan incorrectas.
Tecnologías que utilizaremos
A lo largo del proyecto exploraremos diferentes enfoques, desde modelos clásicos de Machine Learning hasta modelos basados en Transformers.
Entre las herramientas previstas se encuentran:
- Python.
- Pandas.
- NumPy.
- Scikit-learn.
- LightGBM.
- XGBoost.
- CatBoost.
- Hugging Face Transformers.
- Sentence Transformers.
- PyTorch.
- Plotly para visualización.
También analizaremos el rendimiento de diferentes técnicas de representación del texto mediante embeddings modernos.
Metodología del proyecto
El desarrollo seguirá una metodología completa de ciencia de datos.
Las principales fases serán:
- Comprensión del problema.
- Análisis exploratorio de los datos (EDA).
- Limpieza y preparación del texto.
- Ingeniería de características.
- Construcción de modelos base.
- Modelos basados en embeddings.
- Fine-tuning de Transformers.
- Optimización de hiperparámetros.
- Validación y evaluación.
- Generación de la predicción final para Kaggle.
Cada etapa contará con su correspondiente notebook y explicación detallada.
Qué aprenderemos durante el proyecto
Este proyecto permitirá profundizar en numerosos conceptos relacionados con el procesamiento del lenguaje natural y el aprendizaje automático.
Entre ellos destacan:
- Clasificación multiclase.
- Procesamiento de lenguaje natural (NLP).
- Representación vectorial de texto.
- Embeddings.
- Transformers.
- Modelos de preferencia.
- RLHF.
- Fine-tuning de modelos preentrenados.
- Validación cruzada.
- Ensamblado de modelos.
Estado del proyecto
Actualmente el proyecto se encuentra en fase inicial.
En las próximas publicaciones iremos documentando paso a paso el desarrollo completo de la solución, mostrando tanto los aciertos como los problemas encontrados durante el proceso. El objetivo no será únicamente obtener una buena posición en la clasificación de Kaggle, sino construir un proyecto reproducible y con un fuerte enfoque didáctico que sirva como referencia para cualquier persona interesada en el aprendizaje automático aplicado al procesamiento del lenguaje natural.
Conclusión
La predicción de preferencias humanas entre respuestas generadas por modelos de lenguaje representa uno de los desafíos más interesantes dentro del campo de la inteligencia artificial actual. Combina técnicas de Machine Learning, Deep Learning y Procesamiento del Lenguaje Natural con un objetivo claramente orientado a mejorar la interacción entre personas y sistemas conversacionales.
A lo largo de este proyecto exploraremos distintas estrategias para abordar este problema, compararemos múltiples modelos y analizaremos sus resultados de forma rigurosa. Además de participar en la competición de Kaggle, el proyecto servirá como una excelente oportunidad para profundizar en tecnologías que desempeñan un papel fundamental en el desarrollo de los asistentes de inteligencia artificial de última generación.
