Lokales Lernen. Neuromodulation. Replay. Erklärbarkeit.
Erklärbare KI ohne Backprop. BioCortex lernt mit lokalen Regeln (STDP), Neuromodulation, Pheromon-Dynamik und Hippocampus-Replay – auf einer robusten Kneser-Ney-Sprachmodellbasis. Transparent. Reproduzierbar. Forschbar.
Die meisten modernen Sprachmodelle sind Black Boxes: riesige Tensoren, versteckte Gradienten, schwer zu erklären. BioCortex geht den anderen Weg:
- Lernen als Beziehung statt reine Berechnung
- Lokale Regeln statt globaler Backpropagation
- Erklärbarkeit & Transparenz Erklärbarkeit und Transparenz sind Grundprinzipien des Systems.
Das zugehörige Essay: “Manifest des Lebendigen Denkens – KI ohne Tensoren” (siehe manifest.md
).
- BioBPE-Tokenizer – erklärbare Subword-Tokenisierung (häufige Paarungen → Fusion).
- Kneser-Ney N-Gramm – statistische, tensorfreie Basis für Next-Token-Wahrscheinlichkeiten.
- Synapsen-Graph – gerichtete Übergänge über Token mit STDP-ähnlichen Updates.
- Neuromodulation – Dopamin/Überraschung/Bindung skalieren Plastizität.
- Pheromon-Dynamik – Pfadnutzung verstärkt/verblasst wie bei Ameisen.
- Hippocampus-Replay – stichprobenartige Reaktivierung zur Gedächtniskonsolidierung.
- Erzeugung – KN-Wahrscheinlichkeiten × Bio-Bias → Top-p (Nucleus) Sampling.
- Erklärbarkeit – Graph-Visualisierung, Modulator-Verläufe, Replay-Logs.
# 1) Projekt klonen
git clone https://github.com/kruemmel-python/BioCortex.git
cd <REPO>
# 2) Umgebung anlegen (empfohlen)
python -m venv .venv && source .venv/bin/activate # Windows: .venv\Scripts\activate
# 3) Abhängigkeiten
pip install -r requirements.txt
# 4) Erstes Training (CLI)
python biollm.py train --data data/sample.txt --out models/biocortex_demo
# 5) Generierung
python biollm.py generate --model models/biocortex_demo --prompt "Hallo BioCortex," --max_new 80 --top_p 0.9
Voraussetzungen
- Python 3.10+
- Plattform: Linux, macOS, Windows
- Keine GPU/Frameworks erforderlich (rein
numpy
-basiert)
Paketabhängigkeiten
numpy
streamlit
matplotlib
networkx
pandas
Installiere alles bequem via
pip install -r requirements.txt
.
Trainiere ein neues Modell:
python biollm.py train --data data/*.txt --out models/my_model
Feintuning (inkrementell) eines bestehenden Modells:
python biollm.py finetune --model models/my_model --data new_texts/*.txt
Textgenerierung:
python biollm.py generate --model models/my_model \
--prompt "Die Natur lehrt uns," --max_new 128 --top_p 0.9
Hinweis zu Pfaden: --out/--model
sind Basispfade; der Code legt/erwartet mehrere Dateien mit Endungen wie .cfg.json
, .bpe.json
, .kn.json
, .graph.json
, .meta.json
.
from biollm import BioCortex, BioLLMConfig, BioBPEConfig, KNConfig
# Konfiguration (Defaults sind bewusst konservativ)
cfg = BioLLMConfig(
bpe=BioBPEConfig(vocab_size=4000, min_pair_freq=2, lowercase=True),
kn=KNConfig(order=5, discount=0.75)
)
model = BioCortex(cfg)
model.fit(["Das ist ein Beispieltext.", "Noch ein kurzer Text."])
text = model.generate("BioCortex lernt", max_new_tokens=80, top_p=0.9)
print(text)
model.save("models/biocortex_example")
model2 = BioCortex.load("models/biocortex_example")
Interaktive Oberfläche für Training, Feintuning, Generierung, Graph-Visualisierung, Modulator- und Replay-Plots.
streamlit run streamlit_app.py
Features im Studio:
- Parameter-Tuning (BPE/KN/Plastizität/Replay/Sampling)
- Fortschritt & Events während Training/Replay
- Synapsen-Graph (Gewichte/Pheromone, Dichte, Clustering)
- Neuromodulatoren-Verläufe und Replay-Dynamik
- Modelle speichern/laden


-
Logging (
biollm_logging.py
) schreibt mit Zeitstempel nachlogs/biocortex-train_YYYY-MM-DD_HH-MM-SS.log
. -
Laufende Metriken in
logs/metrics.csv
(u. a. mean_pher, mean_weight, dopamine, surprise, bond, ltp/ltd, replay_flag). -
Persistenzformate (unter Basispfad
models/<name>
):*.cfg.json
– Komplettkonfiguration*.bpe.json
– Tokenizer-Vokabular*.kn.json
– Kneser-Ney-Zähler/Successors*.graph.json
– Synapsengewichte + Pheromone*.meta.json
– Trainingsmetadaten inkl. Replay-Aktivität
.
├─ biollm.py # Kernsystem (BioBPE, KN-LM, BioGraph, Replay, CLI)
├─ biollm_logging.py # Zentrales Logging-Setup
├─ streamlit_app.py # "BioCortex Studio" – interaktive UI
├─ data/ # Beispieltexte (optional)
├─ models/ # Gespeicherte Modelle (output)
├─ logs/ # Logs & CSV-Metriken (auto)
├─ docs/
│ ├─ images/
│ │ ├─ biocortex-brain.jpg
│ │ └─ studio_screenshot.png
│ └─ manifest.md # Manifest des Lebendigen Denkens
└─ requirements.txt
Wichtige Parameter (Auszug):
Bereich | Parameter | Bedeutung |
---|---|---|
BPE | vocab_size , min_pair_freq , lowercase |
Größe/Granularität der Subwords |
KN-LM | order , discount |
N-Gramm-Ordnung, Kneser-Ney-Discount |
Plastizität | a_plus , a_minus , tau |
STDP-Fenster & LTP/LTD |
dopamine_gain , surprise_gain , bond_gain |
Modulator-Skalierungen | |
pher_evaporation , pher_reinforce |
Pheromon-Dynamik | |
Replay | buffer_size , sample_len , nightly_samples |
Gedächtniskonsolidierung |
Generierung | max_gen_len , top_p , gamma_bias |
Sampling & Bio-Bias-Faktor |
Adaptives Verhalten: während Training/Generierung werden top_p
und discount
dynamisch an Dopamin- und Pheromon-Niveaus angepasst.
- Diskrete Themen-/Kontext-Mycel-Edges (semantische Nähe)
- Export/Import von Graph-Schnappschüssen für Vergleichsstudien
- Evaluations-Notebooks (Perplexity, Divergenz, Stabilitätsmetriken)
- Optionaler Audio/Text-Hybrid (experimentell)
- Dockerfile + reproducible env
Vorschläge willkommen! → Issues/Discussions
Beiträge sind sehr willkommen ❤️
- Issue eröffnen (Bug/Feature/Design)
- Fork → Feature-Branch → PR
- Bitte Tests/Beispiele beilegen (wo sinnvoll) und Stil beibehalten.
Ethik-Hinweis: Dieses Projekt steht für Transparenz, Kontextbewusstsein und Demut. Anwendungen, die Menschen schaden, sind nicht erwünscht.
MIT License – siehe LICENSE
.
Wenn du BioCortex wissenschaftlich verwendest, zitiere bitte so:
Ralf Krümmel (2025). BioCortex: Ein lebendiges, tensorfreies Lernsystem.
https://github.com/<USER>/<REPO>
An alle System-Denker:innen, die Tiefe über Größe stellen – und an die Natur als Lehrerin.