PowerMachine commited on
Commit
c820465
·
verified ·
1 Parent(s): eb1f6a4

Delete cnn_bigru/README.md with huggingface_hub

Browse files
Files changed (1) hide show
  1. cnn_bigru/README.md +0 -178
cnn_bigru/README.md DELETED
@@ -1,178 +0,0 @@
1
- # CNN-BiGRU — Modelo Multimodal Cooperativo Autoaprendível
2
-
3
- Implementação completa de um LLM multimodal com arquitetura **CNN-BiGRU cooperativa**,
4
- inspirada nos projetos de referência:
5
-
6
- - `PowerMachine/gru-ring-v13-9-2/xavante_work/`
7
- - `PowerMachine/BiGRU_T_version/src/bigru_t/`
8
-
9
- O projeto é **diferente** dos anteriores: agrupa todos os componentes multimodais
10
- (texto + imagem + áudio) num único pipeline cooperativo, com divisão por competências.
11
-
12
- ---
13
-
14
- ## Características Principais
15
-
16
- ### 1. Arquitetura Cooperativa de 3 Níveis (do `dados.txt`)
17
-
18
- | Nível | Mecanismo | Descrição |
19
- |-------|-----------|-----------|
20
- | 1 | Cross-Attention Global | Ponte de cooperação pós-CNN entre redes A e B, com máscaras de padding |
21
- | 2 | Célula GRU Cooperativa Passo-a-Passo | `CellStepCooperativaComAtenuacao` com porta Gated (alfa ∈ [0,1]) que regula o quanto uma rede aceita da outra |
22
- | 3 | Fusão Final | Concatenação forward+backward de cada rede (128+128=256) |
23
-
24
- ### 2. Multimodal (Texto + Imagem + Áudio)
25
-
26
- - **Texto**: Dual-stream CNN-BiGRU cooperativo (streams A e B)
27
- - **Imagem**: `ImageEncoder` (CNN 2D → flatten → projeção)
28
- - **Áudio**: `AudioEncoder` (CNN 1D sobre espectrograma)
29
- - **Fusão**: `MultimodalFusion` com gated fusion por modalidade
30
-
31
- ### 3. Autoaprendizado (parâmetros matematicamente ajustados)
32
-
33
- Conforme `dados.txt` seções 9-10:
34
-
35
- - **Ajuste Dinâmico de LR**:
36
- - `fator_G = exp(-κ * ||grad_G||) * (1 + v_media) / 2`
37
- - `fator_V = exp(-κ * ||grad_V||) / (1 + L_V_media)`
38
- - **Controle de Gradiente**: clipping L2 + spectral normalization (power iteration)
39
- - **Inicialização Ortogonal**: matrizes recorrentes e convolucionais
40
- - **Estimativa de Curvatura**: aproximação por diferenças finitas
41
-
42
- ### 4. Mecanismo de Hipóteses (ativado em punições)
43
-
44
- Quando o verificador pune um passo (v < THRESHOLD_ERR), ativa:
45
-
46
- - **N hipóteses paralelas** com transforms lineares diferentes
47
- - **Seleção via Gumbel-Softmax** (diferenciável)
48
- - **Porta de ativação** baseada em v
49
-
50
- ### 5. Synergy Search (N tentativas de acerto)
51
-
52
- No início de cada época, busca N combinações de hiperparâmetros (pesos das perdas)
53
- e seleciona a configuração de menor perda.
54
-
55
- ### 6. Múltiplas Funções de Perda
56
-
57
- Conforme `dados.txt` seção 8:
58
-
59
- ```
60
- L_total = α * L_G_total + β * L_V + γ * L_AH + δ * L_reg
61
- L_G_total = L_G + λ * L_penal_linear + μ * L_penal_exp
62
- L_penal_linear = Σ (1 - v_t)
63
- L_penal_exp = Σ exp(γ * (1 - v_t)) se v_t < threshold
64
- L_V = BCE(v_t, rotulo_real)
65
- L_AH = Σ (1 - τ_t) (anti-alucinação fuzzy)
66
- L_reg = L2 + curvatura
67
- ```
68
-
69
- ### 7. Camada Anti-Alucinação (Lógica Fuzzy de Łukasiewicz)
70
-
71
- ```python
72
- NOT(x) = 1 - sigmoid(x)
73
- AND(x,y) = relu(sigmoid(x) + sigmoid(y) - 1)
74
- OR(x,y) = min(1, sigmoid(x) + sigmoid(y))
75
- IMP(x,y) = min(1, 1 - sigmoid(x) + sigmoid(y))
76
- ```
77
-
78
- ### 8. Inferência Avançada
79
-
80
- - Temperatura, Top-K, Top-P (Nucleus Sampling)
81
- - Presence Penalty, Frequency Penalty
82
- - Avaliação de Perplexidade (PPL)
83
-
84
- ---
85
-
86
- ## Estrutura por Competências
87
-
88
- ```
89
- cnn_bigru/
90
- ├── tokenizer/ # Competência: tokenização
91
- │ └── bbpe_tokenizer.py # BBPE byte-level tokenizer
92
- ├── utils/ # Competência: utilitários de runtime
93
- │ ├── xeon_runtime.py # Ativação Intel Xeon (AVX512+AMX+IPEX)
94
- │ ├── memory_optimizer.py # Otimização de memória (AMP, GC, offload)
95
- │ └── semantic_embeddings.py # Embeddings semânticos (Sinkhorn OT)
96
- ├── data/ # Competência: carregamento de dados
97
- │ └── streaming_dataset.py # Dataset streaming multimodal
98
- ├── models/ # Competência: modelos neurais
99
- │ ├── cooperative_bigru.py # Núcleo CNN-BiGRU cooperativo
100
- │ ├── multimodal_encoders.py # Encoders de imagem/áudio + fusão
101
- │ ├── multimodal_model.py # Modelo multimodal completo
102
- │ └── generator_verifier.py # Gerador + Verificador + Anti-alucinação
103
- ├── losses/ # Competência: funções de perda
104
- │ └── losses.py # Multi-loss com penalidades linear+exp
105
- ├── training/ # Competência: treinamento
106
- │ ├── auto_learner.py # Ajuste dinâmico LR + spectral norm
107
- │ ├── hypothesis_controller.py # Hipóteses + synergy search
108
- │ └── trainer.py # Loop de treinamento cooperativo
109
- ├── inference/ # Competência: inferência
110
- │ └── inference.py # Sampling + PPL
111
- └── tests/ # Competência: testes
112
- └── test_50_samples.py # Teste de 50 amostras
113
- ```
114
-
115
- ---
116
-
117
- ## Como Executar
118
-
119
- ### Requisitos
120
-
121
- ```bash
122
- pip install torch tokenizers transformers huggingface_hub datasets psutil tqdm
123
- ```
124
-
125
- ### Teste de 50 Amostras
126
-
127
- ```bash
128
- python -m cnn_bigru.tests.test_50_samples
129
- ```
130
-
131
- O teste executa:
132
- 1. Ativação do runtime Xeon
133
- 2. Treino do BBPE tokenizer
134
- 3. Criação do dataset streaming (50 amostras)
135
- 4. Instanciação dos modelos
136
- 5. Treinamento cooperativo com synergy + hipóteses + auto-learn
137
- 6. Inferência com sampling
138
- 7. Avaliação de perplexidade
139
- 8. Relatório de erros lógicos ou falhas
140
-
141
- ### Resultado Esperado
142
-
143
- ```
144
- ✓ NENHUM ERRO CRÍTICO encontrado
145
- Amostras processadas: 50
146
- Synergy attempts: 3
147
- Hypothesis activations: variável
148
- STATUS: SUCESSO
149
- ```
150
-
151
- ---
152
-
153
- ## Referências
154
-
155
- - `dados.txt` (arquivo de entrada com pseudocódigo completo)
156
- - `huggingface.co/PowerMachine/gru-ring-v13-9-2/tree/main/xavante_work/`
157
- - `huggingface.co/PowerMachine/BiGRU_T_version/blob/main/src/bigru_t/tokenizer/bbpe_tokenizer.py`
158
- - `huggingface.co/PowerMachine/gru-ring-v13-9-2/blob/main/xavante_work/xavante/utils/semantic_embeddings.py`
159
- - `huggingface.co/PowerMachine/gru-ring-v13-9-2/blob/main/xavante_work/xavante/utils/memory_optimizer.py`
160
- - `huggingface.co/PowerMachine/gru-ring-v13-9-2/tree/main/xavante_work/xavante/training`
161
- - `huggingface.co/PowerMachine/BiGRU_T_version/blob/main/src/bigru_t/utils/xeon_runtime.py`
162
- - `huggingface.co/PowerMachine/gru-ring-v13-9-2/blob/main/xavante_work/flexnet/streaming_datasets_v13_9.py`
163
-
164
- ---
165
-
166
- ## Notas de Segurança
167
-
168
- - **HF_TOKEN**: usado apenas para push inicial ao repositório. Após o push, o token
169
- é removido do ambiente e dos scripts. Os scripts publicados não contêm nenhum
170
- token embutido.
171
- - **Exceções**: todos os módulos usam `try/except` com logging adequado para
172
- garantir robustez. O treinamento continua mesmo se alguns batches falharem.
173
-
174
- ---
175
-
176
- ## Licença
177
-
178
- MIT