CoolFace
Modelpublic

ronsuez/bertin-3heads-paes-large-large-v6

sourceHugging Faceapache-2.0updated 1y agoView on Hugging Face
0likes5downloads
Model Card

bertin-3heads-paes-large large-v6

Modelo BERT multihead en español para clasificación de preguntas PAES con tres tareas simultáneas.

Descripción del Modelo

Este modelo está basado en bertin-project/bertin-roberta-base-spanish y ha sido fine-tuneado para realizar tres tareas simultáneas sobre preguntas del tipo PAES:

  1. 1.Clasificación de Competencias (4 clases): Resolver, Modelar, Representar, Argumentar
  2. 2.Clasificación de Temas (4 clases): Números, Álgebra, Geometría, Probabilidad y estadística
  3. 3.Predicción de Pesos (regresión): Peso de cada competencia en la pregunta

Resultados

Métricas en Test Set

  • —Accuracy Competencias: 91.30%
  • —Accuracy Temas: 87.35%
  • —MAE Pesos: 0.1652
  • —Coherencia comp-pesos: 95.26%

Dataset

  • —Train: 756 preguntas
  • —Validation: 253 preguntas
  • —Test: 253 preguntas

Entrenamiento

  • —Épocas: 8 (mejor: 5)
  • —Batch size: 16
  • —Learning rate: 2e-05
  • —Max sequence length: 128
  • —Warmup ratio: 0.1

Configuración de pérdidas

  • —Peso Competencias: 0.5
  • —Peso Temas: 0.3
  • —Peso Regresión: 0.2

Uso

Instalación Rápida

bash
# Clonar el repositorio del modelo
git clone https://huggingface.co/ronsuez/bertin-3heads-paes-large-large-v6
cd bertin-3heads-paes-large-large-v6

# Configurar automáticamente
python setup_model.py

Instalación Manual

bash
# Instalar dependencias
pip install -r requirements.txt

# Verificar instalación
python setup_model.py --skip-install

Código de ejemplo

python
# Ejemplo básico - ejecutar example_usage.py
python example_usage.py

# O usar directamente:
from transformers import AutoTokenizer
from model import BERTINMultiTaskPAES, ModelConfig
import torch

# Configuración
config = ModelConfig()

# Cargar modelo y tokenizer
tokenizer = AutoTokenizer.from_pretrained(".")
model = BERTINMultiTaskPAES.from_pretrained(".")
model.eval()

# Ejemplo de uso
text = "¿Cuál es la probabilidad de obtener exactamente 3 caras al lanzar una moneda 5 veces?"
inputs = tokenizer(text, return_tensors="pt", padding=True, truncation=True, max_length=128)

with torch.no_grad():
    outputs = model(**inputs)
    
    # Obtener predicciones
    comp_pred = outputs['logits_competencias'].argmax(dim=1)
    tema_pred = outputs['logits_temas'].argmax(dim=1)
    pesos = outputs['pesos']
    
    print(f"Competencia: {config.competencias[comp_pred.item()]}")
    print(f"Tema: {config.temas[tema_pred.item()]}")
    print(f"Pesos: {pesos.squeeze().tolist()}")

Uso desde HuggingFace Hub

python
# Descargar y usar directamente desde HuggingFace
from huggingface_hub import hf_hub_download
import os

# Descargar archivos necesarios
files = ["model.py", "config.py", "setup_model.py", "requirements.txt"]
for file in files:
    hf_hub_download(repo_id="ronsuez/bertin-3heads-paes-large-large-v6", filename=file, local_dir="./bertin_model")

# Configurar
os.chdir("bertin_model")
os.system("python setup_model.py")

Archivos del Modelo

Archivos del Modelo Base

  • —config.json: Configuración del modelo BERTIN base
  • —pytorch_model.bin: Pesos del modelo BERTIN
  • —model.safetensors: Pesos del modelo en formato SafeTensors
  • —heads.pt: Pesos de las tres cabezas (competencias, temas, pesos)

Archivos de Tokenización

  • —tokenizer_config.json: Configuración del tokenizer
  • —tokenizer.json: Tokenizer completo
  • —vocab.json: Vocabulario
  • —merges.txt: Reglas de merge para BPE
  • —special_tokens_map.json: Mapeo de tokens especiales

Archivos de Código

  • —model.py: Clase BERTINMultiTaskPAES completa
  • —config.py: Configuraciones del modelo
  • —setup_model.py: Script de configuración automática
  • —example_usage.py: Ejemplo de uso del modelo
  • —requirements.txt: Dependencias necesarias

Archivos de Experimentación

  • —experiment_results.json: Resultados del experimento
  • —training_config.json: Configuración de entrenamiento
  • —training_history.png: Gráfico de historial de entrenamiento
  • —confusion_matrices.png: Matrices de confusión

Limitaciones

  • —El modelo fue entrenado específicamente para preguntas tipo PAES de matemáticas en español
  • —Mejor rendimiento en preguntas de longitud similar a las del dataset de entrenamiento
  • —La coherencia entre competencia predicha y pesos puede variar

Información Adicional

  • —Versión: large-v6
  • —Fecha de entrenamiento: 20250716
  • —Experimento: bertin-3heads-paes-large

Citación

Si usas este modelo en tu investigación, por favor cita:

bibtex
@misc{bertin_3heads_paes_large_large-v6},
  author = {ronsuez},
  title = {bertin-3heads-paes-large large-v6: Modelo Multihead para Clasificación de Preguntas PAES},
  year = {2025},
  publisher = {HuggingFace Hub},
  url = {https://huggingface.co/ronsuez/bertin-3heads-paes-large-large-v6}
}

Agradecimientos

Este modelo está basado en bertin-project/bertin-roberta-base-spanish.