QA BETO SQuAD-ES PDQA (fine-tuned, 12 épocas — supera al baseline oficial)

Descripción

Modelo desarrollado para el Dominican News Question Answering Challenge de ICC-344-T. El sistema recibe una pregunta y un contexto noticioso, y extrae una respuesta contenida explícitamente en el contexto.

Integrantes

  • Fanny Raciely Gomez Williams 1015 4383
  • Yuji Yamaki Kokubun 1015 3238

Recursos oficiales

Modelo base

  • Repositorio: Lisibonny/modelo_qa_beto_squad_es_pdqa
  • Justificación: se probaron dos variantes de fine-tuning adicional sobre las 45 filas de train, cambiando únicamente el número de épocas (8 vs. 12). La Variante 2 (12 épocas) superó al baseline oficial tanto en Exact Match (66.7 vs. 60.0) como en F1 (76.6 vs. 75.8), por lo que se seleccionó como modelo final (ver "Experimentos" y "Ablación" abajo).
  • Número aproximado de parámetros: ~110M (arquitectura BERT-base / BETO)

Datos

División Filas Uso
train 45 Entrenamiento
validation 15 Comparación y selección
test 20 Predicciones finales

No se publicaron ni utilizaron respuestas privadas de test.

Entrenamiento

El modelo final es el resultado de un fine-tuning adicional del baseline sobre las 45 filas de train (Variante 2, 12 épocas). La tabla describe los hiperparámetros usados en ambas variantes comparadas.

Parámetro Valor
Seed 42
Learning rate 3e-5
Batch size 8
Épocas 8 (Variante 1) / 12 (Variante 2, modelo final)
Max length 384
Doc stride 128
Weight decay 0.01
Hardware CPU (Google Colab)
Tiempo Variante 2 (12 épocas): ~47 min (confirmado). Variante 1 (8 épocas): no se registró el tiempo exacto en esta corrida (proporcionalmente, ~31 min).

Experimentos

Experimento Cambio EM validation F1 validation
Baseline oficial Sin cambios 60.0 75.8
Variante 1 Fine-tuning sobre train (45 ejemplos), 8 épocas, lr=3e-5 60.0 71.0
Variante 2 Igual que Variante 1 pero 12 épocas (ablación: única variable cambiada) 66.7 76.6
Modelo final = Variante 2 (supera al baseline en EM y F1) 66.7 76.6

Ablación o comparación controlada

Se comparó Variante 1 (8 épocas) contra Variante 2 (12 épocas), manteniendo fijos el modelo base, el learning rate (3e-5) y la semilla (42) — la única variable que cambió fue el número de épocas de entrenamiento.

Resultado: más épocas mejoró el desempeño de forma clara (EM 60.0→66.7, F1 71.0→76.6), y esta vez la Variante 2 superó al baseline oficial en ambas métricas. Esto indica que, en el rango probado, el modelo seguía beneficiándose de entrenamiento adicional sobre los 45 ejemplos de train, sin mostrar señales de sobreajuste todavía.

Resultados

  • Exact Match en validation: 66.7
  • F1 en validation: 76.6
  • Modelo: Variante 2 (fine-tuning, 12 épocas) — ver "Experimentos"
  • Script de evaluación: 05_evaluate_qa.py

Ejemplo de uso

from transformers import pipeline

qa = pipeline(
    "question-answering",
    model="YujiYamaki/qa_final_es",
    tokenizer="YujiYamaki/qa_final_es"
)

qa(
    question="¿Quién hizo el anuncio?",
    context="La ministra informó que el programa comenzará en agosto."
)

Análisis de errores

De 15 ejemplos de validation, el modelo final (Variante 2) falló (EM=0) en 5 (el baseline fallaba en 6):

  1. Límite de span (respuesta truncada) — 2 de 5 (40%): el modelo ubica la región correcta pero corta la respuesta antes de tiempo. Ej.: referencia "concienciar sobre el acoso escolar y social que sufren las personas con síndrome de Down" → predicción "concienciar sobre el acoso escolar" (F1=0.47); referencia "gira en torno al embarazo en adolescentes" → predicción "en torno al embarazo en adolescentes" (F1=0.92, solo falta la palabra "gira").
  2. Extracción de contenido totalmente distinto — 2 de 5 (40%): el modelo elige un span sin relación semántica con la respuesta esperada. Ej.: referencia "seguirá siendo alta" → predicción "en torno al 7% a nivel mundial" (F1=0.0); referencia "por las turbulencias en el sector bancario..." → predicción "desde diciembre" (F1=0.0).
  3. Enumeración mal manejada — 1 de 5 (20%): cuando la respuesta correcta es una lista de varias entidades, el modelo responde con un resumen en vez de la lista. Ej.: referencia con 3 exministros nombrados → predicción "a tres exministros" (F1=0.10).

Comparación con el baseline: la Variante 2 corrigió exactamente 1 de los 6 errores del baseline (el de "a 11 bateadores", antes le faltaba la palabra "a"). Los 2 errores de "contenido totalmente distinto" son prácticamente idénticos a los del baseline — sugiere que esas preguntas específicas son genuinamente difíciles para este modelo base, independientemente del fine-tuning aplicado.

Limitaciones

  • La respuesta debe estar presente en el contexto.
  • El modelo puede confundir entidades, fechas o cantidades similares.
  • El modelo no verifica la veracidad de la noticia.
  • No debe utilizarse como única fuente para decisiones de alto impacto.
  • El dataset de entrenamiento es muy pequeño (45 ejemplos) — la mejora observada es real dentro del rango probado (hasta 12 épocas), pero no se exploró más allá, así que no hay garantía de que más entrenamiento siga ayudando o de que en algún punto empiece a sobreajustar.
  • El set de validation tiene solo 15 preguntas — el Exact Match solo se puede mover en saltos de ~6.7%, así que los resultados deben interpretarse con cautela estadística, no como una certeza absoluta.
  • Sigue teniendo errores de límite de span (respuesta truncada) en el 40% de los casos que falla, y de contenido totalmente distinto en el otro 40%.
  • El split test públicamente disponible de Lisibonny/pdqa actualmente expone respuestas reales y consistentes con el contexto en las 20 filas (no debería, según el diccionario de datos del proyecto); no se usaron para entrenar ni ajustar este modelo.

Reproducibilidad

Downloads last month
76
Safetensors
Model size
0.1B params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for YujiYamaki/qa_final_es

Finetuned
(7)
this model

Dataset used to train YujiYamaki/qa_final_es