Fine-tuning vs LLMs: el modelo pequeño gana
Clasificación de tweets en tres clases — hate speech, ofensivo o ninguno — comparando un RoBERTa fine-tuneado contra Llama-3.2-3B en zero-shot y few-shot. El resultado va contra la intuición de la era LLM: el modelo especializado de 125M de parámetros supera por ~37 puntos de accuracy al LLM generalista. Y el few-shot, que "debería" ayudar, empeoró las cosas.
Tres enfoques, misma tarea
Entrenar, pedir, o pedir con ejemplos.
RoBERTa fine-tuneado
roberta-base entrenado con ~20k tweets etiquetados: tokenización, Trainer de Hugging Face y evaluación sobre 4.957 ejemplos de test.
Llama-3.2-3B zero-shot
El LLM clasifica sin ejemplos, solo con un prompt restrictivo de moderación que fuerza la salida a un id de clase.
Llama-3.2-3B few-shot
Mismo LLM pero con ejemplos balanceados por clase inyectados en el prompt, seleccionados del set de entrenamiento.
Resultados
No hubo contienda.
RoBERTa fine-tuneado
0%
accuracy · 4.957 tweets de test
Llama-3.2-3B zero-shot
0%
accuracy · muestra balanceada
Llama-3.2-3B few-shot
0%
accuracy · con ejemplos, y peor
Accuracy
Macro F1
La lectura fina importa más que el titular. El punto débil de todos los enfoques fue la clase hate speech: RoBERTa logró F1 0.46 (el desbalance pesa — solo 286 de 4.957 ejemplos), y el LLM fue extremadamente conservador: precisión 1.0 pero recall 0.10 — solo etiquetó odio cuando era obvio, y usó "ofensivo" como categoría por defecto para todo lo agresivo.
Y el hallazgo menos intuitivo: few-shot empeoró al zero-shot (0.50 vs 0.55). Los ejemplos en el prompt no le enseñaron los límites entre clases; le agregaron ruido. La conclusión de ingeniería: para clasificación especializada con datos etiquetados disponibles, un modelo pequeño fine-tuneado sigue siendo más preciso, más barato y más rápido que un LLM generalista — el LLM conviene cuando no hay datos o la taxonomía cambia constantemente.