Laudo Técnico de Avaliação — TP1
equipe_d2lm
Tipo: Avaliacao tecnica coletiva
Status: Recomendacao tecnica
Nota tecnica: 9.7/10.0
Sintese: Projeto com formulacao, experimentos e qualidade de entrega fortes; a configuracao de threshold do container diverge da configuracao avaliada.
Evidencias e execucao
- README,
results/,artifacts/, codigo, testes, Docker, CI, historico e relatorio de desbalanceamento/IC inspecionados. - Artefatos presentes: TF-IDF, MLB e modelo Keras.
results/neural_network_results.txtconfirma F1-macro 0.5194 no teste; ha curva de loss, F1 por classe e analise de thresholds. PYTHONDONTWRITEBYTECODE=1 python -m pytest -q -p no:cacheprovider: 8 casos foram pulados porquefastapi/httpxnao existem no ambiente. O proprio teste marca explicitamente o bloqueio e indicarequirements-dev.txt; nao houve falha de projeto nem instalacao.- Docker/API nao executados: Docker esta disponivel, mas o build de referencia ficou na instalacao de TensorFlow ate o limite de dois minutos e nao havia imagem compativel local. O Dockerfile e compose foram avaliados estaticamente.
- O historico mostra evolucao por papel e, na IC, experimento de thresholds por classe, class weights, combinacao de ambos, ablation e medicion de latencia.
Implementacao
- Pipeline com
MultilabelStratifiedShuffleSplit, TF-IDF somente no treino, 25 skills, sigmoid/BCE e seed fixa. - Baseline LR OvR: F1-macro 0.2440; rede: 0.5194, F1-micro 0.6044. Checkpoint e tau 0.10 foram escolhidos na validacao, nao no teste.
- O estudo adicional compara threshold dinamico (F1-macro 0.5248), class weights e combinacao, incluindo efeitos divergentes por classe minoritaria.
- API tem health degradado com 503 e contratos adequados; testes cobrem seis requisitos em oito casos. Docker multi-stage, usuario nao-root e healthcheck sao boas praticas.
Pontos positivos
- Excelente formulacao e split multi-label, com preocupacao explicita de leakage.
- Evolucao experimental muito forte: alternativas, resultados negativos e trade-offs de precision/recall sao quantificados.
- A API diferencia corretamente pronto de degradado, e a qualidade de container/CI e particularmente cuidadosa.
Lacunas e evolucao
- Defeito de integracao:
src/api.pyusa tau padrao0.10, avaliado e documentado; mas o Dockerfile defineTHRESHOLD=0.18. Portanto, o container publicado serve outra regra e os F1 0.5194/0.5248 nao descrevem sua configuracao padrao. Corrigir para 0.10 ou reavaliar/documentar 0.18. requirements.txtde desenvolvimento contem faixas abertas; emborarequirements-api.txtfixe o runtime, os comandos de treino poderiam ter lock/pins equivalentes.- Testes foram conscientemente pulados quando faltam dependencias, o que e correto para o ambiente, mas impede validacao funcional independente nesta avaliacao.
Pontuacao
| Criterio | Maximo | Pontos | Justificativa |
|---|---|---|---|
| Dados e formulacao multi-label | 1.5 | 1.5 | Split multi-label, sem leakage e formulacao corretos. |
| Baseline, rede e resultados | 2.5 | 2.5 | Resultados, artefatos e selecao por validacao robustos. |
| Evolucao e justificativa experimental | 2.0 | 2.0 | Estudo de desbalanceamento com alternativas e conclusoes baseadas em dados. |
| API e contrato | 1.5 | 1.3 | Contrato robusto; Docker muda silenciosamente o threshold avaliado. |
| Reproducibilidade e qualidade | 1.5 | 1.4 | Docker/CI/testes excelentes; pinning parcial e build nao confirmado. |
| Documentacao e colaboracao | 1.0 | 1.0 | README, fontes, papeis e historico muito completos. |
| Total | 10.0 | 9.7 |
Nota recomendada
9.7/10.0 Projeto de alta qualidade e forte maturidade experimental. A deducao protege contra o descompasso concreto entre a configuracao avaliada e a configuracao entregue no container.
Nota individual recomendada
A componente de produto coletivo e 4.85/5.0, metade da nota tecnica atual (9.7/10.0). Os arquivos grandes de dados e artefatos distorcem a contagem de linhas; foram consideradas as implementacoes, MRs e integracoes rastreaveis de cada papel.
| Integrante | Papel declarado e evidencia observada | Produto (5,0) | Papel (3,0) | Rastreab. (1,5) | Colab./qual. (0,5) | Final / 10 |
|---|---|---|---|---|---|---|
| Marcela Freitas Mariano | Dados/NLP: prepare_data.py, preprocessamento, split multi-label, artefatos e golden benchmark. |
4.85 | 3.0 | 1.5 | 0.4 | 9.8 |
| Luiz Henrique Santos Dias | ML: baseline, rede, avaliacao, calibracao e estudo de desbalanceamento/thresholds. | 4.85 | 3.0 | 1.5 | 0.5 | 9.9 |
| Daniel Caetano Assis | Backend: FastAPI/Pydantic, correcao de health degradado e estudo de ablacao textual. | 4.85 | 3.0 | 1.5 | 0.4 | 9.8 |
| Lucas Barros Meckler | DevOps/QA: suite de contrato, CI, Docker multi-stage, dependencias e medicao de latencia. | 4.85 | 3.0 | 1.5 | 0.5 | 9.9 |
Evidencias e ressalvas individuais
- As MRs !3–!9 mapeiam os quatro papeis e registram integracao; as contribuicoes posteriores de IC reforcam qualidade, mas nao foram usadas como substitutas da entrega do TP1.
- Daniel possui uma MR de IC ainda aberta; ela nao foi tratada como produto entregue no TP1. Sua nota decorre principalmente da API e do healthcheck integrado.
- Nao ha Issues ou revisoes formais registradas. A integracao de branches e a manutencao cruzada fornecem a evidencia de colaboracao disponivel.
O THRESHOLD=0.18 no Docker, divergente do tau avaliado, e risco compartilhado e ja reduz a parcela comum de produto; a arguicao deve confirmar o entendimento de todos sobre o contrato servido.