Skip to content

kruemmel-python/BioCortex

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

logo

BioCortex — Ein lebendiges, tensorfreies Lernsystem

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.

Python License: MIT Streamlit App


Inhaltsverzeichnis


Motivation

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).


Kernideen

  • 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.

Schnellstart

# 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

Installation

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.


Benutzung

CLI

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.


Python-API

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")

BioCortex Studio (Streamlit UI)

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

gui bio-synapsen-500-kanten

Logging, Metriken & Persistenz

  • Logging (biollm_logging.py) schreibt mit Zeitstempel nach logs/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

Projektstruktur

.
├─ 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

Konfiguration

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.


Roadmap

  • 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


Beitrag & Support

Beiträge sind sehr willkommen ❤️

  1. Issue eröffnen (Bug/Feature/Design)
  2. Fork → Feature-Branch → PR
  3. 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.


Lizenz

MIT License – siehe LICENSE.


Zitation

Wenn du BioCortex wissenschaftlich verwendest, zitiere bitte so:

Ralf Krümmel (2025). BioCortex: Ein lebendiges, tensorfreies Lernsystem.
https://github.com/<USER>/<REPO>

Danksagung

An alle System-Denker:innen, die Tiefe über Größe stellen – und an die Natur als Lehrerin.

About

Entwicklung eines eigenständigen, trainierbaren Lernsystems ohne TensorFlow oder PyTorch

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages