gpt2_medium_prefix_682k / MIGRATION_GUIDE.md
augustocsc's picture
GPT-2 Medium trained on prefix dataset (682K)
a1190da verified
# Migration Guide - Nova Estrutura do Projeto
Este documento mapeia a estrutura antiga para a nova estrutura organizada por fases de pesquisa.
## Estrutura Antiga → Nova
### Dados
| Antigo | Novo |
|--------|------|
| `data/benchmarks/nguyen/` | `1_data/benchmarks/nguyen/` |
| `data/processed/` | `1_data/processed/` |
| `data/experiments/` | `1_data/processed/` |
### Scripts de Treinamento
| Antigo | Novo |
|--------|------|
| `scripts/train.py` | `2_training/supervised/train.py` |
| `scripts/train_with_json.py` | `2_training/supervised/train_with_json.py` |
| `scripts/ppo_symbolic.py` | `2_training/reinforcement/ppo_symbolic.py` |
| `scripts/grpo_symbolic.py` | `2_training/reinforcement/grpo_symbolic.py` |
| `scripts/reinforce_*.py` | `2_training/reinforcement/` |
| `configs/` | `2_training/configs/` |
### Scripts de Avaliação
| Antigo | Novo |
|--------|------|
| `scripts/evaluate.py` | `3_evaluation/quality/evaluate.py` |
| `scripts/evaluate_quality_simple.py` | `3_evaluation/quality/` |
| `scripts/evaluate_nguyen_benchmarks.py` | `3_evaluation/benchmarks/` |
| `scripts/compare_models.py` | `3_evaluation/comparison/` |
| `scripts/generate.py` | `3_evaluation/generate.py` |
### Scripts de Análise
| Antigo | Novo |
|--------|------|
| `scripts/analyze_complexity.py` | `4_analysis/complexity/` |
| `scripts/aggregate_nguyen_results.py` | `4_analysis/statistical/` |
| `analyze_nguyen_results.py` | `4_analysis/statistical/` |
| `create_visualizations.py` | `4_analysis/visualization/` |
### Modelos
| Antigo | Novo |
|--------|------|
| `output/gpt2_base_700K_json/` | `models/gpt2/base_700k_json/` |
| `output/gpt2_medium_700K_json/` | `models/gpt2/medium_700k_json/` |
| `output/gpt2_large_700K_json/` | `models/gpt2/large_700k_json/` |
### Resultados
| Antigo | Novo |
|--------|------|
| `results_final/quality/` | `results/2025-02_model_scaling/quality/` |
| `results_nguyen_benchmarks/` | `results/2025-02_model_scaling/nguyen_benchmarks/` |
| `visualizations/` | `results/2025-02_model_scaling/analysis/` (cópia) |
### Documentação
| Antigo | Novo |
|--------|------|
| `SCIENTIFIC_REPORT_MODEL_SCALING.md` | `docs/reports/` |
| `NGUYEN_RESULTS_FINAL.md` | `docs/reports/` |
| `MODEL_CARD_*.md` | `docs/model_cards/` |
| `visualizations/` | `docs/visualizations/` |
| `CLAUDE.md` | `docs/guides/CLAUDE.md` |
### Código Fonte
| Antigo | Novo |
|--------|------|
| `classes/` | `src/seriguela/utils/` |
| `__init__.py` | `src/seriguela/__init__.py` |
## Atualizar Imports
### Antes
```python
from classes.expression import Expression
from classes.dataset import Dataset
```
### Depois
```python
from src.seriguela.utils.expression import Expression
from src.seriguela.utils.dataset import Dataset
# Ou (se instalado como package)
from seriguela.utils import Expression, Dataset
```
## Atualizar Caminhos em Scripts
### Exemplo: Treinamento
**Antes**:
```bash
cd seriguela
python scripts/train_with_json.py \
--dataset_path ./data/processed/700K \
--output_dir ./output/test
```
**Depois**:
```bash
cd seriguela/2_training/supervised
python train_with_json.py \
--dataset_path ../../1_data/processed/700K \
--output_dir ../../models/gpt2/test
```
### Exemplo: Avaliação
**Antes**:
```bash
python scripts/evaluate_nguyen_benchmarks.py \
--model_path ./output/gpt2_medium_700K_json \
--benchmark ./data/benchmarks/nguyen/nguyen_5.csv
```
**Depois**:
```bash
cd 3_evaluation/benchmarks
python evaluate_nguyen_benchmarks.py \
--model_path ../../models/gpt2/medium_700k_json \
--benchmark ../../1_data/benchmarks/nguyen/nguyen_5.csv
```
## AWS Scripts
A chave SSH correta é `chave-gpu-nova` (não `chave-gpu`):
```bash
# Atualizar scripts AWS
sed -i 's/chave-gpu/chave-gpu-nova/g' scripts/aws/*.sh
```
## Verificação de Migração
```bash
# Verificar se novos diretórios foram criados
ls -d 1_data 2_training 3_evaluation 4_analysis models results docs src
# Verificar se modelos foram movidos
ls models/gpt2/
# Verificar se READMEs existem
find . -name "README.md" -type f | head -10
# Verificar se resultados foram copiados
ls results/2025-02_model_scaling/
```
## Retrocompatibilidade
Os diretórios antigos (`scripts/`, `output/`, `data/`) ainda existem por enquanto para retrocompatibilidade. Recomendamos:
1. Atualizar scripts para usar nova estrutura
2. Testar workflows completos
3. Depois de validar, remover diretórios antigos:
```bash
# APENAS após validar nova estrutura
rm -rf output/ # (modelos já copiados para models/)
rm -rf data/ # (dados já copiados para 1_data/)
rm -rf results_final/ results_nguyen_benchmarks/ # (já em results/)
```
## Benefícios da Nova Estrutura
1. **Clareza**: Fases numeradas (1→2→3→4) guiam o workflow
2. **Escalabilidade**: Fácil adicionar novos modelos/benchmarks
3. **Documentação**: README em cada diretório
4. **Organização**: Resultados separados por experimento
5. **Manutenibilidade**: Código fonte isolado em `src/`
## Suporte
Para dúvidas sobre a migração, consulte:
- README.md de cada diretório
- docs/guides/CLAUDE.md (guia completo)
- Issues no GitHub