Skip to content

Latest commit

 

History

46 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LoCo — 逻各斯皮质 (Logos Cortex)

词级语言生成引擎 · VITA 人工情感核心的语言表达器官

Turning intent & emotion into words — 一个从脉冲动力学中生长出来的语言器官。

License: CC BY 4.0 Platform Language


这是什么

LoCo(逻各斯皮质,Logos Cortex)是一个把 「意图 + 情感」转化为语言 的词级语言生成引擎,用 CUDA 单文件实现(loco.cu,约 9000 行)。它不是一个通用大语言模型,而是一个 语言器官:为拥有自我意愿与情感的 AI 提供"开口说话"的能力。

项目的原始定义:将 VITA 的自我意愿转化为语言表达。

LoCo 在 VITA / SOMA 中的位置

LoCo 是更大的 AI 意识架构中的一个器官,与两个项目深度绑定:

                    ┌─────────────────────────────────────────┐
                    │              SOMA(整体器官架构)           │
                    │                                         │
   用户话语 ────────▶│  驱力回路          ┌──────────────┐      │
                    │  (何时说: urge) ──▶│              │      │
                    │                    │  LoCo 表达器官 │      │
   VITA 情感核心 ───▶│  (说什么: 意图 +   │  意图+情感 ⟶ 语言 │ ────▶ 语言输出
   9维调质/PAD ─────▶│   情感 18 维) ────▶│              │      │
                    │                    └──────┬───────┘      │
                    │                           │              │
                    │      SOMA Phase B2 ◀──────┘              │
                    │      ("问什么"素材 = N400 惊讶流)           │
                    └─────────────────────────────────────────┘
  • VITA(姊妹项目,人工情感核心) — VITA 维护一个 9 维 AffectiveState:6 种神经调质(DA 多巴胺 / 5HT 血清素 / NE 去甲肾上腺素 / ACh 乙酰胆碱 / GABA 抑制 / OXT 催产素)+ PAD 心理空间三轴(愉悦 P / 唤醒 A / 主导 D)。LoCo 通过 E_Δ 通路接收这份情感态(含一阶差分共 18 维),学会 "什么情感说什么话"。
  • SOMA(整体器官合同) — SOMA 把 LoCo 定义为 表达器官 + 惊讶传感器:读 = urge + 情感态;写 = 外部行为(语言)。同时 LoCo 逐词输出的 N400 惊讶流,作为 SOMA 学习回路 Phase B2 的 "问什么"素材源——它知道自己哪里"看不懂"。
  • 职责边界 — "何时说是驱力回路的事,说什么是 LoCo 的事。" LoCo 不学"忍不住要说",只学"自发意图到达时忠实说出状态"。

触发三分法

类型 触发源 条件向量 优先级
响应式 用户话语 (对话摘要, 意图, 情感) Tier 1
自发式 内驱力越阈 (自身状态轨迹摘要, 意图, 情感) Tier 1(同等优先)
内心言语 N400 误差热点 (惊讶热点, 意图=自问, 情感) Tier 3

其中自发式与响应式同等优先——"将自我意愿转化为语言"是本项目存在的理由,不是附属功能。

架构(v8d 条件表达器)

输入:  意图嵌入 (8 意图)  +  情感 E_Δ (18 维 = 9 调质/PAD + 9 一阶差分)
        │                          │
        ▼                          ▼
┌──────────────────────────────────────────┐
│   12 层选择性 SSM 状态层 (d=1024, Mamba 式)   │  ← 情感/意图逐层注入
│   h_t = A(x,emo) h_{t-1} + B(x,emo) x_t    │
└──────────────────┬───────────────────────┘
                   ▼
┌──────────────────────────────────────────┐
│   语义树输出层 (Huffman 层级, O(log n))      │  ← 5 万词表只在输出出现一次
│   P(w) = ∏ σ(v_edge · h_t) 沿树路径        │     最大路径深度 17
└──────────────────┬───────────────────────┘
                   ▼
   top-K 温度采样 + 重复抑制 + EOS 自然收尾 (4–64 词变长句)
                   │
                   ├──▶ 语言输出
                   └──▶ N400 逐词惊讶流 (预测置信度缺口)
组件 说明
选择性 SSM 状态层 12 层 d=1024,约 1.4 亿参数;连续状态可并行 scan,消除"词表贯穿全程"的带宽黑洞
语义树输出 5 万词组织成 Huffman 树(由词嵌入聚类构建),层级 softmax 把输出复杂度降到 O(log n)
E_Δ 情感通路 18 维 = 9 维调质/PAD + 9 维一阶差分(情感动力学:"骤起的恐惧"与"钝化的恐惧"说不同的话)
意图嵌入 8 意图 per-layer 投影:应答支(回答/追问/澄清)+ 自发支(孤独陪伴/不适求助/分享喜悦/好奇自问/提议邀约)
N400 惊讶传感器 逐词预测置信度缺口输出为惊讶流;违反共现的词惊讶度显著更大(植错实验 3.06×)
学习规则 树层级交叉熵反向传播 + 预测编码 + STDP 共现自组织 + GSO(保留无梯度时代的生物学机制)
生成协议 top-K 截断 softmax 温度采样(防 5 万词表绝对概率稀释)、句号胜出即 EOS 收尾、纯推理零学习(防自举污染)

设计哲学

语言是节律,不是矩阵。 项目从无梯度、无 attention、无 backprop 的脉冲动力学起步(θ 词时钟 + WTA 词竞争 + STDP),证明语言行为可以从 SNN 动力学中自生长;v8 起为突破计算瓶颈引入选择性 SSM 与层级 softmax,但保持两条底线:训练与推理同构、机制尽量有生物对应(膜电位动力学、预测编码、N400、神经调质调制)。

生成样例(v8d-r8,纯推理零学习)

条件生成(指定意图+情感),由 Qwen3-4B 盲判情感类别:

条件 生成
喜悦·分享 我笑出声来,觉得特别开心。
恐惧·不适 这声音像影子一样跟着我,让我更害怕。
愤怒·不适 我生气地说,这不公平。
平静·陪伴 我感觉好温暖,像被阳光晒着。
追问·好奇 你是不是觉得不公平,怎么突然这么生气呢。
提议·邀约 我就是想和你一起去海边。

如实说明:当前版本存在相邻词复读问题("我我"),上文样例已人工去除重复词;完整原始输出见训练日志。

当前能力(v8d-r9)

指标 Tier 1 验收线 当前 状态
情感盲判(Qwen3-4B 5 分类) ≥ 50% 63%(随机基线 20%) ✅ 达标
N400 植错放大 ≥ 3× 3.06×(植错词为句内最惊讶词 98%) ✅ 达标
EOS 自然收尾 ≥ 90% 100% ✅ 达标
意图盲判 ≥ 75% 31% 🚧 进行中
主题命中 ≥ 70% 进行中 🚧 进行中

训练吞吐:63,000 词/min(RTX 5090,含 15× kernel 优化:块内归约替代同地址原子、树前向批量化、device 端 loss 累计)。情感条件化历程:r4 的 E_Δ 通路被诊断为"哑"(盲判 19%,低于随机)→ 通路扩容 + 三维条件语料重训 → r8 达 63%。

版本演进

版本 核心机制 关键结果
v0.5 θ 词时钟 + LexWTA 词竞争 + STDP bigram 命中 0.919
v1.0 HPL 五层预测皮层 + N400 误差 词序 0.828;N400 违反效应 p<0.001
v2.0 AMP 情感调制(节律/词偏向/音系三路) 恐惧语速 8.4 vs 平静 5.4 词/s
v7.x 预测编码 PC-SNN + BP 信用分配 bigram ×302;发现"词表贯穿"带宽黑洞
v8a/b 选择性 SSM 状态层(Mamba 式) 计算瓶颈解除
v8c 语义树输出 + 12 层 CE 6.34,EOS 100%
v8d 条件表达器(E_Δ 18 维 + 意图嵌入 + N400 流 + 三维条件语料) 情感盲判 63%,植错 3.06×

各阶段完整设计文档见 docs/ 与 .trae/specs/。

快速开始

依赖

  • NVIDIA GPU + CUDA 12.x + cuBLAS
  • Windows:MSVC 2022 Build Tools(vcvarsall.bat);Linux:GCC
  • Python 3.8+(语料工具:jieba / paramiko 等)

构建

:: Windows (sm_86, RTX 30/40 系)
build.bat          &:: 训练版  -> bin\loco.exe
build.bat gen      &:: 生成版  -> bin\loco_gen.exe
build_gc.bat       &:: 数值梯度校验版 (gradcheck)
# Linux / 云端 (sm_120, RTX 50 系)
nvcc -arch=sm_120 -O3 -std=c++17 -lcublas -o loco loco.cu
nvcc -arch=sm_120 -O3 -std=c++17 -lcublas -DLOCO_GEN_WORDS=4000 -o loco_gen loco.cu

运行

./loco                    # 训练(回放语料 + 生成交替;checkpoint -> logs/loco_pc_weights.bin)
LOCO_STEPS=6000000000 ./loco          # 指定训练步数
LOCO_REPLAY_WORDS=0 ./loco_gen        # 纯生成(零学习,防自举污染)
LOCO_GEN_INTENT=5 LOCO_GEN_EMO=3 ./loco_gen   # 锁定条件生成(意图/情感/情感轮廓)

运行所需小数据(词典/音素表/意图词域)已入库于 logs/;回放序列与语义树由工具再生成(见下)。

语料管线

三源混合语料,因版权与体积原因原始语料不入库,全部可由工具链再生成:

来源 工具 用途
中文维基百科 tools/extract_wiki_mdx.py → tools/prepare_lexicon.py top-50K 词表
网络小说(叙述文本,保 SVO 句型) tools/build_basecorpus.py + tools/clean_novel.py 通用语言能力
DeepSeek 合成三维条件语料 v3 tools/gen_corpus_v3.py(logs/synth_v3.jsonl 已入库,3933 篇) 8 意图 × 5 情感 × 50 主题,带情感锚点向量

回放序列生成:python tools/mix_replay_v3.py(60/20/20 三源混合,条件标记嵌入 token 流:-1 句界 / -2-i 意图 / -20-e 情感 / -40-p 情感轮廓)。语义树构建:python tools/build_semantic_tree.py。

评测

python tools/judge_v8d.py          # 情感盲判(Qwen3-4B 裁判)
python tools/judge_intent_v8d.py   # 意图盲判
python tools/analyze_v8d_gen.py    # 生成分析(情感词命中/Jaccard 分化)
python tools/n400_analyze.py       # N400 植错实验分析

目录结构

loco/
├── loco.cu               # 全部实现:SSM/语义树/情感通路/意图/训练/生成(单文件)
├── loco_config.h         # 参数常量(词表 5 万/12 层/学习率/调制增益…)
├── build.bat             # Windows 构建
├── cloud_*.sh            # 云端 GPU 管线(构建/训练/生成/评测,r6→r10 各轮)
├── docs/                 # 设计文档(v7 PC-SNN / v8 SSM / 金种子语料规范…)
├── .trae/specs/          # 各版本实施 spec(v7.1→v8d 演进全记录)
├── tools/                # Python 工具链(语料/词表/回放/评测/SSH 运维)
└── logs/                 # 词典/音素表/意图词域(入库小数据)+ synth_v3 条件语料

与 VITA/SOMA 的接口

  • 情感输入:logs/host_emotion.csv(每 θ 周期读入,9 维调质/PAD,由 VITA 导出;差分在引擎内计算)
  • 意图输入:8 意图词表(应答支/自发支),当前由训练标签站位,将来由 SOMA 驱力回路动作空间接管(对齐进行中)
  • 惊讶输出:N400 逐词惊讶流(logs/loco_n400_*.txt),供 SOMA Phase B2 选"问什么"

已知问题 / 路线图

  • 意图盲判 31% → 75%:瓶颈已定位在生成表达而非梯度通路(意图特征词未进 top-K 采样),下一步是意图专属词采样偏置
  • 相邻词复读("我我"):生成侧重复抑制(REP 罚)需加强
  • 情感混淆对:恐惧/愤怒(D 轴)、喜悦/平静(DA 轴)锚点间距继续拉大
  • 意图-情感零和竞争:单通路容量下两者此消彼长,考虑意图独立容量
  • 与 SOMA 驱力回路的词表对齐(轨道 4 合同缺口)

许可

CC-BY-4.0(署名即可,商用自由)。语料再生成脚本涉及的外部数据(维基百科、小说、DeepSeek API)遵循各自许可。

致谢

  • VITA 人工情感核心(姊妹项目)——情感状态定义与调制哲学
  • SOMA 器官架构——表达器官合同与 N400 素材回路
  • Mamba(选择性状态空间模型)——SSM 选择性机制灵感

About

LoCo (Logos Cortex) 逻各斯皮质 — 词级语言生成引擎 · VITA 人工情感核心的语言表达器官 | Word-level language organ turning intent & emotion into words (CUDA, SSM + semantic tree)

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages