Concepto clave
La evaluación de modelos LLM fine-tuneados con RLHF y DPO va más allá de las métricas tradicionales de NLP. Aquí, medimos dos dimensiones críticas: alineamiento (cómo el modelo sigue instrucciones humanas y valores) y calidad (coherencia, relevancia y utilidad de las respuestas).
Imagina entrenar un asistente virtual: no solo debe responder correctamente (calidad), sino hacerlo de forma útil, ética y segura (alineamiento). Las métricas de alineamiento evalúan si el modelo "comprende" lo que realmente necesita el usuario, mientras que las de calidad miden técnicamente qué tan buena es la respuesta.
Cómo funciona en la práctica
El proceso típico involucra tres etapas:
- Preparación del conjunto de evaluación: Crear 100-500 ejemplos con prompts variados (instrucciones, preguntas, diálogos) y respuestas de referencia.
- Ejecución de métricas:
- Alineamiento: Usar modelos de recompensa entrenados con RLHF para puntuar qué tan bien la respuesta sigue la intención humana.
- Calidad: Calcular BLEU, ROUGE para similitud con referencia, y coherencia con modelos como BERTScore.
- Análisis comparativo: Comparar el modelo fine-tuneado contra la versión base y otros benchmarks.
Ejemplo con datos: Para un prompt "Explica la teoría de la relatividad a un niño de 10 años", evaluamos:
| Métrica | Tipo | Rango | Valor esperado |
|---|---|---|---|
| Puntuación de recompensa | Alineamiento | 0-1 | >0.7 |
| ROUGE-L | Calidad | 0-1 | >0.4 |
| Coherencia (BERTScore) | Calidad | 0-1 | >0.8 |
Caso de estudio
Evaluamos un modelo Llama-3 fine-tuneado con DPO para asistencia técnica en software. El conjunto de evaluación tiene 200 prompts de usuarios reales. Resultados clave:
El modelo mejoró el alineamiento en un 35% (puntuación de recompensa de 0.45 a 0.61) pero la calidad (ROUGE) solo aumentó un 10%. Esto indica que DPO priorizó seguir instrucciones sobre precisión técnica.
Lección aprendida: Para dominios técnicos, combinar DPO con fine-tuning supervisado en datos de alta calidad.
Errores comunes
- Evaluar solo con métricas automáticas: Las métricas automáticas pueden no capturar matices de alineamiento. Solución: Incluir evaluación humana en al menos 50 ejemplos críticos.
- Usar el mismo conjunto para fine-tuning y evaluación: Esto genera overfitting y métricas infladas. Solución: Separar conjuntos desde el inicio, con distribuciones similares pero ejemplos distintos.
- Ignorar el trade-off alineamiento-calidad: Optimizar solo una dimensión puede degradar la otra. Solución: Monitorear ambas durante el entrenamiento y ajustar hiperparámetros.
- No evaluar en casos edge: Los modelos pueden fallar en prompts complejos o ambiguos. Solución: Incluir un 20% de casos difíciles en el conjunto de evaluación.
Checklist de dominio
- He creado un conjunto de evaluación con al menos 100 ejemplos representativos de mi caso de uso.
- He implementado al menos una métrica de alineamiento (ej: modelo de recompensa) y dos de calidad (ej: ROUGE, BERTScore).
- He comparado mi modelo fine-tuneado contra la versión base y un benchmark relevante.
- He identificado y documentado trade-offs entre alineamiento y calidad en mis resultados.
- He validado métricas automáticas con evaluación humana en un subconjunto.
- He analizado errores comunes en mis evaluaciones y ajustado el proceso.
- Puedo explicar qué métricas son más importantes para mi caso de uso específico.
Implementación de pipeline de evaluación para modelo fine-tuneado
Implementa un sistema de evaluación completo para un modelo Llama-3 fine-tuneado con DPO para generación de código.
- Prepara datos: Descarga el dataset HumanEval (200 prompts de programación) y divide en 80% entrenamiento, 20% evaluación.
- Implementa métricas:
- Para alineamiento: Usa un modelo de recompensa CodeBERT fine-tuneado para puntuar qué tan bien el código generado resuelve el problema.
- Para calidad: Calcula BLEU contra soluciones de referencia y compila el código generado para verificar sintaxis.
- Ejecuta evaluación: Corre tu modelo fine-tuneado en el conjunto de evaluación y calcula todas las métricas.
- Analiza resultados: Compara contra Llama-3 base y genera un reporte con:
- Puntuaciones promedio por métrica
- 3 ejemplos donde el modelo mejoró
- 3 ejemplos donde empeoró
- Recomendaciones para próximo ciclo de fine-tuning
- Usa la librería evaluate de Hugging Face para métricas estándar como BLEU.
- Para el modelo de recompensa, fine-tuna CodeBERT con pares (código bueno, código malo) del dataset.
- Considera usar timeout en la compilación para evitar loops infinitos.
Evalua tu comprension
Completa el quiz interactivo de arriba para ganar XP.