|
| 1 | +# dNATY — Benchmarks reais (medidos) |
| 2 | + |
| 3 | +> Todos os números abaixo foram **medidos**, não estimados. Hardware: 6 núcleos de CPU. |
| 4 | +> Config padrão: `n_generations=30, n_pop=15, t_local=3`. Acurácia em conjunto de teste |
| 5 | +> **separado** (held-out), não no treino. Reproduzível com os scripts em `scripts/`. |
| 6 | +> Data da medição: 2026-06. |
| 7 | +
|
| 8 | +## Resultados por dataset |
| 9 | + |
| 10 | +| Dataset (real) | Linhas | Features | Classes | init_hidden | Tempo | FLOPs ↓ | Acurácia | |
| 11 | +|---|---|---|---|---|---|---|---| |
| 12 | +| MNIST | 10.000 | 784 | 10 | [512,256] | 4,1 min | **−50.4%** | 97.0% | |
| 13 | +| Fashion-MNIST | 10.000 | 784 | 10 | [512,256] | 4,1 min | **−54.6%** | 86.4% | |
| 14 | +| UCI Wine Quality (red) | 1.599 | 11 | 6 | [256,128] | 37 s | **−78.4%** | 63.7% | |
| 15 | +| UCI Adult / Census Income | 10.000 | 104 | 2 | [256,128] | 3,6 min | −2.7% | 84.0% | |
| 16 | +| UCI Covertype | 10.000 | 54 | 7 | [256,128] | 4,1 min | −1.5% | 78.1% | |
| 17 | +| Social Friction (students vs workers) | 400 | 14 | 3 | [128,64] | 13 s | −6.9% | 100% | |
| 18 | +| Social Friction v2 | 500 | 16 | 2 | [128,64] | 17 s | −5.4% | 85.0% | |
| 19 | +| Indonesian Youth Digital Friction | 1.000 | 2 | 2 | [128,64] | 27 s | −1.5% | 99.5% | |
| 20 | +| CIFAR-10 (MLP) | 10.000 | 3.072 | 10 | [512,256] | 13,4 min | −1.2% | 46.4% | |
| 21 | + |
| 22 | +Fontes dos datasets: |
| 23 | +- MNIST / Fashion-MNIST / CIFAR-10 — torchvision (datasets reais padrão) |
| 24 | +- UCI Adult, Covertype, Wine Quality — UC Irvine ML Repository (download direto, sem auth) |
| 25 | +- Social Friction / Indonesian Youth — datasets reais de comportamento em redes sociais (CSV) |
| 26 | + |
| 27 | +## Como ler estes números (honesto) |
| 28 | + |
| 29 | +**A magnitude da compressão depende de quanta capacidade redundante o modelo inicial tem.** |
| 30 | +Não é "−50% em qualquer modelo": |
| 31 | + |
| 32 | +- **Modelo superdimensionado para a tarefa → corte grande.** |
| 33 | + MNIST (−50%), Fashion-MNIST (−55%), Wine (−78%). O MLP inicial tinha gordura; o NAS achou |
| 34 | + uma rede muito menor que mantém a acurácia. |
| 35 | + |
| 36 | +- **Modelo já bem dimensionado → corte pequeno.** |
| 37 | + Adult (−2.7%), Covertype (−1.5%). Isso é o comportamento **correto** de uma busca Pareto: |
| 38 | + ela não deve inflar nem quebrar um modelo que já é eficiente. "Pouco corte" aqui significa |
| 39 | + "seu modelo já estava perto do tamanho certo". |
| 40 | + |
| 41 | +- **Limite real — só MLP hoje.** |
| 42 | + CIFAR-10 com MLP trava em ~46% (imagem RGB precisa de convolução). dNaty hoje é forte em |
| 43 | + dados MLP-friendly (tabular, imagem simples); busca em espaço de convoluções é trabalho futuro. |
| 44 | + |
| 45 | +## Claim defensável (o que dá pra afirmar sem ser crucificado) |
| 46 | + |
| 47 | +> "O dNaty encontra a menor arquitetura que mantém a acurácia. Em modelos superdimensionados |
| 48 | +> isso é um corte de 50%+ de FLOPs (medido: MNIST −50%, Fashion-MNIST −55%, em ~4 min numa CPU |
| 49 | +> de 6 núcleos). Em modelos já enxutos ele corta pouco — de propósito. Hoje é MLP-only; |
| 50 | +> imagem RGB complexa via conv net é trabalho futuro." |
| 51 | +
|
| 52 | +## Reproduzir |
| 53 | + |
| 54 | +```bash |
| 55 | +python scripts/real_benchmarks.py # MNIST/Fashion via compress() + tabulares sociais |
| 56 | +python scripts/real_benchmarks_uci.py # UCI Adult / Covertype / Wine |
| 57 | +python scripts/fetch_real_datasets.py # baixa os UCI (sem auth) |
| 58 | +``` |
0 commit comments