vic35get's picture
Add detailed Model Card with metrics
8339f70 verified
metadata
license: mit
language:
  - pt
library_name: transformers
tags:
  - text-classification
  - binary-classification
  - modernbert
  - pytorch
  - transformers
datasets:
  - tcepi/prog_integridade_dataset
metrics:
  - accuracy
  - f1
  - precision
  - recall
  - roc_auc
base_model: answerdotai/ModernBERT-base
pipeline_tag: text-classification
model-index:
  - name: prog_integridade_model
    results:
      - task:
          type: text-classification
          name: Binary Text Classification
        dataset:
          name: tcepi/prog_integridade_dataset
          type: tcepi/prog_integridade_dataset
          split: test
        metrics:
          - name: Accuracy
            type: accuracy
            value: 0.9944
          - name: F1
            type: f1
            value: 0.9944
          - name: Precision
            type: precision
            value: 0.9944
          - name: Recall
            type: recall
            value: 0.9944
          - name: ROC-AUC
            type: roc_auc
            value: 0.9984

Programa de Integridade Classification Model

Este modelo é um fine-tune do ModernBERT-base para classificação binária, treinado no dataset tcepi/prog_integridade_dataset.

Descrição do Modelo

  • Modelo Base: answerdotai/ModernBERT-base
  • Tarefa: Classificação Binária de Texto
  • Linguagem: Português (pt)
  • Framework: PyTorch + Transformers

Métricas de Performance

Conjunto de Teste

Métrica Valor
Accuracy 0.9944
F1-Score 0.9944
Precision 0.9944
Recall 0.9944
ROC-AUC 0.9984
Specificity 0.9905

Matriz de Confusão

Predito Negativo Predito Positivo
Real Negativo 522 (TN) 5 (FP)
Real Positivo 1 (FN) 541 (TP)

Relatório de Classificação

              precision    recall  f1-score   support

    Negativo     0.9981    0.9905    0.9943       527
    Positivo     0.9908    0.9982    0.9945       542

    accuracy                         0.9944      1069
   macro avg     0.9945    0.9943    0.9944      1069
weighted avg     0.9944    0.9944    0.9944      1069

Uso

from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch

# Carregar modelo e tokenizer
tokenizer = AutoTokenizer.from_pretrained("tcepi/prog_integridade_model")
model = AutoModelForSequenceClassification.from_pretrained("tcepi/prog_integridade_model")

# Classificar texto
text = "Seu texto aqui"
inputs = tokenizer(text, return_tensors="pt", truncation=True, max_length=8192)

with torch.no_grad():
    outputs = model(**inputs)
    predictions = torch.softmax(outputs.logits, dim=-1)
    predicted_class = torch.argmax(predictions, dim=-1).item()

print(f"Classe predita: {model.config.id2label[predicted_class]}")
print(f"Probabilidades: {predictions.tolist()}")

Treinamento

Hiperparâmetros

  • Épocas: 10
  • Learning Rate: 2e-5
  • Batch Size: 8
  • Weight Decay: 0.01
  • Warmup Ratio: 0.1
  • Mixed Precision: FP16
  • Optimizer: AdamW

Informações de Treinamento

  • Tempo Total: 2731.90 segundos
  • Samples/segundo: 14.07
  • Loss Final: 0.0701

Tabela de Métricas por Época

epoch eval_loss eval_accuracy eval_f1 eval_roc_auc eval_specificity
1 0.188758 0.946262 0.946277 0.997855 0.985294
2 0.0218751 0.990654 0.990654 0.999912 0.990196
3 0.0222455 0.992991 0.992993 0.999869 1
4 0.0971301 0.983645 0.983653 0.999934 1
5 0.0337453 0.990654 0.990649 1 0.980392
6 0.0275761 0.997664 0.997664 0.999956 1
7 0.0167756 0.997664 0.997664 1 1
8 0.0292979 0.997664 0.997664 0.999912 1
9 0.0309485 0.997664 0.997664 0.999912 1
10 0.0248101 0.997664 0.997664 0.999956 1

Curvas de Treinamento

Loss curve

Loss Curve

Métricas por Época

Métricas por Época

Dataset

O modelo foi treinado usando o dataset tcepi/prog_integridade_dataset.

Limitações

  • O modelo foi treinado especificamente para o domínio do dataset Programa de Integridade, e pode não generalizar bem para outros tipos de texto ou domínios.
  • Performance pode variar em textos de outros domínios
  • Recomenda-se avaliar o modelo antes de usar em produção