Downloads · 30 days
4
3% of all-time downloads
Majo17/modelo_qa_beto_pdqa_variante1
modelo_qa_beto_pdqa_variante1 is a machine learning model from Majo17. Use it for the machine learning task on the model card, and read the license before you ship it in a product.
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/modeloqabetosquadespdqa).
Downloads · 30 days
4
3% of all-time downloads
All-time downloads
120
Public
Parameters
109M
874 MB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors437 MB · 100%
From the Hugging Face model README
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).
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.
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.
Majo17/modelo_qa_beto_pdqa_variante1
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:
from transformers import AutoConfig, pipeline
REPO = "Majo17/modelo_qa_beto_pdqa_variante1"
config = AutoConfig.from_pretrained(REPO)
qa = pipeline("question-answering", model=REPO, tokenizer=REPO,
max_answer_len=int(config.max_answer_len))