- 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
11 KiB
11 KiB
逻辑链路追踪神经网络(推理回路)
概述
逻辑链路追踪神经网络(Logic Trace Network, LTN)类比人脑的推理回路,是 NextAgent 的"思维引擎"。它负责对任务进行逻辑推理、验证推理路径的正确性,并在发现错误时执行自我修正。这是实现 可解释 AI 和 可信推理 的核心组件。
核心职责
- 逻辑验证:对调度 Core 下达的任务进行逻辑一致性检查
- 推理路径搜索:探索多条可能的推理路径,选择最优解
- 错误追溯:当推理结果矛盾或错误时,定位错误节点
- 路径重规划:在错误节点处分支,重新规划推理路径
- 自我修正:从错误中学习,更新推理策略偏好
架构设计
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)训练
目标:训练一个能够对推理中间步骤进行质量评分的模型,替代仅评估最终结果的传统方法。
数据构建
- 自动推理链生成:使用 GPT-4 / Claude 对数学、逻辑、常识类问题生成多步推理链
- 人工标注:标注员对推理链的每个步骤进行评分(-1: 错误, 0: 中性, 1: 正确)
- 数据规模:200,000 条推理链,平均链长 8 步,总计 160 万标注步骤
- 数据覆盖:
| 类别 | 占比 | 示例 |
|---|---|---|
| 数学推理 | 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 四步流程
graph LR
S["1. 选择 (Select)"] --> E["2. 扩展 (Expand)"]
E --> Sim["3. 模拟 (Simulate)"]
Sim --> BP["4. 反向传播 (Backprop)"]
BP --> S
MCTS 组件设计
-
选择(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 值低于阈值时不再扩展
-
扩展(Expansion)
- 策略网络:轻量级 Transformer(6 层),预测下一步推理方向
- 候选动作数:top-K = 5
- 动作空间:推理方向编码(演绎、归纳、溯因、类比、分解)
-
模拟(Simulation)
- 使用 PRM 对节点评分作为奖励信号
- 模拟深度:最大 20 步
- 终止条件:得出确定性结论 或 达到步数上限
- 快速回滚:当奖励值骤降时提前终止
-
反向传播(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 |
错误类型覆盖
- 事实性错误(Factual Error)
- 逻辑跳跃(Logic Leap)
- 循环论证(Circular Reasoning)
- 假两难推理(False Dilemma)
- 错误归因(False Attribution)
- 以偏概全(Hasty Generalization)
- 偷换概念(Equivocation)
- 诉诸权威(Appeal to Authority)
- 诉诸情感(Appeal to Emotion)
- 因果倒置(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 |