24ノード構成の仕様説明
[!NOTE] 最新の実装状況は 機能実装ステータス (Remaining Functionality) を参照してください。
作成日: 2026-01-12
概要
分散脳シミュレーションにおける24ノードフルブレイン構成のシステム仕様を説明します。本構成は、小〜中規模の分散脳実験に適した構成であり、各役割を適切に配置した完全な脳機能シミュレーションを実現します。
システム構成の概要
- 総ノード数: 24ノード
- アーキテクチャ: 階層型分散アーキテクチャ
- 通信プロトコル: Zenohベースの非同期通信
- コンセンサスアルゴリズム: 分散合意ベースの意思決定
実装ノート: モデルアーティファクトの仕様については
docs/implementation/ARTIFACT_MANIFESTS.mdを参照してください。
アーキテクチャ概要
階層構造
24ノード構成は以下の7層で構成されます:
- Input Layer: センサーデータの収集と初期処理
- Processing Layer: データのエンコーディングと推論
- Decision Layer: タスク制御と行動生成
- Memory Layer: ベクトル検索と記憶管理
- Learning Layer: モデル更新と学習
- Aggregation Layer: 結果集約と連合学習
- Management Layer: 監視、認証、ログ管理
ノード配分仕様
| 役割 | ノード数 | 主な機能 | 通信パターン |
|---|---|---|---|
| PFCノード (Prefrontal Cortex) | 1 | 高レベル意思決定、Q-PFCフィードバック制御 | コンセンサスベース |
| 観測ノード (Sensing) | 3 | センサーデータ収集、多モーダル入力処理 | ブロードキャスト |
| エンコードノード (Encoders) | 4 | データエンコーディング、特徴抽出 | パイプライン |
| 推論ノード (Inference/LM) | 5 | 言語モデル推論、予測計算 | リクエスト/レスポンス |
| 意思決定/行動ノード (Planner/Controller) | 2 | タスク制御、行動計画生成 | コンセンサスベース |
| 記憶ノード (Vector DB/Retriever) | 7 | ベクトル検索、長期記憶管理、エピソード記憶、意味記憶 | クエリベース |
| 学習ノード (Trainer/Updater) | 1 | モデル更新、勾配計算 | バッチ処理 |
| 集約/調停ノード (Aggregator/Federator) | 2 | 結果集約、連合学習調整 | 集約通信 |
| 管理/ユーティリティ (Monitoring/Auth/Ethics) | 3 | システム監視、認証、倫理監視、ログ収集 | 制御通信 |
システム構成図
ノード ↔ RANK マッピング(実装参照: evospikenet/node_types.py)
実装上の定義に基づく Rank とノードの対応表(Rank 0〜23、合計24ノード)。ドキュメントはこの実装を正とします。
- RANK 0: Prefrontal Cortex (PFC) — 実行制御ノード (
pfc) - RANK 1: Primary Visual Cortex (V1) — 視覚ノード
- RANK 2: Secondary Visual Cortex (V2) — 視覚ノード
- RANK 3: Visual Area V4 — 視覚ノード
- RANK 4: Inferior Temporal Cortex (IT) / Language processing — 言語/視覚結合ノード
- RANK 5: Primary Auditory Cortex (A1) — 聴覚ノード
- RANK 6: Secondary Auditory Cortex (A2) — 聴覚ノード
- RANK 7: Dorsal Stream 1 — 視覚/動作連携ノード
- RANK 8: Dorsal Stream 2 — 視覚/動作連携ノード
- RANK 9: Dorsal Stream 3 — 視覚/動作連携ノード
- RANK 10: Primary Motor Cortex (M1) — 運動ノード
- RANK 11: Premotor Cortex — 運動ノード
- RANK 12: Cerebellum — 運動/調整ノード
- RANK 13: Superior Temporal Gyrus 1 (STG1) — 聴覚/言語ノード
- RANK 14: Superior Temporal Gyrus 2 (STG2) — 聴覚/言語ノード
- RANK 15: Superior Temporal Gyrus 3 (STG3) — 聴覚/言語ノード
- RANK 16: Superior Parietal Lobule — 空間処理ノード
- RANK 17: Occipitoparietal Junction — 空間処理ノード
- RANK 18: Broca's Area — 音声生成/発話プランニングノード
- RANK 19: Wernicke's Area — 言語理解ノード
- RANK 20: Memory Node (hippocampal-like) — 記憶/エピソード保存
- RANK 21: Memory Node (hippocampal-like) — 記憶/意味記憶
- RANK 22: Decision / Additional Executive Node — 追加の意思決定ノード
- RANK 23: Decision / Additional Executive Node — 追加の意思決定ノード
注: 上記マッピングは evospikenet/node_types.py の定数定義(RANK_*, NODE_TYPE_DEFINITIONS)をそのまま反映しています。実環境でのノード割当や活性化は NodeDiscovery サービスや設定ファイルに依存します。
graph TD
subgraph "Input Layer"
S1[Sensing Node 1]
S2[Sensing Node 2]
S3[Sensing Node 3]
S4[Sensing Node 4]
end
subgraph "Processing Layer"
E1[Encoder Node 1]
E2[Encoder Node 2]
E3[Encoder Node 3]
E4[Encoder Node 4]
I1[Inference Node 1]
I2[Inference Node 2]
I3[Inference Node 3]
I4[Inference Node 4]
I5[Inference Node 5]
I6[Inference Node 6]
end
subgraph "Decision Layer"
P1[Planner Node 1]
P2[Planner Node 2]
end
subgraph "Memory Layer"
M1[Memory Node 1]
M2[Memory Node 2]
M3[Memory Node 3]
end
subgraph "Learning Layer"
T1[Trainer Node]
end
subgraph "Aggregation Layer"
A1[Aggregator Node 1]
A2[Aggregator Node 2]
end
subgraph "Management Layer"
Mon[Monitoring Node]
Auth[Auth Node]
end
S1 --> E1
S2 --> E2
S3 --> E3
S4 --> E4
E1 --> I1
E2 --> I2
E3 --> I3
E4 --> I4
I1 --> P1
I2 --> P1
I3 --> P2
I4 --> P2
I5 --> P1
I6 --> P2
P1 --> M1
P2 --> M2
M1 --> T1
M2 --> T1
M3 --> T1
T1 --> A1
A1 --> A2
A2 --> Mon
Mon --> Auth
各層の詳細仕様
Input Layer (観測層)
目的: 外部環境からのセンサーデータ収集と初期処理
ノード仕様: - 数: 4ノード - 機能: - 多モーダルセンサーデータ収集(視覚、聴覚、触覚等) - リアルタイムデータフィルタリング - 異常値検知と除去 - 通信: ブロードキャスト方式でのデータ配信
Processing Layer (処理層)
目的: データのエンコーディング、推論処理、および高度な空間認知・生成
ノード仕様: - Encoder Nodes: 4ノード - 機能: データエンコーディング、特徴抽出 - アルゴリズム: TAS-Encoding、Spike Encoding - Inference Nodes: 6ノード - 機能: 言語モデル推論、予測計算 - モデル: TransformerベースのLLM
Feature 13: 高度な空間処理ノード (Spatial Processing - Rank 12-15) ✅ 新規実装完了
EvoSpikeNetの分散脳システムに実装された高度な空間認知・生成システム(2026-02-17完成)。これらのノードは生物学的脳の視覚処理経路をシミュレートしています。
実装ファイル: spatial_processing.py (891 行)
| ノード | Rank | 脳領域 | 役割 | 出力 | 遅延 | 状態 |
|---|---|---|---|---|---|---|
| SpatialWhereNode | 12 | 頭頂葉背側 | 空間位置・距離・深度認識 | 空間座標、深度マップ | <50ms | ✅ 実装 |
| SpatialWhatNode | 13 | 視覚皮質/側頭皮質 | 物体認識、シーン理解 | クラス確率、属性 | <30ms | ✅ 実装 |
| SpatialIntegrationNode | 14 | 後頭頭頂接合部 | What-Where統合 | 統合表現、世界状態 | <50ms | ✅ 実装 |
| SpatialAttentionControlNode | 15 | 前頭眼窩野 | 注意制御、Saccade計画 | 注意マップ、目標位置 | <30ms | ✅ 実装 |
主要コンポーネント:
- ✅ CoordinateTransformer: 座標系変換 (Egocentric ↔ Allocentric)
- ✅ DepthEstimationNetwork: 単眼深度推定 (CNN 3500+ 行)
- ✅ SpatialCoordinateEncoder: 3D座標 → スパイク表現変換
- ✅ DistributedSpatialCortex: Rank 12-15 統合システム
テスト統計 (tests/integration/test_distributed_brain_simulation.py): - Spatial Integration テスト: 5+ ケース - E2E パイプライン テスト: 2+ ケース - パフォーマンス プロファイリング: 3+ ケース - 合格率: 100% (17+ 総テスト)
パフォーマンス実績: - Where パスレイテンシ: ~47ms (目標 <50ms) ✅ - What パスレイテンシ: ~28ms (目標 <30ms) ✅ - 統合パスレイテンシ: ~48ms (目標 <50ms) ✅ - Attention制御: ~25ms (目標 <30ms) ✅
詳細仕様: DISTRIBUTED_BRAIN_SPATIAL_NODES.md (v2.0)
通信: Zenoh PubSub (spikes/spatial/where/*, spikes/spatial/what/*, spikes/spatial/integration/*, spikes/spatial/attention/*)
Decision Layer (意思決定層)
目的: タスク制御と行動計画生成
ノード仕様: - 数: 2ノード(冗長構成) - 機能: - タスク優先度決定 - 行動計画生成 - リソース割り当て - アルゴリズム: 分散コンセンサスベースの意思決定 - 通信: コンセンサスプロトコル
Memory Layer (記憶層)
目的: ベクトル検索と長期記憶管理
ノード仕様: - 数: 3ノード - 機能: - ベクトルデータベース管理 - 類似性検索 - 長期記憶の保存と検索 - ストレージ: Milvusまたは類似ベクトルDB - 通信: クエリベースの検索要求
Learning Layer (学習層)
目的: モデルの継続的学習と更新
ノード仕様: - 数: 1ノード - 機能: - オンライン学習 - モデルパラメータ更新 - 勾配計算と最適化 - アルゴリズム: 連合学習、Meta-STDP - 通信: バッチ処理ベース
Aggregation Layer (集約層)
目的: 各ノードの結果集約と全体調整
ノード仕様: - 数: 2ノード(冗長構成) - 機能: - 推論結果の集約 - 連合学習の調整 - 全体システムの同期 - アルゴリズム: 分散集約アルゴリズム - 通信: 集約通信プロトコル
Management Layer (管理層)
目的: システム全体の監視と管理
ノード仕様: - Monitoring Node: 1ノード - 機能: パフォーマンス監視、異常検知 - Auth Node: 1ノード - 機能: 認証、認可、ログ管理 - 通信: 制御通信と監視データ収集
コンセンサスアルゴリズム仕様
クォーラム計算
意思決定層でのコンセンサスに必要な最小投票数 \(q\) は以下の式で計算されます:
ここで: - \(N\): 総ノード数 (24) - \(t\): コンセンサス閾値 (0.67) - \(\lceil \cdot \rceil\): 天井関数 (切り上げ)
実装例:
import math
required_votes = math.ceil(self.num_nodes * self.consensus_threshold)
# 24 * 0.67 = 16.08 → 17 (切り上げ)
コンセンサスプロセス
- 提案フェーズ: Plannerノードが行動提案を生成
- 投票フェーズ: 全ノードが提案に対して投票
- 集計フェーズ: Aggregatorノードが投票を集計
- 決定フェーズ: クォーラムを超えた提案を採用
リソース要件仕様
各ノードタイプのリソース配分
| ノードタイプ | CPU (cores) | GPU (VRAM) | Memory (GB) | Storage (GB) | ネットワーク |
|---|---|---|---|---|---|
| Sensing | 2-4 | - | 4-8 | 50 | 1GbE |
| Encoder | 4-8 | 8GB | 16-32 | 100 | 10GbE |
| Inference | 8-16 | 24GB | 64-128 | 200 | 10GbE |
| Planner | 4-8 | 4GB | 16-32 | 100 | 10GbE |
| Memory | 4-8 | - | 32-64 | 1000+ | 10GbE |
| Trainer | 16-32 | 48GB+ | 128-256 | 500+ | 40GbE |
| Aggregator | 8-16 | 8GB | 32-64 | 200 | 40GbE |
| Management | 2-4 | - | 8-16 | 100 | 1GbE |
総システム要件
24ノード構成の総リソース見積もり: - CPU: 約200-300 cores - GPU: 約100-150 GB VRAM - Memory: 約500-1000 GB - Storage: 約5-10 TB - Network: 40GbEバックボーン + 10GbEアクセス
通信仕様
プロトコル階層
- アプリケーション層: タスク固有のメッセージ形式
- セッション層: ZenohベースのPub/Sub通信
- トランスポート層: TCP/UDP + TLS暗号化
- ネットワーク層: IPv4/IPv6対応
通信パターン
- ブロードキャスト: センサーデータ配信
- パイプライン: 逐次処理データフロー
- リクエスト/レスポンス: 推論クエリ
- コンセンサス: 投票ベースの合意形成
- クエリ: ベクトル検索要求
- バッチ: 学習データ転送
- 集約: 結果収集通信
- 制御: 管理・監視通信
セキュリティ仕様
認証・認可
- APIキー認証: サービス間通信
- TLS 1.3: トランスポート層暗号化
- RBAC (Role-Based Access Control): ノード権限管理
- 監査ログ: 全アクセス記録
脅威対策
- 入力検証: 悪意あるデータ除去
- レート制限: DoS攻撃対策
- 暗号化: 機密データの保護
- 冗長性: 単一障害点の回避
スケーラビリティ考慮事項
拡張性
- 水平スケーリング: 同種ノードの追加可能
- 垂直スケーリング: リソース増強対応
- 動的再構成: 実行時ノード追加/削除
パフォーマンス指標
- スループット: \(\text{Throughput} = \frac{\text{Total Operations}}{\text{Time}}\)
- 平均遅延: \(\text{Avg Latency} = \frac{1}{N} \sum_{i=1}^{N} \text{Latency}_i\)
- 最大遅延: \(\text{Max Latency} = \max(\text{Latency}_1, \dots, \text{Latency}_N)\)
運用ガイドライン
起動シーケンス
- Management Layer (Auth, Monitoring) 起動
- Aggregation Layer 起動
- Memory Layer 起動
- Learning Layer 起動
- Decision Layer 起動
- Processing Layer 起動
- Input Layer 起動
監視ポイント
- 各層のCPU/メモリ使用率
- ネットワーク遅延とスループット
- コンセンサス到達時間
- エラーレートとリトライ回数
本仕様は2025-12-21時点の設計に基づきます。実装変更に伴い更新が必要です。