Puntin26/modelo_qa_pdqa_ian_diego
BETO QA para noticias dominicanas — 3 épocas
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.
- Modelo publicado: Puntin26/modelo_qa_pdqa_ian_diego
Integrantes
- Ian Alvarez — 10154872
- Diego Armando Batista — 10149941
Recursos oficiales
- Dataset: Lisibonny/pdqa
- Baseline: Lisibonny/modelo_qa_beto_squad_es_pdqa
- Aplicación: Lisibonny/Repartidor_Dominicano
Modelo base
- Repositorio:
Lisibonny/modelo_qa_beto_squad_es_pdqa - Justificación: es el baseline oficial del reto y permite medir una mejora controlada mediante fine-tuning sobre el mismo punto de partida.
- Número de parámetros: 109,261,826
Datos
No se publicaron ni utilizaron respuestas privadas de test.
Entrenamiento
Experimentos
Ablación o comparación controlada
Primero se compararon 3 y 6 épocas manteniendo constantes el modelo inicial, los datos, seed, learning rate, batch size, weight decay, max_length y doc_stride. La variante de 3 épocas obtuvo 66.67 EM y 77.70 F1, mientras que 6 épocas bajó a 53.33 EM y 69.70 F1, señal de que entrenar más no generalizó mejor. Después se redujo únicamente el learning rate: 1e-5 igualó el resultado de 3 épocas y 5e-6 quedó cerca del baseline. Finalmente se cambió únicamente max_answer_len: con 20 tokens el modelo de 3 épocas alcanzó 73.33 EM y 80.15 F1; subirlo a 30 o 60 no añadió beneficio.
Resultados
- Exact Match en validation: 73.33
- F1 en validation: 80.15
- Hardware de la corrida comparativa: GPU NVIDIA Tesla T4
- Tiempo observado para 3 épocas: 10.70 s
- Script de evaluación:
05_evaluate_qa.py
Ejemplo de uso
from transformers import pipeline
qa = pipeline(
"question-answering",
model="Puntin26/modelo_qa_pdqa_ian_diego",
tokenizer="Puntin26/modelo_qa_pdqa_ian_diego"
)
qa(
question="¿Quién hizo el anuncio?",
context="La ministra informó que el programa comenzará en agosto.",
max_answer_len=20,
)Análisis de errores
- Respuesta exacta: 11 de 15 casos del modelo final coincidieron exactamente con alguna respuesta de referencia.
- Límites o respuesta parcial: el modelo identificó la zona correcta, pero incluyó o excluyó palabras adyacentes. Esta fue la categoría que más se benefició al aumentar
max_answer_len. - Sin solapamiento: algunos casos siguieron apuntando a una entidad o fragmento distinto; el dataset pequeño limita cuánto puede aprender el modelo sobre patrones menos frecuentes.
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 conjunto de entrenamiento tiene solo 45 ejemplos, por lo que las métricas de validation pueden variar mucho con pocos aciertos.
- Para reproducir el resultado reportado se debe usar
max_answer_len=20durante la inferencia.
Reproducibilidad
- Repositorio de código: Puntin26/Paquete_Estudiantes_QA
- Versión actual: rama `main`
- Notebook:
Paquete_Estudiantes_QA/03_Introduccion_QA_Noticias.ipynb - Archivo de dependencias:
Paquete_Estudiantes_QA/09_requirements.txt - Script para CSV nuevo:
Paquete_Estudiantes_QA/predict_qa.py - Semillas: 42
Modelo final local
Los pesos seleccionados están guardados en modelos/variante_3_epocas. El repositorio de Hugging Face debe conservar los archivos de esa carpeta junto con esta model card renombrada como README.md.
