|
Download project-docs/experiments.md from enzoferracini/patchinsight-bertimbau-ptbr: direct link, hf CLI and curl.
- Browser
- Download file 4.51 kB
-
https://huggingface.co/enzoferracini/patchinsight-bertimbau-ptbr/resolve/main/project-docs/experiments.md
- Command line
-
hf download hf://enzoferracini/patchinsight-bertimbau-ptbr/project-docs/experiments.md
-
curl -L -o experiments.md https://huggingface.co/enzoferracini/patchinsight-bertimbau-ptbr/resolve/main/project-docs/experiments.md
4.51 kB
| > Protocolo histórico da v0.1. A avaliação exploratória posterior, sem retreino, | |
| > tem protocolo próprio em [data/v02/README.md](../data/v02/README.md) e resultados | |
| > em [v02.md](v02.md). A métrica primária e a seleção originais não foram alteradas. | |
| # Protocolo experimental 0.1 | |
| Pergunta: fine-tuning completo de BERTimbau melhora a classificação de cinco | |
| componentes em relação a regras e embeddings fixos, contra referências | |
| sintéticas revisadas por IA? | |
| ## Dados e isolamento | |
| Congelamento em `data/freeze.json`; 280/60/60 registros e 70/15/15 cenários. | |
| Cada cenário é uma origem com quatro variantes correlacionadas. Separação por | |
| origem impede derivados literais em splits diferentes, mas não elimina moldes | |
| compartilhados. Ver `reports/data-audit.json` e `docs/data-review.md`. | |
| Só treino e validação orientam configuração e complementação. O módulo | |
| `experiment` não abre o teste; a verificação dos hashes lê bytes de integridade, | |
| sem usar textos ou rótulos do teste no treinamento. `evaluate --final` é o | |
| único fluxo de métricas de teste. Após o primeiro benchmark, os erros não | |
| podem orientar a v0.1; uma nova pesquisa exige outro teste e outra versão. | |
| ## Métodos fixados | |
| | Método | Representação | Aprendizado | Decisão | | |
| |---|---|---|---| | |
| | Heurístico | Regex e léxico curado | Nenhum | Regras binárias | | |
| | Congelado + regressão | Média dos estados do encoder com máscara | StandardScaler e uma LogisticRegression por rótulo | 0,5 | | |
| | Fine-tuned | BERTimbau Base + cabeça multilabel | Todos os pesos, BCE com logits | 0,5 | | |
| O scaler e a regressão são ajustados apenas em treino. C=1 e max_iter=2000; | |
| não há busca de hiperparâmetros. Encoder congelado tem `requires_grad=False` | |
| e modo eval. Pooling usa média mascarada, incluindo tokens especiais, fixado | |
| para todas as execuções da baseline. Regressão serializada em JSON com pesos, | |
| interceptos, média e escala; não é necessário carregar pickle. | |
| Fine-tuning: seed 42 antes de inicializar a cabeça; até cinco épocas, AdamW | |
| lr 2e-5 e weight decay 0,01; batch 8; acumulação 2; clipping 1; max_length 192. | |
| O melhor macro-F1 de validação determina o checkpoint; empate mantém a época | |
| mais antiga. Não há tuning de limiar nesta versão. Menor batch por falta de | |
| memória deve ser registrado em uma nova configuração antes da avaliação final. | |
| Reprodutibilidade não garante identidade bit a bit entre GPUs e versões de | |
| drivers. Seeds, determinismo solicitado, ambiente, revisão e hashes devem | |
| acompanhar os resultados; avisos de operações não determinísticas permanecem | |
| visíveis. Preservar artefatos fora da sessão Kaggle/Colab ao concluir o treino. | |
| ## Avaliação | |
| Métrica primária: macro-F1. Secundárias: micro-F1 e exact match multilabel. | |
| Por rótulo: precision, recall, F1, suporte positivo, TP, FP, FN e TN. | |
| Divisão por zero resulta em zero. Os três métodos compartilham a implementação | |
| `metrics.py` e o mesmo teste. Guardar previsões por ID para auditar erros. | |
| O JSON final registra hashes dos bundles e dos dados, ambiente e limiares. | |
| Publicar os três métodos mesmo quando fine-tuning perde. Não atribuir melhora | |
| a pessoas reais ou a recrutamento; o alvo é consistência com anotações | |
| sintéticas dependentes do gerador e do guia. | |
| ## Evidência disponível | |
| `reports/development/heuristic-validation.json` contém a execução real do | |
| baseline na validação: macro-F1 0,852965, micro-F1 0,862319, exact match | |
| 0,533333, n=60. Essa execução não exigiu bibliotecas de ML. Nenhuma alteração | |
| de regra foi feita com base em erros do teste; o teste não foi pontuado. | |
| A baseline congelada e o fine-tuning foram executados na GPU local NVIDIA RTX | |
| A1000 6 GB, com Python 3.11.14. Seleção: época 5, macro-F1 de validação 0,996923. | |
| O teste final está em `reports/final/benchmark.json`; modelos ajustado e congelado | |
| obtiveram macro-F1 0,991101 e 0,988825. O bootstrap pareado por origem inclui zero | |
| no intervalo de ganho; ver `reports/final/uncertainty.json`. | |
| O retreino de reprodução usa a mesma configuração, sem decisões adicionais | |
| baseadas no teste; é uma verificação do pipeline, não um novo candidato. Logs | |
| de treinamento, ambiente e aviso de atenção não determinística estão em | |
| `reports/training`. A identidade bit a bit dos pesos entre retreinos não é | |
| prometida. Testes com BERT minúsculo validam somente o fluxo técnico e não | |
| entram no benchmark. O teste de checkpoint real passou após o ajuste completo. | |