Универсальная платформа для гетерогенных и гибридных нейросетевых архитектур
Документация • Changelog • Releases • Issues
MagicBrain Platform - это универсальная платформа для создания, управления и оркестрации гетерогенных и гибридных нейросетевых архитектур. Платформа позволяет seamless интегрировать разные типы нейронных сетей (SNN, DNN, Transformers, CNN, RNN) в единые системы.
- 🧩 5 типов моделей: SNN, DNN, Transformer, CNN, RNN
- 🔄 Automatic type conversion: Spikes ↔ Dense ↔ Embeddings ↔ Logits
- 🎼 Multi-model orchestration: Sequential, Parallel, Pipeline стратегии
- 🧬 Unlimited hybrid combinations: создавайте любые комбинации моделей
- 🏗️ Compositional API: HybridBuilder с fluent interface
- ⚡ Spiking Attention: attention mechanism в spike domain
- 🧪 57 тестов с покрытием >90%
- 📦 Production-ready infrastructure
# Базовая установка (только SNN)
pip install magicbrain
# С поддержкой PyTorch моделей (DNN, CNN, RNN)
pip install magicbrain[torch]
# С поддержкой Transformers
pip install magicbrain[transformers]
# Полная платформа (все типы моделей)
pip install magicbrain[platform]
# Все возможности (включая JAX, визуализацию, dev tools)
pip install magicbrain[all]git clone https://github.com/AndrewHakmi/MagicBrain.git
cd MagicBrain
pip install -e ".[dev]"
pytestMagicBrain включает FastAPI сервис для удалённого управления моделями:
# Запуск API сервера
cd api
python main.py
# Или с uvicorn в production
uvicorn app.api.main:app --host 0.0.0.0 --port 8001API доступен по адресу: http://localhost:8001/docs
Основные эндпоинты:
POST /api/v1/models/- Создание моделиPOST /api/v1/models/{model_id}/train- ОбучениеPOST /api/v1/models/{model_id}/generate- Генерация текстаGET /api/v1/models/{model_id}- Информация о моделиDELETE /api/v1/models/{model_id}- Удаление модели
Подробная документация: api/README_API.md
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)) # PyTorch модель
# Оркестрация
orch = ModelOrchestrator()
orch.add_model(snn, model_id="snn_encoder")
orch.add_model(dnn, model_id="dnn_decoder")
orch.connect("snn_encoder", "dnn_decoder")
# Выполнение
result = orch.execute(input_data, strategy=ExecutionStrategy.SEQUENTIAL)from magicbrain.hybrid import HybridBuilder
# Fluent interface для построения гибридных архитектур
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)
print(hybrid.visualize_graph())from magicbrain.hybrid import HybridBuilder
from magicbrain.models.cnn import CNNModel
from torchvision.models import resnet50
# Multi-modal система
vision_language = (HybridBuilder()
.add("cnn", CNNModel(resnet50())) # Image features
.add("snn", snn_encoder) # Spike encoding
.add("transformer", bert) # Language understanding
.connect("cnn", "snn")
.connect("snn", "transformer")
.build("vision_language_system"))
result = vision_language.forward(image)from magicbrain import TextBrain
from magicbrain.tasks.text_task import train_loop
# Создание SNN с ДНК-кодированием
genome = "30121033102301230112332100123"
brain = TextBrain(genome, vocab_size=50)
# Обучение
train_loop(brain, text="Your training text", steps=10000)
# Генерация
from magicbrain.sampling import sample_text
generated = sample_text(brain, seed="Hello", n_tokens=100, temperature=0.8)╔═══════════════════════════════════════════════════════════╗
║ MagicBrain Platform v0.6.0 ║
╠═══════════════════════════════════════════════════════════╣
║ ║
║ ┌─────────────────┐ ┌──────────────────┐ ║
║ │ Model Types │ │ Infrastructure │ ║
║ ├─────────────────┤ ├──────────────────┤ ║
║ │ • SNN │ │ • Registry │ ║
║ │ • DNN │ │ • Orchestrator │ ║
║ │ • Transformers │ │ • MessageBus │ ║
║ │ • CNN │ │ • Converters │ ║
║ │ • RNN/LSTM │ │ • Model Zoo │ ║
║ └─────────────────┘ └──────────────────┘ ║
║ ║
║ ┌─────────────────────────────────────────┐ ║
║ │ Hybrid Architectures │ ║
║ ├─────────────────────────────────────────┤ ║
║ │ • SNN + DNN │ ║
║ │ • SNN + Transformer │ ║
║ │ • CNN + SNN │ ║
║ │ • Custom (HybridBuilder) │ ║
║ │ • Spiking Attention │ ║
║ └─────────────────────────────────────────┘ ║
║ ║
╚═══════════════════════════════════════════════════════════╝
Phase 1: Platform Foundation
ModelInterface- универсальная абстракция для всех моделейModelRegistry- версионирование, metadata, зависимостиCommunication Layer- MessageBus + TypeConvertersModelOrchestrator- multi-model executionModel Zoo- управление pretrained моделями
Phase 2: Multi-Model Support
DNNModel- PyTorch DNN adapterTransformerModel- Hugging Face integrationCNNModel- torchvision modelsRNNModel- LSTM/GRU с stateful execution
Phase 3: Hybrid Architectures
HybridArchitecture- базовый класс для гибридовSNNDNNHybrid,SNNTransformerHybrid,CNNSNNHybrid- готовые комбинацииSpikingAttention- attention в spike domainHybridBuilder- compositional API с fluent interface
Создание энергоэффективных систем с биологически правдоподобными спайковыми сетями.
Интеграция vision (CNN) + language (Transformer) + temporal processing (SNN/RNN).
Моделирование когнитивных процессов через гибридные системы.
Использование в StudyNinja для моделирования процессов обучения студентов.
Исследование гетерогенных архитектур и neuromorphic algorithms.
- PROJECT_COMPLETE.md - Полный отчет о проекте с примерами
- PLATFORM_VISION.md - Видение платформы и roadmap
- CHANGELOG.md - История версий
- CLAUDE.md - Руководство для разработчиков
- magicbrain/platform/README.md - Детали платформы
- examples/ - Рабочие примеры кода
# Запуск всех тестов
pytest
# С покрытием
pytest --cov=magicbrain --cov-report=html
# Specific test
pytest tests/platform/test_orchestrator.py -vТекущее покрытие: 57 тестов, >90% coverage, 100% pass rate
| Метрика | Значение |
|---|---|
| Версия | 0.6.0 (Hybrid Edition) |
| Файлов | 46 |
| Строк кода | ~9,000 |
| Тестов | 57 (100% passed) |
| Model types | 5 базовых |
| Hybrid combinations | Unlimited |
| Фаз завершено | 3/3 (100%) |
| Python | 3.9+ |
Мы приветствуем контрибуции! Пожалуйста:
- Fork репозиторий
- Создайте feature branch (
git checkout -b feature/amazing-feature) - Commit изменения (
git commit -m 'Add amazing feature') - Push в branch (
git push origin feature/amazing-feature) - Откройте Pull Request
git clone https://github.com/AndrewHakmi/MagicBrain.git
cd MagicBrain
pip install -e ".[dev]"
pytest- Используем Ruff для форматирования и линтинга
- Type hints обязательны
- Docstrings в Google style
- 100% test coverage для новых features
Первая платформа с единым интерфейсом для SNN, DNN, Transformers, CNN, RNN.
Прозрачная конвертация между spike trains, dense vectors, embeddings.
Compositional API для построения arbitrary гибридных архитектур.
Attention mechanism в spike domain - foundation для neuromorphic transformers.
Seamless integration разных model types в единые pipelines.
- Advanced orchestration (Mixture of Experts)
- Dynamic routing между моделями
- Feedback loops в гибридных архитектурах
- Performance optimizations
- Joint training для гибридных систем
- Knowledge distillation
- Meta-learning capabilities
- Extended model zoo
- Model serving infrastructure
- Distributed inference
- Monitoring dashboard
- Production deployment tools
Этот проект является частью экосистемы StudyNinja-Eco.
Powered by:
- PyTorch ecosystem
- Hugging Face Transformers
- NumPy & JAX
- Python 3.12
Inspired by:
- Biological neural networks
- Neuromorphic computing
- Multi-modal AI research
- Compositional architectures
- Repository: github.com/AndrewHakmi/MagicBrain
- Issues: GitHub Issues
- Ecosystem: StudyNinja-Eco
🧠 MagicBrain Platform - From single models to model ecosystems! 🌐
Made with ❤️ for the AI & Neuromorphic Computing community