MagicBrain Platform
Универсальная платформа для гетерогенных и гибридных нейросетевых архитектур
Changelog | Platform Vision | Formal Proofs | API Docs | Licensing
О проекте
MagicBrain — исследовательская платформа спайковых нейронных сетей (SNN) уровня MAGIC Level 2 (MetaBrain). Архитектура сети задаётся компактной геномной строкой и выращивается процессом развития, а не собирается вручную; поверх этого работает оркестрация разнородных моделей (SNN, DNN, Transformer, CNN, RNN) в едином рантайме.
Ключевые компоненты
- TextBrain (SNN) — спайковая нейронная сеть с разреженной активацией (~5%), дофамин-модулируемым обучением по Хеббу и гомеостатической адаптацией порогов
- Genome System — DNA-кодирование гиперпараметров: base-4 строка (24-72+ символа) детерминированно задаёт всю архитектуру
- NeuroGenesis Engine — 9 модулей: датасет → геном → 3D-морфогенез → обучение → реконструкция
- Digital Twins — NeuralDigitalTwin: освоение тем, адаптация сложности, прогноз когнитивного состояния студента
- Platform Framework — оркестрация 5 типов моделей (SNN, DNN, Transformer, CNN, RNN), 7 стратегий выполнения
- Formal Verification — 21 теорема в Lean4 для Hopfield-динамики (0 sorry, 0 ошибок)
Установка
pip install magicbrain # только SNN + NumPy
pip install magicbrain[torch] # + PyTorch (DNN, CNN, RNN, Hybrid)
pip install magicbrain[transformers] # + Hugging Face
pip install magicbrain[balansis] # + ACT-компенсированная арифметика
pip install magicbrain[platform] # полная платформа
pip install magicbrain[all] # всё, включая JAX и dev-инструменты
Разработка
git clone https://github.com/StudyLabPro/MagicBrain.git
cd MagicBrain
pip install -e ".[dev]"
pytest
REST API
uvicorn api.app.api.main:app --host 0.0.0.0 --port 8004
# Swagger: http://localhost:8004/docs
Быстрый старт
SNN через геном
from magicbrain import TextBrain
from magicbrain.tasks.text_task import train_loop
from magicbrain.sampling import sample_text
genome = "30121033102301230112332100123"
brain = TextBrain(genome, vocab_size=50)
train_loop(brain, text="Your training text", steps=10000)
generated = sample_text(brain, seed="Hello", n_tokens=100, temperature=0.8)
Hybrid Pipeline
from magicbrain.platform import ModelOrchestrator, ExecutionStrategy
from magicbrain.models.snn import SNNTextModel
from magicbrain.models.dnn import DNNModel
import torch.nn as nn
snn = SNNTextModel(genome="30121033102301230112332100123", vocab_size=50)
dnn = DNNModel(nn.Linear(384, 10))
orch = ModelOrchestrator()
orch.add_model(snn, model_id="encoder")
orch.add_model(dnn, model_id="decoder")
orch.connect("encoder", "decoder")
result = orch.execute(input_data, strategy=ExecutionStrategy.SEQUENTIAL)
HybridBuilder (fluent API)
from magicbrain.hybrid import HybridBuilder
hybrid = (HybridBuilder()
.add("encoder", snn_model)
.add("transformer", bert_model)
.add("decoder", dnn_model)
.connect("encoder", "transformer")
.connect("transformer", "decoder")
.build("complex_hybrid"))
output = hybrid.forward(input_data)
NeuroGenesis
from magicbrain.neurogenesis.compiler import GenomeCompiler
from magicbrain.neurogenesis.pipeline import NeurogenesisPipeline
compiler = GenomeCompiler(strategy="hybrid")
genome = compiler.compile(dataset="path/to/text.txt")
pipeline = NeurogenesisPipeline()
result = pipeline.run(dataset, genome_v2=True)
# result: обученный мозг + метрики реконструкции
Digital Twins
from magicbrain.integration.neural_digital_twin import NeuralDigitalTwin
twin = NeuralDigitalTwin(student_id="student_42", learning_style="visual")
twin.learn_topic(topic_id="algebra_linear", steps=200, difficulty=0.6)
mastery = twin.get_mastery(topic_id="algebra_linear")
state = twin.get_cognitive_state() # attention, confusion, fatigue
Структура модулей
Ядро SNN
| Модуль | Назначение |
|---|---|
brain.py |
TextBrain: sparse top-k, dual weights (slow/fast), dopamine, axonal delays |
genome.py |
Геномное кодирование, decode_genome() |
sampling.py |
Генерация текста (temperature, top-k, top-p) |
graph.py |
3D граф нейронов с аксональными задержками (1-5 шагов) |
io.py |
Сохранение/загрузка моделей (.npz) |
NeuroGenesis Engine (neurogenesis/)
| Модуль | Назначение |
|---|---|
compiler.py |
GenomeCompiler: датасет → геном (hash / statistical / hybrid) |
energy.py |
Hopfield energy: E(s) = -1/2 s'Ws - theta's + lambda |
attractor_dynamics.py |
Динамика к аттракторам, поиск бассейнов притяжения |
cppn.py |
CPPN: координаты → веса (8 базисных функций: sin, cos, gaussian, ...) |
development.py |
3D морфогенез + синаптогенез + созревание ткани |
pattern_memory.py |
Ассоциативная память Хопфилда (Storkey rule, ~0.14N паттернов) |
reconstruction.py |
4 режима: autoregressive, attractor, cue-based, generation |
genome_v2.py |
Расширенный формат 72+: Topology + CPPN + Attractor + Patterns |
pipeline.py |
E2E пайплайн: датасет → компиляция → развитие → обучение → оценка |
Platform Framework (platform/)
| Компонент | Назначение |
|---|---|
ModelInterface |
Универсальная абстракция: SNN, DNN, CNN, RNN, Transformer, Hybrid, Ensemble |
ModelOrchestrator |
7 стратегий: Sequential, Parallel, Pipeline, Hierarchical, Feedback, Cascaded, MoE |
ModelRegistry |
Версионирование, метаданные, dependency tracking |
MessageBus |
Маршрутизация между моделями с автоматической конвертацией типов |
| TypeConverters | Spikes <-> Dense <-> Embeddings <-> Logits |
Digital Twins (integration/)
| Модуль | Назначение |
|---|---|
neural_digital_twin.py |
NeuralDigitalTwin: геном из student_id, 4 стиля, forgetting dynamics |
redis_twin_store.py |
Redis-персистентность состояния двойников |
knowledgebase_client.py |
HTTP-клиент для синхронизации с KnowledgeBaseAI |
act_backend.py |
Интеграция с Balansis (ACT-компенсированная арифметика весов) |
Дополнительные модули
| Каталог | Содержание |
|---|---|
evolution/ |
SimpleGA (tournament selection), GenomeMutator (6 операторов), FitnessEvaluator |
diagnostics/ |
LiveMonitor, NeuronalDynamics, PlasticityTracker, SynapticMetrics |
learning_rules/ |
STDP, STDPBrain |
backends/ |
NumPy (default), JAX (optional) |
hybrid/ |
HybridArchitecture, HybridBuilder, SNN+DNN/Transformer/CNN, SpikingAttention |
architectures/ |
HierarchicalBrain (multi-layer SNN) |
training/ |
Coordinator, Checkpointing, DataPartitioner, Worker |
zoo/ |
Model Zoo — управление предобученными моделями |
REST API
FastAPI-микросервис, порт 8004 в экосистеме.
| Группа | Основные эндпоинты |
|---|---|
/api/v1/models |
CRUD моделей, запуск обучения, генерация, forward pass |
/api/v1/training |
Фоновые задачи обучения, статус и результат |
/api/v1/inference |
Forward pass, text sampling |
/api/v1/diagnostics |
Метрики мозга, текущее состояние активации |
/api/v1/evolution |
Запуск генетической оптимизации генома |
/api/v1/twins |
CRUD двойников; learn, mastery, cognitive-state, interaction, predict |
/api/v1/auto-evolution |
Автоматическая оптимизация без ручного задания fitness |
Формальная верификация (Lean4)
Инструментарий: Lean 4 v4.28.0 + Mathlib v4.28.0
| Файл | Содержание |
|---|---|
DeltaE.lean |
Delta_E <= 0 при обновлении одного нейрона |
Convergence.lean |
Конечная сходимость: <= 2^n шагов (принцип Дирихле) |
Hopfield.lean |
Базовые определения: sigma, spin, updateCoord, globalEnergy |
SumLemmas.lean |
Вспомогательные леммы для скалярных произведений |
Glue.lean |
globalEnergy_nonincreasing_updateCoord |
21 теорема, 0 sorry, 0 ошибок, 0 axioms.
cd formal && lake build
Тестирование
pytest # все тесты
pytest --cov=magicbrain --cov-report=html # с покрытием
pytest tests/neurogenesis/ -v # NeuroGenesis (93 теста)
pytest tests/platform/ -v # Platform
pytest tests/integration/ -v # Integration
| Категория | Файлов |
|---|---|
| Core SNN | 6 |
| NeuroGenesis | 8 (93 теста) |
| Platform | 5 |
| Hybrid | 2 |
| Evolution, Diagnostics, STDP | 3 |
| Training | 3 |
| Integration | 3 |
34 тестовых файла, 237+ passed, 90%+ coverage.
Геномное кодирование
Base-4 строка 24+ символов. Каждая позиция детерминированно задаёт гиперпараметр:
| Позиция | Параметр | Диапазон |
|---|---|---|
| 0-1 | N (нейронов) | 256-1216 |
| 2 | K (связность) | 8-20 |
| 4 | lr | 5e-4 - 2e-3 |
| 5 | k_active | 4-7% от N |
| 15 | p_inhib | 10-25% |
| 16 | dopamine_gain | 0.8-2.0 |
| 20 | prune_every | 800-1400 шагов |
Геном по умолчанию: "30121033102301230112332100123"
Статистика
| Метрика | Значение |
|---|---|
| Версия | 0.8.0 (Lean4 Formal Verification Edition) |
| Python | 3.9, 3.10, 3.11, 3.12 |
| Лицензия | AGPL-3.0-only + Commercial |
| Python-модулей | 88 (magicbrain/) + 16 (api/) |
| Тестовых файлов | 34 |
| Passed тестов | 237+ |
| Покрытие | 90%+ |
| Lean4 теорем | 21 (0 sorry, 0 errors) |
| Типов моделей | 5 |
| Стратегий оркестрации | 7 |
| API эндпоинтов | 30+ |
| MAGIC Level | 2 (MetaBrain) |
Roadmap
v0.7.2
- Lean4 верификация STDP-правил обучения
- Покрытие тестами до 95%+
v0.8.0 (Q2 2026)
- Joint training гибридных архитектур (SNN <-> DNN градиенты)
- Knowledge distillation из больших моделей в SNN
- Расширенный Model Zoo с предобученными геномами
v1.0.0 (Q4 2026)
- Production inference server
- Distributed training
- Stable public API с гарантиями совместимости
Место в MAGIC Ecosystem
Level 4 (MetaKnowledge): KnowledgeBaseAI <- синхронизация освоения тем
Level 3 (MetaAgent): xteam-agents <- когнитивные модели студентов
Level 2 (MetaBrain): MagicBrain <- SNN-субстрат и оркестрация моделей (этот проект)
Level 1 (MetaBalansis): Balansis <- ACT-компенсированная арифметика
Applied: StudyNinja-API <- circuit breaker -> /health
Лицензия и governance
MagicBrain распространяется по дуальной модели:
- LICENSE: AGPL-3.0-only
- COMMERCIAL_LICENSE.md: коммерческие проприетарные условия
- LICENSING.md: выбор open-source или коммерческого маршрута
- CLA.md, CONTRIBUTING.md, SECURITY.md: правила участия и ответственного раскрытия
- PATENTS.md, TRADEMARKS.md, CITATION.cff: IP-boundaries, бренды и цитирование
Патентно-чувствительные материалы по нейрогенезу, fitness/tuning, приватным датасетам, промптам и telemetry не должны публиковаться до прохождения соответствующих gates.
Contributing
- Fork репозиторий
- Создайте feature branch
- Добавьте тесты (coverage >= 90% для новых модулей)
- Откройте Pull Request
Code style: Ruff, type hints обязательны, docstrings в Google style.
MagicBrain — биологически правдоподобная память для AGI-систем
MAGIC Level 2: MetaBrain
Metadata
Release files for magicbrain 0.8.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| magicbrain-0.8.0.tar.gz | 168.6 kB | Without provenance | Details for magicbrain-0.8.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| magicbrain-0.8.0-py3-none-any.whl | Python 3 | none | any | Details for magicbrain-0.8.0-py3-none-any.whl |
Total release size: 342.0 kB
Release files / magicbrain-0.8.0.tar.gz
| Download URL | magicbrain-0.8.0.tar.gz |
|---|---|
| Size | 168.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b30aaed189977d552f80fc1c2775fbe61244b7bfda49e07f93de6df2b701a472
|
|
BLAKE2b-256 checksum How to use checksums |
0c91c3bae03374f07cb5260cfd446578bbe90783570047ab7736ad055c60c448
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Release files / magicbrain-0.8.0-py3-none-any.whl
| Download URL | magicbrain-0.8.0-py3-none-any.whl |
|---|---|
| Size | 173.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
eb3f9cdc855bd1e2f22d99556d90116599da61758e640160fa07b54f9e429518
|
|
BLAKE2b-256 checksum How to use checksums |
d22dea1b0db1b731633e8645c1be974320098ce048a4aaa23045cbf05fa1d7b4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Security for magicbrain 0.8.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.