15 KiB
15 KiB
逻辑链路追踪神经网络 — 训练目标与训练计划
概述
逻辑链路追踪神经网络(推理回路)类比人脑的前额叶推理回路,负责逻辑验证、错误追溯、路径重规划和自我修正。它是 NextAgent 实现"深度思考"的核心组件。
架构定位
推理请求张量 (来自 Core)
│
▼
┌──────────────────────────────────────────────┐
│ 逻辑链路追踪神经网络(推理回路) │
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ 推理引擎 │→│ 路径追踪 │→│ 验证器 │ │
│ │ MCTS │ │ 记录器 │ │ Process │ │
│ │ 推理搜索 │ │ 推理路径 │ │ Reward │ │
│ └──────────┘ └──────────┘ └──────────┘ │
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ 错误分析 │→│ 重规划器 │ │ 张量编码 │ │
│ │ Error │ │ Path │ │ →标准张量 │ │
│ │ Tracing │ │ Replanner│ │ │ │
│ └──────────┘ └──────────┘ └──────────┘ │
│ │
└──────────────────┬───────────────────────────┘
│
▼
推理路径张量 (Standard Reasoning Tensor)
│
→ 发送给调度 Core
输入/输出
| 项目 | 说明 |
|---|---|
| 输入 | 推理请求张量(来自Core,包含任务描述、记忆上下文、路由引用) |
| 输出 | 推理路径张量(发送给Core,包含推理步骤、验证标记、置信度、可选路径) |
| 输出不是最终答案 | 只输出推理路径,不输出结论文本——结论由 LLM 子网负责表达 |
| 延迟目标 | 单次推理 < 200ms |
推理路径张量格式
遵循统一通信张量协议,无 JSON 结构,全部为纯数值张量:
统一通信张量 (纯数值)
prefix: [fmt_id=4, parser_id=4]
payload:
[n_steps] # 推理步数
[step_embeddings...] # 每步的语义嵌入 [n_steps, 768]
[step_confidences...] # 每步置信度 [n_steps]
[search_depth, mcts_iters, verified] # 元信息 [3]
编码示例(内部推理路径 → 统一张量):
def encode_reasoning_path(steps: list[Step],
depth: int, iters: int) -> Tensor:
"""内部推理路径 → 统一通信张量"""
n = len(steps)
step_vecs = [encode_step_io(s) for s in steps] # 每步编码
confs = [s.confidence for s in steps]
payload = concat(
tensor([n]), # 步数
stack(step_vecs).flatten(), # 步嵌入
tensor(confs), # 置信度
tensor([depth, iters, 1.0 if verified]) # 元信息
)
return codec.encode(fmt_id=4, parser_id=4, data=payload)
子网内部架构
┌──────────────────────────────────────────────────────────────┐
│ 逻辑链路追踪神经网络 内部架构 │
│ │
│ 推理请求 → ┌──────────────────────────────────────────┐ │
│ │ 1. 推理引擎 (Reasoning Engine) │ │
│ │ ┌──────────────┐ ┌────────────────────┐ │ │
│ │ │ 蒙特卡洛树搜索 │ │ 思维链生成器 │ │ │
│ │ │ MCTS │ │ Chain-of-Thought │ │ │
│ │ │ 搜索推理路径 │ │ 多步推演 │ │ │
│ │ └──────────────┘ └────────────────────┘ │ │
│ └──────────────────────┬─────────────────────┘ │
│ │ │
│ ┌──────────────────────▼─────────────────────┐ │
│ │ 2. 路径追踪器 (Path Tracer) │ │
│ │ ┌──────────────┐ ┌────────────────────┐ │ │
│ │ │ 推理步骤记录 │ │ 依赖图构建 │ │ │
│ │ │ 每一步的输入/ │ │ 证据链追踪 │ │ │
│ │ │ 输出/置信度 │ │ 来源追溯 │ │ │
│ │ └──────────────┘ └────────────────────┘ │ │
│ └──────────────────────┬─────────────────────┘ │
│ │ │
│ ┌──────────────────────▼─────────────────────┐ │
│ │ 3. 验证器 (Verifier) │ │
│ │ ┌──────────────┐ ┌────────────────────┐ │ │
│ │ │ 过程奖励模型 │ │ 冲突检测器 │ │ │
│ │ │ Process │ │ 矛盾识别 │ │ │
│ │ │ Reward Model │ │ 逻辑一致性检查 │ │ │
│ │ └──────────────┘ └────────────────────┘ │ │
│ └──────────────────────┬─────────────────────┘ │
│ │ │
│ ┌──────────────────────▼─────────────────────┐ │
│ │ 4. 错误分析 & 重规划 │ │
│ │ ┌──────────────┐ ┌────────────────────┐ │ │
│ │ │ 错误追溯器 │ │ 重规划器 │ │ │
│ │ │ 失败路径分析 │ │ 替代路径生成 │ │ │
│ │ │ 根因定位 │ │ 参数调整 │ │ │
│ │ └──────────────┘ └────────────────────┘ │ │
│ └──────────────────────┬─────────────────────┘ │
│ │ │
│ ┌──────────────────────▼─────────────────────┐ │
│ │ 5. 张量编码层 │ │
│ │ 内部推理结果 → 标准推理路径张量 │ │
│ └──────────────────────────────────────────┘ │
│ │
└──────────────────────────────────────────────────────────────┘
训练目标
目标 1:多步推理准确率
| 指标 | 目标值 | 说明 |
|---|---|---|
| 链式推理准确率 | ≥ 85% | 5步以上的推理链 |
| 数学推理准确率 | ≥ 75% | 多步数学问题 (GSM8K) |
| 逻辑推理准确率 | ≥ 80% | 一阶逻辑推理任务 |
| 常识推理准确率 | ≥ 85% | 常识推理基准 (CSQA) |
目标 2:错误路径检测
| 指标 | 目标值 | 说明 |
|---|---|---|
| 错误检测召回率 | ≥ 90% | 能识别出推理链中的错误步骤 |
| 错误检测精确率 | ≥ 80% | 标记为错误的确实有错误 |
| 矛盾识别 F1 | ≥ 85% | 识别出推理结论中的矛盾 |
目标 3:回溯重规划能力
| 指标 | 目标值 | 说明 |
|---|---|---|
| 回溯成功率 | ≥ 80% | 发现错误后成功重规划 |
| 重规划效率 | ≤ 3轮回溯 | 最多3次回溯就能找到正确路径 |
| 替代方案多样性 | ≥ 3条 | 每次至少生成3个替代推理路径 |
目标 4:推理可解释性
| 指标 | 目标值 | 说明 |
|---|---|---|
| 推理步骤覆盖率 | 100% | 每步推理都有完整的 I/O 记录 |
| 证据追溯准确率 | ≥ 95% | 每步推理都能追踪到数据来源 |
| 推理路径可视化分 | ≥ 4/5 | 人类评估者可理解的程度 |
训练计划
阶段 1:监督学习 — 基础推理能力
目标:训练 LLM 基础的多步推理能力
技术路线:
- 使用思维链 (Chain-of-Thought) 数据集进行指令微调 (SFT)
- 模型选择:基于开源 LLM(如 Llama 3 / Qwen 2.5)进行推理增强
训练数据集:
| 数据集 | 用途 | 规模 |
|---|---|---|
| GSM8K | 数学推理 | 8K |
| MATH | 高级数学 | 12K |
| StrategyQA | 策略推理 | 2K |
| Logical Reasoning | 逻辑推理 | 5K |
| HotpotQA | 多步问答 | 113K |
训练步骤:
- 收集和清洗上述数据集,统一格式为 (问题, 推理链, 答案)
- 在基础模型上进行 LoRA 微调
- 训练 3 epochs,batch size 128,learning rate 2e-5
- 评估各数据集的推理准确率
阶段 2:过程奖励模型 (PRM) 训练
目标:训练能够评估推理步骤质量的奖励模型
技术路线:
- 为每步推理打分,而非仅评估最终结果
- 模型:Pythia / Llama + 值头 (Value Head)
训练步骤:
- 构建 PRM 训练集:
- 从阶段1的模型生成多条推理链
- 人工标注每步的正确性(正确/错误/模糊)
- 每步标注有监督信号
- 训练奖励模型:输入推理步骤上下文 → 输出正确性分数
- 损失函数:二元交叉熵(正步/错步分类)
- 训练 5 epochs
- 验证:奖励模型对错误步骤的识别准确率 ≥ 85%
阶段 3:RLHF + PRM 强化学习
目标:使用强化学习优化推理路径选择
技术路线:
- PPO 算法 + 过程奖励模型 (PRM)
- 奖励信号:PRM 对每步的打分 + 最终答案正确性
训练步骤:
- 从阶段1的推理模型初始化策略网络 (Policy)
- 使用 PPO 算法训练:
- 从训练数据中采样问题
- 策略网络生成推理链
- PRM 对每步打分
- 优化策略以最大化累计奖励
- KL 散度约束:防止策略偏离基座模型太远
- 训练 100k steps
- 在验证集上监控奖励和准确率
阶段 4:蒙特卡洛树搜索 (MCTS) 训练
目标:使用 MCTS 模拟推理回溯,训练模型在不确定时探索替代路径
技术路线:
- 在推理时使用 MCTS 扩展搜索空间
- 训练策略网络和价值网络指导 MCTS 搜索方向
训练步骤:
- 构建 MCTS 推理框架:
- 每个推理步作为搜索树的一个节点
- 使用阶段3的策略网络推理下一步
- 使用 PRM 作为价值评估
- 叶子节点回溯更新路径价值
- MCTS 超参数:
- 搜索次数:每次推理 50~200 次模拟
- 探索常数 (c_puct): 1.0 ~ 2.5
- 最大深度: 10步
- 自我对弈 (Self-Play) 训练:
- 使用当前策略 + MCTS 生成推理轨迹
- 将 MCTS 搜索概率作为训练目标
- 迭代优化策略网络
- 训练 200k 步
阶段 5:错误案例训练
目标:使用错误案例训练自我修正能力
训练步骤:
- 构建错误案例数据集:
- 收集阶段4中推理失败的案例
- 对于每一条失败案例,人工标注: a. 错误发生的位置 b. 错误的原因(知识缺失/逻辑错误/信息误解) c. 正确的替代路径
- 修正微调:
- 输入:原始推理链 + 错误位置标记 + 错误原因
- 输出:修正后的推理链
- 训练 5 epochs
- 评估:在错误案例上的修正成功率
阶段 6:集成到 Core 的启发式调度
目标:与 Core 的调度策略引擎协同工作
训练:
- Core 的启发式调度策略决定何时调用推理子网
- 记录每次调用的上下文和结果
- 使用离线强化学习优化调度策略(待 Core 模块单独训练)
评估指标体系
离线评估
| 指标 | 计算方法 | 目标 |
|---|---|---|
| 推理链准确率 | 完整推理链正确的比例 | ≥ 85% |
| 每步准确率 | 推理链中每步正确的比例 | ≥ 90% |
| 修正成功率 | 发现错误后成功修正的比例 | ≥ 80% |
| MCTS 搜索效率 | 平均搜索节点数 / 解决问题数 | ≤ 200节点/题 |
在线评估(与 Core 集成后)
| 指标 | 说明 |
|---|---|
| 验证通过率 | Core 收到推理路径张量后判断为"已验证"的比例 |
| 重调度频率 | Core 因推理置信度低而发起的二次推理次数 |
| 端到端准确率 | 完整链路(输入→推理→表达→用户)的最终准确率 |
技术难点与对策
| 难点 | 对策 |
|---|---|
| 推理搜索空间过大 | MCTS + 剪枝策略 + 启发式优先搜索 |
| 错误检测过于保守 | 动态阈值 + 多验证器投票 |
| 自我修正陷入循环 | 最大回溯次数限制 + 随机重启 |
| 推理速度与质量的权衡 | 自适应搜索深度(简单问题浅搜,复杂问题深搜) |