chore: init project docs - NextAgent cognitive decoupled architecture
- README.md with architecture diagram and project overview - docs/architecture-overview.md: core design, scheduling, RefPack protocol - docs/routing-compression-subnet.md: multi-modal encoding, compression training - docs/memory-subnet.md: MANN, GNN, retrieve-pull mechanism training - docs/logic-trace-subnet.md: RLHF+PRM, MCTS, self-correction training - docs/llm-subnet.md: SFT, RLHF fine-tuning, multi-language alignment
This commit is contained in:
311
docs/logic-trace-subnet.md
Normal file
311
docs/logic-trace-subnet.md
Normal file
@ -0,0 +1,311 @@
|
||||
# 逻辑链路追踪神经网络(推理回路)
|
||||
|
||||
## 概述
|
||||
|
||||
逻辑链路追踪神经网络(Logic Trace Network, LTN)类比人脑的**推理回路**,是 NextAgent 的"思维引擎"。它负责对任务进行逻辑推理、验证推理路径的正确性,并在发现错误时执行自我修正。这是实现 **可解释 AI** 和 **可信推理** 的核心组件。
|
||||
|
||||
### 核心职责
|
||||
|
||||
- **逻辑验证**:对调度 Core 下达的任务进行逻辑一致性检查
|
||||
- **推理路径搜索**:探索多条可能的推理路径,选择最优解
|
||||
- **错误追溯**:当推理结果矛盾或错误时,定位错误节点
|
||||
- **路径重规划**:在错误节点处分支,重新规划推理路径
|
||||
- **自我修正**:从错误中学习,更新推理策略偏好
|
||||
|
||||
## 架构设计
|
||||
|
||||
```mermaid
|
||||
graph TB
|
||||
Input["输入:任务 + 记忆引用包"] --> Parser["推理任务解析器"]
|
||||
|
||||
Parser --> MCTS["蒙特卡洛树搜索"]
|
||||
|
||||
subgraph MCTS_Tree ["MCTS 推理树"]
|
||||
Root["根节点"]
|
||||
N1["推理节点 1"]
|
||||
N2["推理节点 2"]
|
||||
N3["推理节点 3"]
|
||||
N11["子节点 1.1"]
|
||||
N12["子节点 1.2"]
|
||||
Leaf["叶节点(结论)"]
|
||||
|
||||
Root --> N1
|
||||
Root --> N2
|
||||
Root --> N3
|
||||
N1 --> N11
|
||||
N1 --> N12
|
||||
N2 --> Leaf
|
||||
end
|
||||
|
||||
MCTS --> Selection["选择<br/>UCT 算法"]
|
||||
MCTS --> Expansion["扩展<br/>策略网络"]
|
||||
MCTS --> Simulation["模拟<br/>奖励预测"]
|
||||
MCTS --> Backprop["反向传播<br/>更新访问计数"]
|
||||
|
||||
Selection --> Validator["逻辑验证器"]
|
||||
Validator --> ErrorTrace["错误追踪器"]
|
||||
ErrorTrace --> Corrector["自我修正器"]
|
||||
|
||||
Corrector --> Replan["路径重规划"]
|
||||
Replan --> MCTS
|
||||
|
||||
Validator --> PathSelect["最优路径选择"]
|
||||
PathSelect --> Output["输出:验证后的推理路径"]
|
||||
|
||||
subgraph Learning ["训练组件"]
|
||||
PRM["过程奖励模型<br/>Process Reward Model"]
|
||||
RLHF_P["RLHF 训练<br/>(推理偏好)"]
|
||||
ErrorDS["错误案例数据集"]
|
||||
end
|
||||
|
||||
Validator -.-> PRM
|
||||
Corrector -.-> ErrorDS
|
||||
PathSelect -.-> RLHF_P
|
||||
```
|
||||
|
||||
## 训练目标
|
||||
|
||||
### 目标 1:逻辑验证
|
||||
|
||||
训练子网能够识别推理链中的逻辑错误,包括事实矛盾、步骤跳跃和循环依赖。
|
||||
|
||||
- **验证粒度**:逐步骤验证,而非仅验证最终结论
|
||||
- **错误类型覆盖**:≥ 10 种常见逻辑谬误(偷换概念、循环论证、错误归因等)
|
||||
- **验证速度**:每步推理 ≤ 10ms
|
||||
|
||||
### 目标 2:错误追溯与定位
|
||||
|
||||
当推理结果错误时,精确定位错误发生的步骤和原因。
|
||||
|
||||
- **定位精度**:Top-1 错误步骤准确率 ≥ 80%
|
||||
- **根因分析**:错误分类准确率 ≥ 85%
|
||||
- **回溯效率**:N 步推理的回溯复杂度 O(log N)
|
||||
|
||||
### 目标 3:路径重规划与自我修正
|
||||
|
||||
在错误步骤处分支,探索替代推理路径,实现自我修正。
|
||||
|
||||
- **修正成功率**:首次修正成功率 ≥ 70%
|
||||
- **修正轮次上限**:最多 3 轮修正后必须输出结果
|
||||
- **修正代价**:修正后的推理路径长度 ≤ 原始路径 × 1.5
|
||||
|
||||
## 训练计划
|
||||
|
||||
### 阶段 1:过程奖励模型(Process Reward Model, PRM)训练
|
||||
|
||||
**目标**:训练一个能够对推理中间步骤进行质量评分的模型,替代仅评估最终结果的传统方法。
|
||||
|
||||
#### 数据构建
|
||||
|
||||
1. **自动推理链生成**:使用 GPT-4 / Claude 对数学、逻辑、常识类问题生成多步推理链
|
||||
2. **人工标注**:标注员对推理链的每个步骤进行评分(-1: 错误, 0: 中性, 1: 正确)
|
||||
3. **数据规模**:200,000 条推理链,平均链长 8 步,总计 160 万标注步骤
|
||||
4. **数据覆盖**:
|
||||
|
||||
| 类别 | 占比 | 示例 |
|
||||
|------|------|------|
|
||||
| 数学推理 | 30% | GSM8K、MATH 题目 |
|
||||
| 逻辑推理 | 25% | 三段论、命题逻辑、谓词逻辑 |
|
||||
| 常识推理 | 20% | 物理常识、社会常识 |
|
||||
| 因果推理 | 15% | 因果推断、反事实推理 |
|
||||
| 代码推理 | 10% | 代码执行跟踪、bug 定位 |
|
||||
|
||||
#### 模型架构
|
||||
|
||||
- **基座模型**:基于 LLaMA-3.1-8B 或同等规模模型
|
||||
- **奖励头**:在每一层 Transformer 后添加线性层,输出步骤质量评分
|
||||
- **输入格式**:`[问题] [步骤1] [步骤2] ... [当前步骤]`
|
||||
- **输出**:当前步骤的奖励值(连续值,范围 [-1, 1])
|
||||
|
||||
#### 训练配置
|
||||
|
||||
- **损失函数**:排序损失(Pairwise Ranking Loss)
|
||||
```
|
||||
L = max(0, margin - (r_pos - r_neg))
|
||||
margin = 0.5
|
||||
```
|
||||
- **批大小**:64(每条含完整推理链)
|
||||
- **优化器**:AdamW(β1=0.9, β2=0.95)
|
||||
- **学习率**:1e-5,余弦退火
|
||||
- **权重衰减**:0.01
|
||||
- **训练轮数**:5 epochs(防止过拟合)
|
||||
- **验证集**:人工标注数据的 10% 作为验证
|
||||
|
||||
#### PRM 推理流程
|
||||
|
||||
```
|
||||
def evaluate_step(question, steps_so_far, next_step):
|
||||
# 1. 编码上下文
|
||||
context = tokenize(question, steps_so_far)
|
||||
|
||||
# 2. 逐层提取 hidden states
|
||||
hidden_states = model(context)
|
||||
|
||||
# 3. 奖励头预测
|
||||
reward = reward_head(hidden_states[-1])
|
||||
|
||||
# 4. 可选:+ 置信度校准
|
||||
confidence = calibrate(reward)
|
||||
|
||||
return reward, confidence
|
||||
```
|
||||
|
||||
### 阶段 2:蒙特卡洛树搜索(MCTS)推理训练
|
||||
|
||||
**目标**:在推理过程中使用 MCTS 探索多条路径,找到最优解决方案。
|
||||
|
||||
#### MCTS 四步流程
|
||||
|
||||
```mermaid
|
||||
graph LR
|
||||
S["1. 选择 (Select)"] --> E["2. 扩展 (Expand)"]
|
||||
E --> Sim["3. 模拟 (Simulate)"]
|
||||
Sim --> BP["4. 反向传播 (Backprop)"]
|
||||
BP --> S
|
||||
```
|
||||
|
||||
#### MCTS 组件设计
|
||||
|
||||
1. **选择(Selection)**
|
||||
- 算法:UCT(Upper Confidence Bound Applied to Trees)
|
||||
- 公式:`UCT = Q(s,a) + c · P(s,a) · sqrt(N_parent / (1 + N_child))`
|
||||
- 探索系数 c:1.5(可通过贝叶斯优化调参)
|
||||
- 剪枝:当节点 UCT 值低于阈值时不再扩展
|
||||
|
||||
2. **扩展(Expansion)**
|
||||
- 策略网络:轻量级 Transformer(6 层),预测下一步推理方向
|
||||
- 候选动作数:top-K = 5
|
||||
- 动作空间:推理方向编码(演绎、归纳、溯因、类比、分解)
|
||||
|
||||
3. **模拟(Simulation)**
|
||||
- 使用 PRM 对节点评分作为奖励信号
|
||||
- 模拟深度:最大 20 步
|
||||
- 终止条件:得出确定性结论 或 达到步数上限
|
||||
- 快速回滚:当奖励值骤降时提前终止
|
||||
|
||||
4. **反向传播(Backpropagation)**
|
||||
- 更新路径上所有节点的 Q 值和访问计数
|
||||
- 折扣因子 γ:0.9(越远的节点贡献越小)
|
||||
- 更新公式:`Q_new = Q_old + α · (G - Q_old)`,其中 α = 1/N
|
||||
|
||||
#### 训练配置
|
||||
|
||||
- **模拟次数**:每轮推理 50 次 MCTS 模拟
|
||||
- **温度参数**:
|
||||
- 训练阶段:τ = 1.0(充分探索)
|
||||
- 推理阶段:τ → 0(选择最优路径)
|
||||
- **批处理大小**:并行搜索 16 棵推理树
|
||||
- **策略网络训练**:使用 MCTS 访问计数作为软标签
|
||||
- 损失函数:KL 散度(策略网络输出 || MCTS 访问分布)
|
||||
- 学习率:1e-4
|
||||
|
||||
### 阶段 3:强化学习(RLHF + 过程奖励)训练推理偏好
|
||||
|
||||
**目标**:通过人类反馈强化学习,优化推理路径选择的偏好。
|
||||
|
||||
#### 训练流程
|
||||
|
||||
```
|
||||
1. 策略模型(要训练的推理模型)生成多条推理路径
|
||||
2. PRM 对每条路径的每一步评分
|
||||
3. 人类标注员对比不同路径,给出偏好标签
|
||||
4. 训练奖励模型拟合人类偏好
|
||||
5. PPO 算法优化策略模型
|
||||
```
|
||||
|
||||
#### 奖励模型训练
|
||||
|
||||
- **输入**:完整的推理链(含每一步)
|
||||
- **输出**:标量奖励值
|
||||
- **模型架构**:与 PRM 共享基座,但奖励头为单标量输出
|
||||
- **损失函数**:Bradley-Terry 偏好模型
|
||||
```
|
||||
L = -E[log(σ(r_better - r_worse))]
|
||||
```
|
||||
- **数据**:50,000 对人类偏好对比对
|
||||
|
||||
#### PPO 训练配置
|
||||
|
||||
- **策略模型**:推理路径生成模型(基于 LLaMA 架构)
|
||||
- **价值模型**:与策略模型共享部分参数
|
||||
- **KL 散度惩罚**:β = 0.04(防止策略偏离基座过远)
|
||||
- **GAE λ**:0.95
|
||||
- **折扣因子 γ**:0.99
|
||||
- **学习率**:1e-6(策略),1e-5(价值)
|
||||
- **PPO clip**:ε = 0.2
|
||||
- **批大小**:512
|
||||
- **训练轮数**:3 epochs 每个 PPO 轮次
|
||||
- **总 PPO 轮次**:100
|
||||
|
||||
### 阶段 4:错误案例数据集与针对性训练
|
||||
|
||||
**目标**:构建高质量的错误推理案例数据集,针对性训练错误检测与修正能力。
|
||||
|
||||
#### 数据集构建
|
||||
|
||||
| 来源 | 方法 | 规模 |
|
||||
|------|------|------|
|
||||
| 模型自生成 | 奖励模型筛选低分路径 | 500,000 |
|
||||
| 人工构造 | 标注人员植入特定错误类型 | 50,000 |
|
||||
| 对抗生成 | 使用 Red-Teaming 方法生成困难错误 | 20,000 |
|
||||
| 真实对话 | 从生产环境收集失败案例 | 100,000 |
|
||||
|
||||
#### 错误类型覆盖
|
||||
|
||||
1. 事实性错误(Factual Error)
|
||||
2. 逻辑跳跃(Logic Leap)
|
||||
3. 循环论证(Circular Reasoning)
|
||||
4. 假两难推理(False Dilemma)
|
||||
5. 错误归因(False Attribution)
|
||||
6. 以偏概全(Hasty Generalization)
|
||||
7. 偷换概念(Equivocation)
|
||||
8. 诉诸权威(Appeal to Authority)
|
||||
9. 诉诸情感(Appeal to Emotion)
|
||||
10. 因果倒置(Reverse Causality)
|
||||
|
||||
#### 针对性训练
|
||||
|
||||
- **多任务学习**:同时优化错误检测 + 错误定位 + 修正生成
|
||||
- **数据增强**:对正确推理链随机注入错误,生成训练样本
|
||||
- **课程学习**:从简单错误(事实错误)到复杂错误(循环论证)渐进训练
|
||||
- **训练轮数**:30 epochs
|
||||
- **早停**:验证集 F1 连续 5 轮不提升则停止
|
||||
|
||||
## 评估指标
|
||||
|
||||
### 推理准确率
|
||||
|
||||
| 指标 | 定义 | 目标值 |
|
||||
|------|------|--------|
|
||||
| 最终答案准确率 | 推理结论的总体正确率 | ≥ 85% |
|
||||
| 步骤准确率 | 推理链中每步的正确率 | ≥ 90% |
|
||||
| 推理路径一致性 | 相同输入多次推理的结论一致性 | ≥ 95% |
|
||||
| 对抗鲁棒性 | 面对对抗性输入仍保持正确 | ≥ 75% |
|
||||
|
||||
### 自我修正
|
||||
|
||||
| 指标 | 定义 | 目标值 |
|
||||
|------|------|--------|
|
||||
| 错误检测率 | 错误推理被正确标记的比例 | ≥ 90% |
|
||||
| 修正成功率 | 首次修正即得到正确结果 | ≥ 70% |
|
||||
| 修正效率 | 修正路径 / 原路径长度比 | ≤ 1.5 |
|
||||
| 过修正率 | 原本正确被错误修改的比例 | ≤ 5% |
|
||||
| 冗余修正率 | 不必要的额外修正步骤比例 | ≤ 10% |
|
||||
|
||||
### 错误定位
|
||||
|
||||
| 指标 | 定义 | 目标值 |
|
||||
|------|------|--------|
|
||||
| Top-1 定位准确率 | 错误步骤的首位命中率 | ≥ 80% |
|
||||
| 根因分类准确率 | 错误类型判别的准确率 | ≥ 85% |
|
||||
| 定位粒度 | 能定位到句子/公式级别 | 句子级 |
|
||||
| 假阳性率 | 正确步骤被误判为错误的比率 | ≤ 3% |
|
||||
|
||||
### 系统性能
|
||||
|
||||
| 指标 | 定义 | 目标值 |
|
||||
|------|------|--------|
|
||||
| 推理延迟 | 从输入到输出的端到端延迟 | ≤ 500ms |
|
||||
| MCTS 扩展数 | 平均每次推理扩展的节点数 | ≤ 200 |
|
||||
| 内存占用 | 推理过程中的峰值内存 | ≤ 4GB |
|
||||
| 修正收敛 | 平均修正轮数 | ≤ 1.8 |
|
||||
Reference in New Issue
Block a user