SkyalyticAI 0.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- skyalyticai-0.1.0/LICENSE +25 -0
- skyalyticai-0.1.0/PKG-INFO +317 -0
- skyalyticai-0.1.0/README.md +287 -0
- skyalyticai-0.1.0/SkyalyticAI.egg-info/PKG-INFO +317 -0
- skyalyticai-0.1.0/SkyalyticAI.egg-info/SOURCES.txt +68 -0
- skyalyticai-0.1.0/SkyalyticAI.egg-info/dependency_links.txt +1 -0
- skyalyticai-0.1.0/SkyalyticAI.egg-info/requires.txt +12 -0
- skyalyticai-0.1.0/SkyalyticAI.egg-info/top_level.txt +1 -0
- skyalyticai-0.1.0/pyproject.toml +48 -0
- skyalyticai-0.1.0/setup.cfg +4 -0
- skyalyticai-0.1.0/setup.py +12 -0
- skyalyticai-0.1.0/skyalyticAI/__init__.py +82 -0
- skyalyticai-0.1.0/skyalyticAI/active_inference/__init__.py +3 -0
- skyalyticai-0.1.0/skyalyticAI/active_inference/agent.py +895 -0
- skyalyticai-0.1.0/skyalyticAI/brain.py +1316 -0
- skyalyticai-0.1.0/skyalyticAI/consciousness/__init__.py +307 -0
- skyalyticai-0.1.0/skyalyticAI/data/__init__.py +519 -0
- skyalyticai-0.1.0/skyalyticAI/data/corpus_manager.py +284 -0
- skyalyticai-0.1.0/skyalyticAI/data/education_config.py +254 -0
- skyalyticai-0.1.0/skyalyticAI/env/__init__.py +14 -0
- skyalyticai-0.1.0/skyalyticAI/env/curriculum_world.py +240 -0
- skyalyticai-0.1.0/skyalyticAI/env/environment.py +92 -0
- skyalyticai-0.1.0/skyalyticAI/env/exam_world.py +143 -0
- skyalyticai-0.1.0/skyalyticAI/env/grid_world.py +219 -0
- skyalyticai-0.1.0/skyalyticAI/env/social_classroom_world.py +244 -0
- skyalyticai-0.1.0/skyalyticAI/env/text_world.py +99 -0
- skyalyticai-0.1.0/skyalyticAI/evolution/__init__.py +430 -0
- skyalyticai-0.1.0/skyalyticAI/exams/__init__.py +14 -0
- skyalyticai-0.1.0/skyalyticAI/exams/char_prediction_exam.py +127 -0
- skyalyticai-0.1.0/skyalyticAI/exams/exam_suite.py +122 -0
- skyalyticai-0.1.0/skyalyticAI/exams/multi_step_reasoning_exam.py +167 -0
- skyalyticai-0.1.0/skyalyticAI/exams/reading_comprehension_exam.py +153 -0
- skyalyticai-0.1.0/skyalyticAI/gpu/__init__.py +370 -0
- skyalyticai-0.1.0/skyalyticAI/language/__init__.py +6 -0
- skyalyticai-0.1.0/skyalyticAI/language/language_head.py +101 -0
- skyalyticai-0.1.0/skyalyticAI/language/text_encoder.py +72 -0
- skyalyticai-0.1.0/skyalyticAI/memory/__init__.py +13 -0
- skyalyticai-0.1.0/skyalyticAI/memory/consolidation.py +633 -0
- skyalyticai-0.1.0/skyalyticAI/memory/hdc.py +542 -0
- skyalyticai-0.1.0/skyalyticAI/metacognition/__init__.py +3 -0
- skyalyticai-0.1.0/skyalyticAI/metacognition/metacognition.py +453 -0
- skyalyticai-0.1.0/skyalyticAI/neurons/__init__.py +5 -0
- skyalyticai-0.1.0/skyalyticAI/neurons/alif.py +199 -0
- skyalyticai-0.1.0/skyalyticAI/neurons/lif.py +284 -0
- skyalyticai-0.1.0/skyalyticAI/neurons/snn_layer.py +664 -0
- skyalyticai-0.1.0/skyalyticAI/neurons/sparse_connectivity.py +384 -0
- skyalyticai-0.1.0/skyalyticAI/npc/__init__.py +6 -0
- skyalyticai-0.1.0/skyalyticAI/npc/persona_registry.py +151 -0
- skyalyticai-0.1.0/skyalyticAI/npc/teacher_npc.py +235 -0
- skyalyticai-0.1.0/skyalyticAI/npc/teacher_service.py +112 -0
- skyalyticai-0.1.0/skyalyticAI/perception/__init__.py +5 -0
- skyalyticai-0.1.0/skyalyticAI/perception/audio_encoder.py +212 -0
- skyalyticai-0.1.0/skyalyticAI/perception/multimodal_fusion.py +150 -0
- skyalyticai-0.1.0/skyalyticAI/perception/visual_encoder.py +315 -0
- skyalyticai-0.1.0/skyalyticAI/plasticity/__init__.py +4 -0
- skyalyticai-0.1.0/skyalyticAI/plasticity/stdp.py +311 -0
- skyalyticai-0.1.0/skyalyticAI/plasticity/stdp_layer.py +410 -0
- skyalyticai-0.1.0/skyalyticAI/predictive_coding/__init__.py +4 -0
- skyalyticai-0.1.0/skyalyticAI/predictive_coding/pcn.py +475 -0
- skyalyticai-0.1.0/skyalyticAI/predictive_coding/pcn_layer.py +327 -0
- skyalyticai-0.1.0/skyalyticAI/society/__init__.py +6 -0
- skyalyticai-0.1.0/skyalyticAI/society/sim_world.py +311 -0
- skyalyticai-0.1.0/skyalyticAI/training/__init__.py +5 -0
- skyalyticai-0.1.0/skyalyticAI/training/acceptance_report.py +140 -0
- skyalyticai-0.1.0/skyalyticAI/training/human_growth_trainer.py +229 -0
- skyalyticai-0.1.0/skyalyticAI/training/text_metrics.py +45 -0
- skyalyticai-0.1.0/skyalyticAI/training/trainer.py +446 -0
- skyalyticai-0.1.0/skyalyticAI/training/training_quality.py +84 -0
- skyalyticai-0.1.0/skyalyticAI/world_model/__init__.py +3 -0
- skyalyticai-0.1.0/skyalyticAI/world_model/world_model.py +541 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
CC BY-NC-SA 4.0 Deed
|
|
2
|
+
|
|
3
|
+
You are free to:
|
|
4
|
+
|
|
5
|
+
Share — copy and redistribute the material in any medium or format
|
|
6
|
+
|
|
7
|
+
Adapt — remix, transform, and build upon the material
|
|
8
|
+
|
|
9
|
+
Under the following terms:
|
|
10
|
+
|
|
11
|
+
Attribution (BY) — You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
|
|
12
|
+
|
|
13
|
+
NonCommercial (NC) — You may not use the material for commercial purposes.
|
|
14
|
+
|
|
15
|
+
ShareAlike (SA) — If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original.
|
|
16
|
+
|
|
17
|
+
No additional restrictions — You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits.
|
|
18
|
+
|
|
19
|
+
Notices:
|
|
20
|
+
|
|
21
|
+
You do not have to comply with the license for elements of the material in the public domain or where your use is permitted by an applicable exception or limitation.
|
|
22
|
+
|
|
23
|
+
No warranties are given. The license may not give you all of the permissions necessary for your intended use. For example, other rights such as publicity, privacy, or moral rights may limit how you use the material.
|
|
24
|
+
|
|
25
|
+
Full license text: https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode
|
|
@@ -0,0 +1,317 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: SkyalyticAI
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: Neural Isomorphic Evolutionary Architecture - A brain-inspired AI framework
|
|
5
|
+
Author: NIEA Team
|
|
6
|
+
License: CC-BY-NC-SA-4.0
|
|
7
|
+
Keywords: neuroscience,spiking-neural-network,predictive-coding,active-inference,hyperdimensional-computing,brain-inspired
|
|
8
|
+
Classifier: Development Status :: 3 - Alpha
|
|
9
|
+
Classifier: Intended Audience :: Science/Research
|
|
10
|
+
Classifier: Programming Language :: Python :: 3
|
|
11
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
15
|
+
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
16
|
+
Requires-Python: >=3.9
|
|
17
|
+
Description-Content-Type: text/markdown
|
|
18
|
+
License-File: LICENSE
|
|
19
|
+
Requires-Dist: numpy>=1.22.0
|
|
20
|
+
Requires-Dist: scipy>=1.9.0
|
|
21
|
+
Provides-Extra: dev
|
|
22
|
+
Requires-Dist: pytest>=7.0; extra == "dev"
|
|
23
|
+
Requires-Dist: pytest-cov>=4.0; extra == "dev"
|
|
24
|
+
Provides-Extra: torch
|
|
25
|
+
Requires-Dist: torch>=2.0.0; extra == "torch"
|
|
26
|
+
Provides-Extra: viz
|
|
27
|
+
Requires-Dist: matplotlib>=3.5.0; extra == "viz"
|
|
28
|
+
Dynamic: license-file
|
|
29
|
+
Dynamic: requires-python
|
|
30
|
+
|
|
31
|
+
# NIEA - Neural Isomorphic Evolutionary Architecture
|
|
32
|
+
|
|
33
|
+
基于人脑认知架构的通用人工智能框架,实现从感知运动到博士级别的类人成长训练路径。
|
|
34
|
+
|
|
35
|
+
## 项目简介
|
|
36
|
+
|
|
37
|
+
NIEA 是一个脑启发AI框架,融合四大理论支柱与七大功能模块:
|
|
38
|
+
|
|
39
|
+
**四大理论支柱:**
|
|
40
|
+
|
|
41
|
+
1. SNN基底 -- 生物神经元的事件驱动计算基元(LIF/ALIF + STDP)
|
|
42
|
+
2. 预测编码学习 -- 层次化自由能最小化的世界模型(PCN)
|
|
43
|
+
3. 互补记忆系统 -- 海马体快速编码 + 皮层慢速巩固的双系统架构(HDC + CMS)
|
|
44
|
+
4. 全局工作空间意识涌现 -- 模块竞争广播与意识点火机制(Global Workspace)
|
|
45
|
+
|
|
46
|
+
**七大功能模块:**
|
|
47
|
+
|
|
48
|
+
1. 脉冲编码器 -- 速率/时间编码,将连续信号转换为脉冲序列
|
|
49
|
+
2. SNN计算核心 -- LIF/ALIF神经元 + STDP赫布可塑性
|
|
50
|
+
3. 预测编码网络(PCN) -- 层次化预测与误差校正
|
|
51
|
+
4. 超维记忆系统(HDC) -- 关联记忆、情景记忆、概念存储
|
|
52
|
+
5. 主动推理引擎 -- 期望自由能最小化、好奇心驱动探索
|
|
53
|
+
6. 世界模型(WM) -- RSSM循环状态空间模型 + 奖励预测 + 想象规划
|
|
54
|
+
7. 元认知与结构自进化模块 -- 不确定性估计 + 神经发生/突触修剪/结构可塑性
|
|
55
|
+
|
|
56
|
+
**类人成长训练路径:**
|
|
57
|
+
|
|
58
|
+
0~3岁感知运动期 -> 幼儿园 -> 小学 -> 初中 -> 高中 -> 本科 -> 硕士 -> 博士
|
|
59
|
+
|
|
60
|
+
## 环境要求
|
|
61
|
+
|
|
62
|
+
- Python >= 3.9
|
|
63
|
+
- numpy >= 1.22.0
|
|
64
|
+
- scipy >= 1.9.0
|
|
65
|
+
|
|
66
|
+
**可选依赖(按需安装):**
|
|
67
|
+
|
|
68
|
+
| 依赖 | 用途 | 安装命令 |
|
|
69
|
+
|------|------|---------|
|
|
70
|
+
| torch >= 1.12 | GPU加速(SNN层、世界模型) | `pip install torch` |
|
|
71
|
+
| pytest | 运行单元测试 | `pip install pytest` |
|
|
72
|
+
| openai | AI教师NPC(DeepSeek等) | `pip install openai` |
|
|
73
|
+
|
|
74
|
+
**安装:**
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
pip install -e .
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## 快速开始
|
|
81
|
+
|
|
82
|
+
### 1. 最简创建
|
|
83
|
+
|
|
84
|
+
```python
|
|
85
|
+
from skyalyticAI import NIEABrain
|
|
86
|
+
|
|
87
|
+
brain = NIEABrain(input_dim=10, action_dim=4)
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### 2. 使用预设方案
|
|
91
|
+
|
|
92
|
+
```python
|
|
93
|
+
from skyalyticAI import NIEABrain
|
|
94
|
+
|
|
95
|
+
# 小规模(个人电脑)
|
|
96
|
+
brain = NIEABrain(input_dim=10, action_dim=4, brain_scale="small")
|
|
97
|
+
|
|
98
|
+
# 中规模(单卡GPU)
|
|
99
|
+
brain = NIEABrain(input_dim=10, action_dim=4, brain_scale="medium")
|
|
100
|
+
|
|
101
|
+
# 大规模(多卡GPU)
|
|
102
|
+
brain = NIEABrain(input_dim=10, action_dim=4, brain_scale="large")
|
|
103
|
+
|
|
104
|
+
# 超大规模(GPU集群)
|
|
105
|
+
brain = NIEABrain(input_dim=10, action_dim=4, brain_scale="xlarge")
|
|
106
|
+
|
|
107
|
+
# 人脑规模(神经形态芯片/超大规模集群)
|
|
108
|
+
brain = NIEABrain(input_dim=10, action_dim=4, brain_scale="human")
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### 3. 预设 + 自定义覆盖
|
|
112
|
+
|
|
113
|
+
```python
|
|
114
|
+
# 使用large预设,但覆盖hidden_dim
|
|
115
|
+
brain = NIEABrain(
|
|
116
|
+
input_dim=10,
|
|
117
|
+
action_dim=4,
|
|
118
|
+
brain_scale="large",
|
|
119
|
+
override_hidden_dim=16384, # 覆盖预设的8192
|
|
120
|
+
)
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
### 4. 完全自定义参数
|
|
124
|
+
|
|
125
|
+
```python
|
|
126
|
+
brain = NIEABrain(
|
|
127
|
+
input_dim=128,
|
|
128
|
+
hidden_dim=2048,
|
|
129
|
+
action_dim=10,
|
|
130
|
+
n_observations=2048,
|
|
131
|
+
hd_dim=32000,
|
|
132
|
+
pcn_hidden_dim=1024,
|
|
133
|
+
world_model_hidden_dim=1024,
|
|
134
|
+
ai_hidden_dim=1024,
|
|
135
|
+
sparse=True,
|
|
136
|
+
synapses_per_neuron=1000,
|
|
137
|
+
)
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### 5. 启动训练
|
|
141
|
+
|
|
142
|
+
```bash
|
|
143
|
+
python scripts/run_growth_training.py
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
训练脚本会交互式选择成长线(human/social/society)、起始学段等。
|
|
147
|
+
|
|
148
|
+
### 6. AI教师NPC配置
|
|
149
|
+
|
|
150
|
+
通过环境变量配置外部AI教师服务(如DeepSeek):
|
|
151
|
+
|
|
152
|
+
```bash
|
|
153
|
+
# Linux/macOS
|
|
154
|
+
export NIEA_TEACHER_API_BASE=https://api.deepseek.com
|
|
155
|
+
export NIEA_TEACHER_API_KEY=your-api-key
|
|
156
|
+
export NIEA_TEACHER_MODEL=deepseek-v4-flash
|
|
157
|
+
|
|
158
|
+
# Windows PowerShell
|
|
159
|
+
$env:NIEA_TEACHER_API_BASE = "https://api.deepseek.com"
|
|
160
|
+
$env:NIEA_TEACHER_API_KEY = "your-api-key"
|
|
161
|
+
$env:NIEA_TEACHER_MODEL = "deepseek-v4-flash"
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
## 参数说明
|
|
165
|
+
|
|
166
|
+
### brain_scale 预设方案
|
|
167
|
+
|
|
168
|
+
| 预设 | 适用机型 | hidden_dim | hd_dim | pcn_hidden | wm_hidden | syn/neuron | 稀疏连接 | 估算内存 |
|
|
169
|
+
|------|---------|-----------|--------|------------|-----------|------------|---------|---------|
|
|
170
|
+
| small | PC/笔记本(CPU) | 256 | 10,000 | 128 | 256 | 100 | 否 | ~50MB |
|
|
171
|
+
| medium | 单卡GPU(RTX 3090/4090, 24GB) | 2,048 | 32,000 | 1,024 | 1,024 | 1,000 | 否 | ~2GB |
|
|
172
|
+
| large | 多卡GPU(A100 80GB x 4~8) | 8,192 | 128,000 | 4,096 | 4,096 | 3,000 | 是 | ~32GB |
|
|
173
|
+
| xlarge | GPU集群(A100/H100 x 32+) | 65,536 | 1,000,000 | 32,768 | 32,768 | 5,000 | 是 | ~1TB |
|
|
174
|
+
| human | 神经形态芯片/超大规模集群 | 16B | 15M | 8B | 2B | 7,000 | 是 | ~4,000TB |
|
|
175
|
+
|
|
176
|
+
### NIEABrain 完整参数
|
|
177
|
+
|
|
178
|
+
| 参数 | 类型 | 默认值 | 说明 |
|
|
179
|
+
|------|------|--------|------|
|
|
180
|
+
| input_dim | int | 10 | 感官输入维度 |
|
|
181
|
+
| hidden_dim | int | 256 | SNN和PCN的隐藏层维度 |
|
|
182
|
+
| action_dim | int | 4 | 离散动作数量 |
|
|
183
|
+
| n_observations | int | 10 | 主动推理的离散观测数 |
|
|
184
|
+
| hd_dim | int | 10000 | HDC记忆向量维度 |
|
|
185
|
+
| pcn_hidden_dim | int | 128 | 预测编码网络隐藏维度 |
|
|
186
|
+
| world_model_hidden_dim | int | 256 | 世界模型隐藏维度 |
|
|
187
|
+
| world_model_n_layers | int | 4 | 世界模型层数 |
|
|
188
|
+
| n_snn_layers | int | 3 | SNN层数 |
|
|
189
|
+
| ai_hidden_dim | int | 128 | 主动推理引擎隐藏维度 |
|
|
190
|
+
| development_stages | bool | True | 是否模拟发展阶段转换 |
|
|
191
|
+
| spike_encoding_steps | int | 20 | 脉冲编码时间步数 |
|
|
192
|
+
| surprise_threshold | float | 0.5 | 惊喜阈值(记忆存储触发) |
|
|
193
|
+
| consolidation_interval | int | 100 | 记忆巩固间隔步数 |
|
|
194
|
+
| consolidation_batch_size | int | 20 | 记忆巩固批量大小 |
|
|
195
|
+
| sparse | bool | False | 是否使用稀疏连接 |
|
|
196
|
+
| synapses_per_neuron | int | 7000 | 每神经元突触数(稀疏模式) |
|
|
197
|
+
| brain_scale | str/bool | False | 预设方案:small/medium/large/xlarge/human/True/False |
|
|
198
|
+
| language_vocab_size | int | None | 语言头词表大小 |
|
|
199
|
+
| device | str | None | 计算设备(cuda/cpu) |
|
|
200
|
+
|
|
201
|
+
### override 参数(覆盖预设值)
|
|
202
|
+
|
|
203
|
+
当使用 brain_scale 预设时,可通过 override 参数覆盖预设中的特定值:
|
|
204
|
+
|
|
205
|
+
| override 参数 | 覆盖的预设参数 |
|
|
206
|
+
|--------------|--------------|
|
|
207
|
+
| override_hidden_dim | hidden_dim |
|
|
208
|
+
| override_hd_dim | hd_dim |
|
|
209
|
+
| override_pcn_hidden_dim | pcn_hidden_dim |
|
|
210
|
+
| override_world_model_hidden_dim | world_model_hidden_dim |
|
|
211
|
+
| override_ai_hidden_dim | ai_hidden_dim |
|
|
212
|
+
| override_n_observations | n_observations |
|
|
213
|
+
| override_spike_encoding_steps | spike_encoding_steps |
|
|
214
|
+
| override_synapses_per_neuron | synapses_per_neuron |
|
|
215
|
+
|
|
216
|
+
**优先级:override_xxx > brain_scale预设 > 参数默认值**
|
|
217
|
+
|
|
218
|
+
### 各机型推荐配置
|
|
219
|
+
|
|
220
|
+
**个人电脑(8~16GB内存,无GPU):**
|
|
221
|
+
|
|
222
|
+
```python
|
|
223
|
+
brain = NIEABrain(input_dim=10, action_dim=4, brain_scale="small")
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
**游戏本(16~32GB内存,RTX 3060/4060, 8~12GB显存):**
|
|
227
|
+
|
|
228
|
+
```python
|
|
229
|
+
brain = NIEABrain(
|
|
230
|
+
input_dim=128, action_dim=10,
|
|
231
|
+
brain_scale="small",
|
|
232
|
+
override_hidden_dim=512,
|
|
233
|
+
override_synapses_per_neuron=200,
|
|
234
|
+
)
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
**工作站(64GB内存,RTX 3090/4090, 24GB显存):**
|
|
238
|
+
|
|
239
|
+
```python
|
|
240
|
+
brain = NIEABrain(input_dim=128, action_dim=10, brain_scale="medium")
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
**服务器(A100 80GB x 4~8):**
|
|
244
|
+
|
|
245
|
+
```python
|
|
246
|
+
brain = NIEABrain(input_dim=256, action_dim=20, brain_scale="large")
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
**GPU集群(A100/H100 x 32+):**
|
|
250
|
+
|
|
251
|
+
```python
|
|
252
|
+
brain = NIEABrain(input_dim=512, action_dim=50, brain_scale="xlarge")
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
## 项目结构
|
|
256
|
+
|
|
257
|
+
```
|
|
258
|
+
skyalyticAI/
|
|
259
|
+
skyalyticAI/ # 核心包
|
|
260
|
+
neurons/ # 神经元模型(LIF, ALIF, SNN层, 稀疏连接)
|
|
261
|
+
plasticity/ # 突触可塑性(STDP)
|
|
262
|
+
predictive_coding/ # 预测编码网络(PCN)
|
|
263
|
+
memory/ # 记忆系统(HDC, 巩固)
|
|
264
|
+
active_inference/ # 主动推理引擎
|
|
265
|
+
world_model/ # 世界模型(RSSM)
|
|
266
|
+
metacognition/ # 元认知模块
|
|
267
|
+
consciousness/ # 全局工作空间(意识涌现)
|
|
268
|
+
evolution/ # 结构自进化
|
|
269
|
+
language/ # 语言头(文本编码, 语言生成)
|
|
270
|
+
perception/ # 感知编码器(视觉, 听觉, 多模态融合)
|
|
271
|
+
env/ # 训练环境(GridWorld, 课程世界, 考试世界)
|
|
272
|
+
society/ # 社会模拟世界
|
|
273
|
+
npc/ # AI教师NPC
|
|
274
|
+
training/ # 训练器(基础训练, 类人成长训练)
|
|
275
|
+
exams/ # 考试系统
|
|
276
|
+
data/ # 数据管理
|
|
277
|
+
gpu/ # GPU加速工具
|
|
278
|
+
brain.py # NIEABrain 主类 + BrainScalePresets
|
|
279
|
+
scripts/
|
|
280
|
+
run_growth_training.py # 一键训练启动器
|
|
281
|
+
seed_curriculum_corpus.py # 语料种子脚本
|
|
282
|
+
理论.md # 完整理论文档
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
## 注意事项
|
|
286
|
+
|
|
287
|
+
1. **内存需求**:brain_scale="human" 需要约4,000TB内存,仅适用于神经形态芯片或超大规模分布式集群。普通机器请使用 small/medium 预设。
|
|
288
|
+
|
|
289
|
+
2. **GPU加速**:SNN层和世界模型支持PyTorch CUDA加速。稀疏连接模式(sparse=True)使用scipy CSR格式,在CPU上运行。large及以上预设自动启用稀疏连接。
|
|
290
|
+
|
|
291
|
+
3. **AI教师NPC**:社会模拟模式(society)需要配置外部AI教师服务。通过环境变量设置API密钥,代码中不会硬编码任何密钥。
|
|
292
|
+
|
|
293
|
+
4. **训练数据**:本框架不依赖大规模预训练语料。训练通过AI教师NPC交互进行,模拟人类从0岁开始的学习过程。
|
|
294
|
+
|
|
295
|
+
5. **Checkpoint**:训练过程自动保存checkpoint,支持断点续训。checkpoint保存在 `checkpoints/` 目录。
|
|
296
|
+
|
|
297
|
+
6. **发展阶段**:brain.development_stages=True 时,Brain会根据经验步数自动推进发展阶段(sensorimotor -> phd)。
|
|
298
|
+
|
|
299
|
+
7. **稀疏连接**:当 brain_scale 为 large/xlarge/human 时,自动启用稀疏连接(sparse=True),每个神经元仅连接有限数量的其他神经元,匹配人脑的稀疏连接模式。
|
|
300
|
+
|
|
301
|
+
8. **向后兼容**:brain_scale=True 等同于 brain_scale="human"。
|
|
302
|
+
|
|
303
|
+
## 开源协议
|
|
304
|
+
|
|
305
|
+
本项目采用 **CC BY-NC-SA 4.0**(知识共享 署名-非商业性使用-相同方式共享 4.0 国际)协议。
|
|
306
|
+
|
|
307
|
+
- 开源:源代码完全开放
|
|
308
|
+
- 可修改:允许修改和衍生
|
|
309
|
+
- 可下载:允许自由下载和分发
|
|
310
|
+
- 可提交审查:欢迎提交Issue和Pull Request
|
|
311
|
+
- 不可商用:禁止商业使用
|
|
312
|
+
|
|
313
|
+
详见 [LICENSE](LICENSE) 文件。
|
|
314
|
+
|
|
315
|
+
## 贡献
|
|
316
|
+
|
|
317
|
+
欢迎提交Issue和Pull Request参与贡献。
|
|
@@ -0,0 +1,287 @@
|
|
|
1
|
+
# NIEA - Neural Isomorphic Evolutionary Architecture
|
|
2
|
+
|
|
3
|
+
基于人脑认知架构的通用人工智能框架,实现从感知运动到博士级别的类人成长训练路径。
|
|
4
|
+
|
|
5
|
+
## 项目简介
|
|
6
|
+
|
|
7
|
+
NIEA 是一个脑启发AI框架,融合四大理论支柱与七大功能模块:
|
|
8
|
+
|
|
9
|
+
**四大理论支柱:**
|
|
10
|
+
|
|
11
|
+
1. SNN基底 -- 生物神经元的事件驱动计算基元(LIF/ALIF + STDP)
|
|
12
|
+
2. 预测编码学习 -- 层次化自由能最小化的世界模型(PCN)
|
|
13
|
+
3. 互补记忆系统 -- 海马体快速编码 + 皮层慢速巩固的双系统架构(HDC + CMS)
|
|
14
|
+
4. 全局工作空间意识涌现 -- 模块竞争广播与意识点火机制(Global Workspace)
|
|
15
|
+
|
|
16
|
+
**七大功能模块:**
|
|
17
|
+
|
|
18
|
+
1. 脉冲编码器 -- 速率/时间编码,将连续信号转换为脉冲序列
|
|
19
|
+
2. SNN计算核心 -- LIF/ALIF神经元 + STDP赫布可塑性
|
|
20
|
+
3. 预测编码网络(PCN) -- 层次化预测与误差校正
|
|
21
|
+
4. 超维记忆系统(HDC) -- 关联记忆、情景记忆、概念存储
|
|
22
|
+
5. 主动推理引擎 -- 期望自由能最小化、好奇心驱动探索
|
|
23
|
+
6. 世界模型(WM) -- RSSM循环状态空间模型 + 奖励预测 + 想象规划
|
|
24
|
+
7. 元认知与结构自进化模块 -- 不确定性估计 + 神经发生/突触修剪/结构可塑性
|
|
25
|
+
|
|
26
|
+
**类人成长训练路径:**
|
|
27
|
+
|
|
28
|
+
0~3岁感知运动期 -> 幼儿园 -> 小学 -> 初中 -> 高中 -> 本科 -> 硕士 -> 博士
|
|
29
|
+
|
|
30
|
+
## 环境要求
|
|
31
|
+
|
|
32
|
+
- Python >= 3.9
|
|
33
|
+
- numpy >= 1.22.0
|
|
34
|
+
- scipy >= 1.9.0
|
|
35
|
+
|
|
36
|
+
**可选依赖(按需安装):**
|
|
37
|
+
|
|
38
|
+
| 依赖 | 用途 | 安装命令 |
|
|
39
|
+
|------|------|---------|
|
|
40
|
+
| torch >= 1.12 | GPU加速(SNN层、世界模型) | `pip install torch` |
|
|
41
|
+
| pytest | 运行单元测试 | `pip install pytest` |
|
|
42
|
+
| openai | AI教师NPC(DeepSeek等) | `pip install openai` |
|
|
43
|
+
|
|
44
|
+
**安装:**
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
pip install -e .
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## 快速开始
|
|
51
|
+
|
|
52
|
+
### 1. 最简创建
|
|
53
|
+
|
|
54
|
+
```python
|
|
55
|
+
from skyalyticAI import NIEABrain
|
|
56
|
+
|
|
57
|
+
brain = NIEABrain(input_dim=10, action_dim=4)
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### 2. 使用预设方案
|
|
61
|
+
|
|
62
|
+
```python
|
|
63
|
+
from skyalyticAI import NIEABrain
|
|
64
|
+
|
|
65
|
+
# 小规模(个人电脑)
|
|
66
|
+
brain = NIEABrain(input_dim=10, action_dim=4, brain_scale="small")
|
|
67
|
+
|
|
68
|
+
# 中规模(单卡GPU)
|
|
69
|
+
brain = NIEABrain(input_dim=10, action_dim=4, brain_scale="medium")
|
|
70
|
+
|
|
71
|
+
# 大规模(多卡GPU)
|
|
72
|
+
brain = NIEABrain(input_dim=10, action_dim=4, brain_scale="large")
|
|
73
|
+
|
|
74
|
+
# 超大规模(GPU集群)
|
|
75
|
+
brain = NIEABrain(input_dim=10, action_dim=4, brain_scale="xlarge")
|
|
76
|
+
|
|
77
|
+
# 人脑规模(神经形态芯片/超大规模集群)
|
|
78
|
+
brain = NIEABrain(input_dim=10, action_dim=4, brain_scale="human")
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### 3. 预设 + 自定义覆盖
|
|
82
|
+
|
|
83
|
+
```python
|
|
84
|
+
# 使用large预设,但覆盖hidden_dim
|
|
85
|
+
brain = NIEABrain(
|
|
86
|
+
input_dim=10,
|
|
87
|
+
action_dim=4,
|
|
88
|
+
brain_scale="large",
|
|
89
|
+
override_hidden_dim=16384, # 覆盖预设的8192
|
|
90
|
+
)
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### 4. 完全自定义参数
|
|
94
|
+
|
|
95
|
+
```python
|
|
96
|
+
brain = NIEABrain(
|
|
97
|
+
input_dim=128,
|
|
98
|
+
hidden_dim=2048,
|
|
99
|
+
action_dim=10,
|
|
100
|
+
n_observations=2048,
|
|
101
|
+
hd_dim=32000,
|
|
102
|
+
pcn_hidden_dim=1024,
|
|
103
|
+
world_model_hidden_dim=1024,
|
|
104
|
+
ai_hidden_dim=1024,
|
|
105
|
+
sparse=True,
|
|
106
|
+
synapses_per_neuron=1000,
|
|
107
|
+
)
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### 5. 启动训练
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
python scripts/run_growth_training.py
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
训练脚本会交互式选择成长线(human/social/society)、起始学段等。
|
|
117
|
+
|
|
118
|
+
### 6. AI教师NPC配置
|
|
119
|
+
|
|
120
|
+
通过环境变量配置外部AI教师服务(如DeepSeek):
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
# Linux/macOS
|
|
124
|
+
export NIEA_TEACHER_API_BASE=https://api.deepseek.com
|
|
125
|
+
export NIEA_TEACHER_API_KEY=your-api-key
|
|
126
|
+
export NIEA_TEACHER_MODEL=deepseek-v4-flash
|
|
127
|
+
|
|
128
|
+
# Windows PowerShell
|
|
129
|
+
$env:NIEA_TEACHER_API_BASE = "https://api.deepseek.com"
|
|
130
|
+
$env:NIEA_TEACHER_API_KEY = "your-api-key"
|
|
131
|
+
$env:NIEA_TEACHER_MODEL = "deepseek-v4-flash"
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
## 参数说明
|
|
135
|
+
|
|
136
|
+
### brain_scale 预设方案
|
|
137
|
+
|
|
138
|
+
| 预设 | 适用机型 | hidden_dim | hd_dim | pcn_hidden | wm_hidden | syn/neuron | 稀疏连接 | 估算内存 |
|
|
139
|
+
|------|---------|-----------|--------|------------|-----------|------------|---------|---------|
|
|
140
|
+
| small | PC/笔记本(CPU) | 256 | 10,000 | 128 | 256 | 100 | 否 | ~50MB |
|
|
141
|
+
| medium | 单卡GPU(RTX 3090/4090, 24GB) | 2,048 | 32,000 | 1,024 | 1,024 | 1,000 | 否 | ~2GB |
|
|
142
|
+
| large | 多卡GPU(A100 80GB x 4~8) | 8,192 | 128,000 | 4,096 | 4,096 | 3,000 | 是 | ~32GB |
|
|
143
|
+
| xlarge | GPU集群(A100/H100 x 32+) | 65,536 | 1,000,000 | 32,768 | 32,768 | 5,000 | 是 | ~1TB |
|
|
144
|
+
| human | 神经形态芯片/超大规模集群 | 16B | 15M | 8B | 2B | 7,000 | 是 | ~4,000TB |
|
|
145
|
+
|
|
146
|
+
### NIEABrain 完整参数
|
|
147
|
+
|
|
148
|
+
| 参数 | 类型 | 默认值 | 说明 |
|
|
149
|
+
|------|------|--------|------|
|
|
150
|
+
| input_dim | int | 10 | 感官输入维度 |
|
|
151
|
+
| hidden_dim | int | 256 | SNN和PCN的隐藏层维度 |
|
|
152
|
+
| action_dim | int | 4 | 离散动作数量 |
|
|
153
|
+
| n_observations | int | 10 | 主动推理的离散观测数 |
|
|
154
|
+
| hd_dim | int | 10000 | HDC记忆向量维度 |
|
|
155
|
+
| pcn_hidden_dim | int | 128 | 预测编码网络隐藏维度 |
|
|
156
|
+
| world_model_hidden_dim | int | 256 | 世界模型隐藏维度 |
|
|
157
|
+
| world_model_n_layers | int | 4 | 世界模型层数 |
|
|
158
|
+
| n_snn_layers | int | 3 | SNN层数 |
|
|
159
|
+
| ai_hidden_dim | int | 128 | 主动推理引擎隐藏维度 |
|
|
160
|
+
| development_stages | bool | True | 是否模拟发展阶段转换 |
|
|
161
|
+
| spike_encoding_steps | int | 20 | 脉冲编码时间步数 |
|
|
162
|
+
| surprise_threshold | float | 0.5 | 惊喜阈值(记忆存储触发) |
|
|
163
|
+
| consolidation_interval | int | 100 | 记忆巩固间隔步数 |
|
|
164
|
+
| consolidation_batch_size | int | 20 | 记忆巩固批量大小 |
|
|
165
|
+
| sparse | bool | False | 是否使用稀疏连接 |
|
|
166
|
+
| synapses_per_neuron | int | 7000 | 每神经元突触数(稀疏模式) |
|
|
167
|
+
| brain_scale | str/bool | False | 预设方案:small/medium/large/xlarge/human/True/False |
|
|
168
|
+
| language_vocab_size | int | None | 语言头词表大小 |
|
|
169
|
+
| device | str | None | 计算设备(cuda/cpu) |
|
|
170
|
+
|
|
171
|
+
### override 参数(覆盖预设值)
|
|
172
|
+
|
|
173
|
+
当使用 brain_scale 预设时,可通过 override 参数覆盖预设中的特定值:
|
|
174
|
+
|
|
175
|
+
| override 参数 | 覆盖的预设参数 |
|
|
176
|
+
|--------------|--------------|
|
|
177
|
+
| override_hidden_dim | hidden_dim |
|
|
178
|
+
| override_hd_dim | hd_dim |
|
|
179
|
+
| override_pcn_hidden_dim | pcn_hidden_dim |
|
|
180
|
+
| override_world_model_hidden_dim | world_model_hidden_dim |
|
|
181
|
+
| override_ai_hidden_dim | ai_hidden_dim |
|
|
182
|
+
| override_n_observations | n_observations |
|
|
183
|
+
| override_spike_encoding_steps | spike_encoding_steps |
|
|
184
|
+
| override_synapses_per_neuron | synapses_per_neuron |
|
|
185
|
+
|
|
186
|
+
**优先级:override_xxx > brain_scale预设 > 参数默认值**
|
|
187
|
+
|
|
188
|
+
### 各机型推荐配置
|
|
189
|
+
|
|
190
|
+
**个人电脑(8~16GB内存,无GPU):**
|
|
191
|
+
|
|
192
|
+
```python
|
|
193
|
+
brain = NIEABrain(input_dim=10, action_dim=4, brain_scale="small")
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
**游戏本(16~32GB内存,RTX 3060/4060, 8~12GB显存):**
|
|
197
|
+
|
|
198
|
+
```python
|
|
199
|
+
brain = NIEABrain(
|
|
200
|
+
input_dim=128, action_dim=10,
|
|
201
|
+
brain_scale="small",
|
|
202
|
+
override_hidden_dim=512,
|
|
203
|
+
override_synapses_per_neuron=200,
|
|
204
|
+
)
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
**工作站(64GB内存,RTX 3090/4090, 24GB显存):**
|
|
208
|
+
|
|
209
|
+
```python
|
|
210
|
+
brain = NIEABrain(input_dim=128, action_dim=10, brain_scale="medium")
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
**服务器(A100 80GB x 4~8):**
|
|
214
|
+
|
|
215
|
+
```python
|
|
216
|
+
brain = NIEABrain(input_dim=256, action_dim=20, brain_scale="large")
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
**GPU集群(A100/H100 x 32+):**
|
|
220
|
+
|
|
221
|
+
```python
|
|
222
|
+
brain = NIEABrain(input_dim=512, action_dim=50, brain_scale="xlarge")
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
## 项目结构
|
|
226
|
+
|
|
227
|
+
```
|
|
228
|
+
skyalyticAI/
|
|
229
|
+
skyalyticAI/ # 核心包
|
|
230
|
+
neurons/ # 神经元模型(LIF, ALIF, SNN层, 稀疏连接)
|
|
231
|
+
plasticity/ # 突触可塑性(STDP)
|
|
232
|
+
predictive_coding/ # 预测编码网络(PCN)
|
|
233
|
+
memory/ # 记忆系统(HDC, 巩固)
|
|
234
|
+
active_inference/ # 主动推理引擎
|
|
235
|
+
world_model/ # 世界模型(RSSM)
|
|
236
|
+
metacognition/ # 元认知模块
|
|
237
|
+
consciousness/ # 全局工作空间(意识涌现)
|
|
238
|
+
evolution/ # 结构自进化
|
|
239
|
+
language/ # 语言头(文本编码, 语言生成)
|
|
240
|
+
perception/ # 感知编码器(视觉, 听觉, 多模态融合)
|
|
241
|
+
env/ # 训练环境(GridWorld, 课程世界, 考试世界)
|
|
242
|
+
society/ # 社会模拟世界
|
|
243
|
+
npc/ # AI教师NPC
|
|
244
|
+
training/ # 训练器(基础训练, 类人成长训练)
|
|
245
|
+
exams/ # 考试系统
|
|
246
|
+
data/ # 数据管理
|
|
247
|
+
gpu/ # GPU加速工具
|
|
248
|
+
brain.py # NIEABrain 主类 + BrainScalePresets
|
|
249
|
+
scripts/
|
|
250
|
+
run_growth_training.py # 一键训练启动器
|
|
251
|
+
seed_curriculum_corpus.py # 语料种子脚本
|
|
252
|
+
理论.md # 完整理论文档
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
## 注意事项
|
|
256
|
+
|
|
257
|
+
1. **内存需求**:brain_scale="human" 需要约4,000TB内存,仅适用于神经形态芯片或超大规模分布式集群。普通机器请使用 small/medium 预设。
|
|
258
|
+
|
|
259
|
+
2. **GPU加速**:SNN层和世界模型支持PyTorch CUDA加速。稀疏连接模式(sparse=True)使用scipy CSR格式,在CPU上运行。large及以上预设自动启用稀疏连接。
|
|
260
|
+
|
|
261
|
+
3. **AI教师NPC**:社会模拟模式(society)需要配置外部AI教师服务。通过环境变量设置API密钥,代码中不会硬编码任何密钥。
|
|
262
|
+
|
|
263
|
+
4. **训练数据**:本框架不依赖大规模预训练语料。训练通过AI教师NPC交互进行,模拟人类从0岁开始的学习过程。
|
|
264
|
+
|
|
265
|
+
5. **Checkpoint**:训练过程自动保存checkpoint,支持断点续训。checkpoint保存在 `checkpoints/` 目录。
|
|
266
|
+
|
|
267
|
+
6. **发展阶段**:brain.development_stages=True 时,Brain会根据经验步数自动推进发展阶段(sensorimotor -> phd)。
|
|
268
|
+
|
|
269
|
+
7. **稀疏连接**:当 brain_scale 为 large/xlarge/human 时,自动启用稀疏连接(sparse=True),每个神经元仅连接有限数量的其他神经元,匹配人脑的稀疏连接模式。
|
|
270
|
+
|
|
271
|
+
8. **向后兼容**:brain_scale=True 等同于 brain_scale="human"。
|
|
272
|
+
|
|
273
|
+
## 开源协议
|
|
274
|
+
|
|
275
|
+
本项目采用 **CC BY-NC-SA 4.0**(知识共享 署名-非商业性使用-相同方式共享 4.0 国际)协议。
|
|
276
|
+
|
|
277
|
+
- 开源:源代码完全开放
|
|
278
|
+
- 可修改:允许修改和衍生
|
|
279
|
+
- 可下载:允许自由下载和分发
|
|
280
|
+
- 可提交审查:欢迎提交Issue和Pull Request
|
|
281
|
+
- 不可商用:禁止商业使用
|
|
282
|
+
|
|
283
|
+
详见 [LICENSE](LICENSE) 文件。
|
|
284
|
+
|
|
285
|
+
## 贡献
|
|
286
|
+
|
|
287
|
+
欢迎提交Issue和Pull Request参与贡献。
|