Dominican News QA Challenge
Proyecto final de ICC-344-T: fine-tuning de BETO para question answering
extractivo sobre noticias dominicanas, a partir del modelo base provisto por
la cátedra (Lisibonny/modelo_qa_beto_squad_es_pdqa).
Integrantes
- María José Colás — 10154787
- María Tiburcio — 10150779
Resultados
Configuraciones evaluadas sobre validation (15 preguntas), verificadas con
05_evaluate_qa.py:
| Configuración | Qué cambia | EM | F1 | Δ EM vs Control |
|---|
| Baseline oficial | sin entrenamiento adicional | 60.00 | 75.84 | −6.67 |
| Control | nada; 4 épocas adicionales | 66.67 | 77.70 | 0.00 |
| Variante 1 | 10 épocas adicionales | 66.67 | 77.70 | 0.00 |
| Variante 2 | weight_decay 0.01 → 0.1 | 66.67 | 77.70 | 0.00 |
| Variante 3 | learning_rate 2e-05 → 8e-05 | 73.33 | 78.40 | +6.66 |
| Variante 4 | 5 folds promediados en un modelo, lr=8e-05 | 66.67 | 77.70 | 0.00 |
| Variante 5 | Variante 4 + max_answer_len 15 → 30 | 73.33 | 80.15 | +6.66 |
| Variante 6 | Variante 3 + max_answer_len 15 → 30 | 66.67 | 74.31 | 0.00 |
Modelo final: Variante 5 — EM 73.33% y F1 80.15%, los valores más altos en
ambas métricas. Frente al baseline son +13.33 EM y +4.31 F1; frente al
Control, que es la comparación atribuible, +6.66 EM y +2.45 F1.
Hallazgos
1. Solo el learning rate importó entre los hiperparámetros de entrenamiento.
El Control alcanzó 66.67 / 77.70 entrenando 4 épocas más sin cambiar nada, es
decir exactamente lo mismo que las Variantes 1 y 2. H1 (épocas) y H2 (weight
decay) quedan refutadas: su mejora sobre el baseline no era atribuible al
hiperparámetro. Sin el Control habrían parecido confirmadas — es el hallazgo
metodológico central del trabajo.
2. Rotar folds por sí solo perjudica. La Variante 4 usa los hiperparámetros
de la Variante 3 y bajó de 73.33 a 66.67: perdió la ganancia del learning rate.
Cada fold ve 36 ejemplos en vez de 45, y con un dataset tan pequeño esa pérdida
pesa más que el beneficio de promediar. H4 refutada.
3. Levantar el tope de longitud no es una mejora universal. Sobre el modelo
con folds subió el EM a 73.33 y el F1 a 80.15, recuperando un ejemplo cuya
referencia mide 18 tokens y era imposible de emitir con el tope de 15. Sobre el
modelo sin folds (Variante 6) empeoró: eligió un span largo en una pregunta
de respuesta corta que ya acertaba. H5 se confirma solo condicionalmente.
4. Los factores interactúan. El diseño de dos factores da un patrón cruzado
en EM: sin folds 73.33 / 66.67 y con folds 66.67 / 73.33 para
max_answer_len 15 / 30. Ninguno ayuda solo de forma consistente, pero la
combinación da el mejor resultado. Con 15 preguntas, cada celda difiere en un
ejemplo, así que es una observación, no un efecto demostrado.
5. Tres ejemplos fallaron en las ocho configuraciones: una pregunta
cualitativa frente a un contexto lleno de cifras, una pregunta causal, y una
respuesta compuesta de 27 tokens que enumera tres personas. Los tres requieren
más datos de entrenamiento con esos patrones, no más ajuste de hiperparámetros.
Modelo final publicado
La model card completa (hiperparámetros, experimentos, ablación, análisis de
errores y limitaciones) está publicada como README.md de ese repositorio en
Hugging Face, con copia en MODEL_CARD.md.
El checkpoint lleva max_answer_len=30 en su config.json. Para reproducir las
métricas hay que aplicarlo, leyéndolo del propio config:
1from transformers import AutoConfig, pipeline
2
3REPO = "Majo17/modelo_qa_beto_pdqa_variante1"
4config = AutoConfig.from_pretrained(REPO)
5qa = pipeline("question-answering", model=REPO, tokenizer=REPO,
6 max_answer_len=int(config.max_answer_len))
Recursos oficiales de la cátedra