HelBERT: Modelo BERT para Contratações Públicas

O HelBERT é um modelo de linguagem baseado na arquitetura BERT, pré-treinado com mais de 1,4 bilhão de tokens extraídos de editais de licitação, contratos públicos e legislações brasileiras, com foco exclusivo no domínio jurídico de contratações públicas.

Foi desenvolvido para superar modelos genéricos e jurídicos existentes em tarefas específicas do setor público, como classificação de objetos de contratação e identificação de indícios de fraude em editais.


🧠 Detalhes do Modelo

  • Arquitetura: BERT-Base (12 camadas, 110M parâmetros)
  • Tarefa de pré-treinamento: Masked Language Modeling (MLM)
  • Tokenizador: WordPiece especializado em domínio jurídico
  • Corpora: Comprasnet, TCE-PI, PNCP, Leis de Licitação
  • Tamanho do vocabulário: 33 mil subpalavras
  • Precisão: 95.87% F1 na classificação de objetos e 91.65% F1 na detecção de fraudes

🧪 Avaliação

Tarefa F1-Weighted Accuracy
Classificação de objetos de contratação 95.87% 95.87%
Classificação de indícios de fraude 91.65% 86.08%

Outras métricas:

  • Perplexidade: 3.4–3.5 nos datasets jurídicos
  • Fertilidade do tokenizador: 1.17–1.18 (baixo número de subpalavras por palavra)

✅ Como usar

from transformers import AutoTokenizer, AutoModelForMaskedLM

tokenizer = AutoTokenizer.from_pretrained("seu-usuario/helbert")
model = AutoModelForMaskedLM.from_pretrained("seu-usuario/helbert")

input_text = "A proposta será avaliada com base no critério do [MASK]."
inputs = tokenizer(input_text, return_tensors="pt")
outputs = model(**inputs)

📚 Dados de Treinamento

  • Documentos utilizados: mais de 460 mil, incluindo editais de licitação, contratos administrativos, termos de referência, atas e legislações.
  • Fontes: COMPRASNET, Portal Nacional de Contratações Públicas (PNCP), Tribunal de Contas do Estado do Piauí (TCE-PI) e portais de transparência do governo.
  • Total de tokens: aproximadamente 1,49 bilhão.
  • Conjunto de treino: 9,7 milhões de amostras.
  • Conjunto de validação: 100 mil amostras.
  • Pré-processamento aplicado:
    • Remoção de ruído estrutural (headers, URLs, assinaturas).
    • Padronização de entidades como CNPJs, números, datas e e-mails.
    • Normalização de vocabulário e unificação de sinônimos.
    • Segmentação de sentenças com o NLTK.

⚙️ Configuração de Treinamento

  • Épocas de pré-treinamento: 6
  • Batch total: 128 (32 por etapa × 4 de accumulation)
  • Max length por sequência: 128 tokens
  • Otimizador: AdamW (β₁=0.9, β₂=0.999, ε=1e−6)
  • Weight decay: 0.01
  • Taxa de aprendizado: 1e-4
  • Precisão: FP16 (mixed precision)
  • Tempo total de treinamento: ~72 horas
  • Hardware: GPU Quadro RTX 4000 (8 GB)

📌 Aplicações Recomendadas

🧩 Uso Direto (sem fine-tuning)

  • Preenchimento de lacunas em textos jurídicos (MLM)
  • Geração de embeddings especializados para domínios públicos
  • Suporte a tarefas de recuperação de informação jurídica

🏷️ Ajuste Fino (downstream tasks)

  • Classificação do tipo de objeto em editais de licitação
  • Detecção automática de indícios de fraude ou risco em contratações públicas
  • Análise de cláusulas contratuais e segmentação semântica

❗ Limitações

  • O modelo foi treinado exclusivamente com documentos do setor público, podendo apresentar viés ao ser aplicado fora desse domínio (como contratos privados ou sentenças judiciais).
  • Linguagem com forte padrão normativo e técnico pode dificultar a generalização para contextos mais informais.
  • Restrições computacionais limitaram o número de épocas e a variedade de batch sizes testados.

🌱 Impacto Ambiental

Estimativas aproximadas baseadas na ferramenta Machine Learning CO2 Impact:

  • Tipo de hardware: GPU Quadro RTX 4000 (8GB)
  • Tempo de uso: ~72 horas
  • Região de computação: Local (Brasil)
  • Emissão estimada de CO₂eq: ~21.6 kg

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

Model tree for vic35get/HelBERT-base

Finetuned
(5700)
this model

Dataset used to train vic35get/HelBERT-base