enzoferracini's picture
feat: publish software v0.2.0 evaluation and documentation
76c0aec verified
|
Raw History Blame Contribute Delete
3.8 kB
---
language:
- pt
license: mit
base_model: neuralmind/bert-base-portuguese-cased
pipeline_tag: text-classification
tags:
- multilabel-classification
- synthetic-data
---
# PatchInsight 0.1 — Model Card
**Status: checkpoint ajustado; métricas sintéticas abaixo.**
O modelo proposto é BERTimbau Base com ajuste completo dos pesos e cabeça de
cinco saídas sigmoid na ordem `action`, `context`, `method`, `result`,
`measurement`. Modelo base: `neuralmind/bert-base-portuguese-cased`, revisão
`94d69c95f98f7d5b2a8700c420230ae10def0baa`. A Model Card do base declara MIT;
o aviso original está em `licenses/BERTIMBAU-MIT.txt`.
Treino executado: seed 42, até cinco épocas, AdamW, learning rate 2e-5, máximo
de 192 tokens, batch 8 e acumulação 2. Seleção por macro-F1 de validação;
empate mantém a época mais antiga. Limiar 0,5 para todos os rótulos, sem ajuste
usando teste. `patchinsight.json` registra a configuração efetiva, a época
selecionada, hashes dos dados e ambiente. Sigmoid não representa probabilidade
calibrada nem qualidade do texto.
Dados: PatchInsight Synthetic pt-BR 0.1, 280/60/60 variantes, 70/15/15 cenários.
São exemplos sintéticos anotados e revisados pela mesma IA, sem revisão humana.
O teste é fixado antes dos experimentos e fica fora de seleção e ajuste.
Avaliação final contra referências sintéticas revisadas pela mesma IA:
| Método | Macro-F1 | Micro-F1 | Exact match |
|---|---:|---:|---:|
| heuristic | 0.6791 | 0.7634 | 0.3333 |
| frozen_logistic | 0.9888 | 0.9878 | 0.9333 |
| bert_finetuned | 0.9911 | 0.9908 | 0.9500 |
Dataset: https://huggingface.co/datasets/enzoferracini/patchinsight-synthetic-ptbr
Época selecionada por validação: 5.
Contagens, suportes e ambiente completos em benchmark.json e patchinsight.json.
Inferência: `patchinsight predict --model ./model --text '...' --json`.
O bundle é carregado localmente com hashes verificados. O retorno sinaliza
truncamento; componentes negativos no prefixo truncado viram `unknown` para
evitar afirmar ausência no texto completo. O score desses componentes é `null`.
O modelo não extrai spans nem comprova causalidade entre ação e efeito.
Limitações: dados pequenos, composicionais, com atalhos lexicais e estilísticos;
domínio concentrado em software/dados/IA; avaliação sem anotação humana;
generalização externa desconhecida. Estruturas são regras de coocorrência e
fixtures, não um benchmark humano de XYZ ou STAR.
Uso pretendido: experimento aberto de classificação de componentes textuais.
Não usar para ranking de pessoas, contratação automática ou atribuir qualidade
universal a textos profissionais. O projeto é autoral, independente, motivado
por candidatura; não é patrocinado, supervisionado ou endossado por empresa.
Referência do encoder: Souza, Nogueira e Lotufo (2020), *BERTimbau: Pretrained
BERT Models for Brazilian Portuguese*, BRACIS.
Treino executado em GPU local NVIDIA RTX A1000 6 GB, Python 3.11.14. Não houve sessão Kaggle/Colab nesta execução nem contratação de computação. O PyTorch avisou sobre atenção backward não determinística; não se alega identidade bit a bit entre retreinos. O ganho observado é pequeno e não comprova superioridade em currículos reais.
O benchmark referencia o manifest original do treino, preservado em `training-manifest.json`; `manifest.json` cobre o bundle publicado, incluindo esta card atualizada.
<!-- software-release -->
## Software v0.2.0
Checkpoint: 0.1.0; weights unchanged in this release.
New evaluation: 36 synthetic texts, authored and reviewed by the same AI; no human review.
Macro-F1: heuristics 0.6910; frozen regression 0.6196; fine-tuned BERT 0.5584.
See [evaluation](evaluations/v02/test/README.md) and [protocol](project-docs/v02.md).