Prototyp systemu treningu modeli językowych z metrykami PKI (Punkt Koherencji Informacyjnej) i pamięcią kontekstową.
NeuroNote implementuje eksperymentalną architekturę łączącą:
- PKI-DRM: Metryki koherencji informacyjnej z dynamicznymi regułami optymalizacji
- Memory-Enhanced: System pamięci kontekstowej z logicznym rozumowaniem
- Polski GPT-2: Bazuje na
flax-community/papuGaPT2
NeuroNote/
├── main.py # CLI aplikacja (5 opcji menu)
├── pki_drm_trainer.py # PKI + DRM implementacja
├── memory_enhanced_trainer.py # System pamięci i rozumowania
├── improved_pki_calculator.py # Kalkulacje metryk PKI
├── trainer.py # Standardowy trainer
├── chat_engine.py # Silnik konwersacji
├── config.py # Konfiguracja RTX
├── utils.py # Funkcje pomocnicze
├── settings.txt # Parametry treningu
├── semantics.txt # Instrukcje dla modelu
├── requirements.txt # Zależności
└── example_data/ # Przykładowe dane
- GPU: NVIDIA RTX (zalecane 8GB+ VRAM)
- RAM: 16GB+
- Dysk: 2GB wolnego miejsca
pip install -r requirements.txtGłówne zależności:
- torch>=2.0.0
- transformers>=4.30.0
- numpy>=1.21.0
- Sklonuj/pobierz projekt
- Zainstaluj zależności:
pip install -r requirements.txt - Uruchom:
python main.py
python main.py
Opcje:
- Trenuj model - PKI-DRM training z metrykami koherencji
- Zapisz model - Eksport wytrenowanego modelu
- Wczytaj model - Import zapisanego modelu
- Chat - Konwersacja z Memory-Enhanced
- Wyjście
1. Wybierz opcję 1
2. Podaj folder z danymi (np. "example_data")
3. Obserwuj metryki PKI w czasie rzeczywistym
4. Model zapisuje się automatycznie jako universal_trained_model.pt
1. Wczytaj model (opcja 3)
2. Wybierz opcja 4 (Chat)
3. Zadawaj pytania:
- "5+3" → "5+3=8"
- "co to jest ptak" → "Ptak to zwierzę mające pióra..."
- Formula:
P = C^α × S^β - C (Coherence): Cosine similarity między wektorami reprezentacji
- S (Selection): Koncentracja rozkładu posterior (entropia)
- Zakres: C ∈ [0.02, 0.8], S ∈ [0, 1]
Adaptacyjne reguły learning rate:
- PKI > 0.5: LR × 1.0 (kontynuuj)
- PKI 0.2-0.5: LR × 0.8 (stabilizuj)
- PKI < 0.2: LR × 1.5 (zwiększ)
- Stagnacja: LR × 2.0 (diversyfikuj)
[INPUT] → [MEMORY] → [REASONING] → [MODEL] → [CLEAN] → [OUTPUT]
Komponenty:
- MemoryCell: 100 komórek kontekstu z importance decay
- LogicalReasoner: Matematyka, definicje, Q&A patterns
- Response Cleaner: Scoring zdań, usuwanie artefaktów
[TRAINING]
learning_rate = 1e-5
batch_size = 1
max_steps = 500
gradient_clip = 1.0
[PKI]
alpha = 1.0
beta = 1.0
coherence_threshold = 0.3Zawiera instrukcje i przykłady dla modelu (matematyka, definicje, konwersacja).
universal_trained_model.pt- Model po treningu PKI-DRMpki_drm_trained_model.pt- Backup modelu- Własne nazwy przez opcję 2 (Zapisz model)
Struktura pliku modelu:
{
'model_state_dict': ...,
'training_stats': {'pki_scores': [...], 'losses': [...]},
'model_type': 'universal_trained',
'original_type': 'pki_drm_trained',
'tokenizer_name': 'flax-community/papuGaPT2'
}- Skalowalność: Pairwise cosine similarity O(n²) dla wektorów
- Pamięć: 100 komórek bez LRU/LFU, brak persistence
- DRM: Proste reguły LR, brak integracji z gradient norms
- Metryki PKI: Arbitralne zakresy, wymaga kalibracji na walidacji
- Memory: Brak embeddings index, trudna generalizacja
- Bezpieczeństwo: Prototyp, nie dla produkcji
- Brak samodzielnej modyfikacji wag podczas inference
- Wszystkie aktualizacje modelu tylko w kontrolowanym treningu
- Walidacja metryk i parametrów wymagana
- Nie używać w środowisku produkcyjnym bez audytu
- FAISS/Milvus dla memory retrieval
- ReduceLROnPlateau zamiast prostych reguł DRM
- Formalizacja PKI z α,β uczonymi na walidacji
- Reward model z human-in-the-loop
- Coherence może być zafałszowana przez clamp [0.02, 0.8]
- Clean_response może obcinać poprawne odpowiedzi
- Brak obsługi długich sesji (memory overflow)
Projekt eksperymentalny. Użycie na własną odpowiedzialność.
Projekt badawczy - implementacja teorii PKI-DRM z Memory-Enhanced architecture.