Files
NextAgent/docs/llm-subnet.md
root 398d35c50b 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
2026-06-01 08:55:27 +08:00

12 KiB
Raw Blame History

LLM 子网(布洛卡区/表达核)

概述

LLM 子网类比人脑的布洛卡区(Broca's Area)——大脑中负责语言表达的关键区域。在 NextAgent 架构中,LLM 子网是唯一与自然语言打交道的组件,负责将子网间流转的结构化信息转换为人类可读的自然语言输出。

核心设计哲学

知识存储与语言表达分离:LLM 子网本身不存储事实知识,它只负责"表达"。所有事实知识来自记忆子网和推理子网的引用包。这一设计从根本上杜绝了 LLM 子网产生"幻觉"的可能性——它不"知道"任何事,它只"表达"收到的结构化信息。

核心职责

  • 结构化→自然语言转换:将推理路径、记忆片段等结构化数据转化为流畅的自然语言
  • 情感表达:根据上下文和用户情感状态,调整输出的语气和情感色彩
  • 多语言输出:支持中、英、日、韩、法、德等多语言的表达
  • 风格适配:根据应用场景(正式、友好、专业、通俗)适配语言风格
  • 输出格式化:支持 Markdown、JSON、表格、列表等多种输出格式

架构设计

graph TB
    Input["结构化输入<br/>(推理路径 + 记忆引用包)"] --> Decoder["结构化解码器"]
    
    Decoder --> Intent["意图与情感分析器"]
    
    Intent --> StyleRouter["风格路由器"]
    
    StyleRouter -->|"正式"| Formal["正式表达分支"]
    StyleRouter -->|"友好"| Friendly["友好表达分支"]
    StyleRouter -->|"专业"| Professional["专业表达分支"]
    StyleRouter -->|"通俗"| Simple["通俗表达分支"]
    
    Formal --> Generator["语言生成器<br/>Causal LM"]
    Friendly --> Generator
    Professional --> Generator
    Simple --> Generator
    
    Generator --> Format["格式处理器"]
    Format --> Output["自然语言输出"]
    
    subgraph Controls ["控制组件"]
        LangCtrl["语言控制<br/>(LangID)"]
        ToneCtrl["语气控制<br/>(Prompt Tuning)"]
        FactCtrl["事实一致性检查<br/>(对照源引用包)"]
    end
    
    Generator -.-> LangCtrl
    Generator -.-> ToneCtrl
    Generator -.-> FactCtrl
    
    subgraph Training ["训练管线"]
        SFT["指令微调<br/>(SFT)"]
        RLHF["人类反馈强化学习<br/>(RLHF)"]
        MulAlign["多语言对齐<br/>(Cross-lingual Alignment)"]
    end
    
    SFT --> RLHF
    RLHF --> MulAlign

训练目标

目标 1:结构化信息到自然语言的转换

训练模型将结构化输入(JSON 格式的推理路径、知识图谱片段、逻辑链)转换为高质量的自然语言。

  • 信息保真度:输出内容与输入结构化信息的一致性 ≥ 95%
  • 完整度:输入中的关键信息点 100% 体现在输出中
  • 简明度:在不丢失信息的前提下,输出长度 ≤ 推理路径长度的 3 倍

目标 2:情感表达

训练模型根据用户情感状态和上下文,调节输出的情感色彩。

  • 情感一致性:输出情感与用户期望情感的匹配度 ≥ 85%
  • 情感粒度:支持 8 种基本情感(喜、怒、哀、惧、惊、厌、盼、信)及其复合情感
  • 情感调节:在信息传递准确的前提下,情感表达不影响事实信息

目标 3:多语言输出

训练模型在保持语义不变的前提下,输出多种语言。

  • 支持语言:中文、英语、日语、韩语、法语、德语、西班牙语、阿拉伯语
  • 翻译质量:跨语言语义保留 BLEU ≥ 35,COMET ≥ 0.8
  • 语言切换:支持单次输出中的语言切换(如中英混杂)

训练计划

阶段 1:指令微调(Supervised Fine-Tuning, SFT)

目标:使用高质量的"结构化输入 → 自然语言输出"配对数据,对基座模型进行指令微调。

基座模型选择

模型 参数量 优势 适用场景
Qwen2.5-7B 或同等 7B 中文能力突出、推理效率高 主推模型
LLaMA-3.1-8B 8B 英文能力突出、生态完善 英文场景

训练数据

  1. 结构化→自然语言配对数据
数据类型 输入 输出 规模
推理路径转文字 JSON 推理链 自然语言解释 100,000
知识图谱转叙述 三元组集合 流畅段落 80,000
记忆片段转回答 检索到的记忆 回答用户 120,000
逻辑链路转报告 推理过程 分析报告 50,000
  1. 数据生成流程
原始问题 → 调度 Core 生成结构化推理路径 → 人工标注员写出参考输出

结构化输入示例:
{
  "task": "解释光合作用的过程",
  "reasoning_path": [
    {"step": 1, "content": "光合作用发生在叶绿体中", "source": "memory:biology/chapter_5"},
    {"step": 2, "content": "需要叶绿素、光、CO₂、H₂O", "source": "memory:biology/chapter_5"},
    {"step": 3, "content": "光反应阶段:光能→ATP+NADPH", "source": "logic:verified"},
    {"step": 4, "content": "暗反应阶段(Calvin循环):CO₂→葡萄糖", "source": "logic:verified"},
    {"step": 5, "conclusion": "光合作用将光能转化为化学能", "source": "reasoning:deduction"}
  ],
  "language": "zh",
  "tone": "educational"
}

训练配置

  • 输入格式:<|struct|>{结构化信息}<|output|>
  • 损失函数:自回归语言建模(交叉熵)
  • 批大小:128(梯度累积 8 步)
  • 优化器:AdamW(β1=0.9, β2=0.95)
  • 学习率:1e-5,余弦退火至 1e-6
  • warmup:500 steps
  • 权重衰减:0.01
  • 梯度裁剪:max_norm = 1.0
  • 训练轮数:3 epochs(SFT 数据量充足,防止过拟合)
  • LoRA 配置(如使用全参微调资源不足):
    • r = 64, α = 128, dropout = 0.05
    • 目标模块:q_proj, k_proj, v_proj, o_proj, gate_proj

阶段 2:人类反馈强化学习(RLHF)

目标:通过人类偏好反馈,优化表达的自然度、流畅度和信息呈现方式的优劣。

奖励模型训练

  • 模型架构:基于 SFT 模型,移除语言头,添加线性奖励头
  • 训练数据:
来源 类型 规模
人工标注 对同一输入的不同输出进行偏好排序 50,000 对
自动评估 使用 GPT-4/Claude 作为评估者 200,000 对
红队测试 对抗样本的偏好标注 10,000 对
  • 标注维度:
维度 评分范围 说明
信息准确度 1-5 与结构化输入的一致性
自然度 1-5 读起来像人写的
完整度 1-5 关键信息是否全部覆盖
简洁度 1-5 在信息完整下是否简洁
情感适配 1-5 语气是否符合作者期望
  • 损失函数:Bradley-Terry + 维度加权

    L = -E[Σ w_d · log(σ(r_d_better - r_d_worse))]
    w = [0.4, 0.3, 0.15, 0.1, 0.05]  # 各维度权重
    
  • 训练配置:

    • 学习率:1e-5
    • 批大小:64
    • 训练轮数:3 epochs

PPO 训练

  • 策略模型:SFT 模型
  • 价值模型:与策略模型共享基座 + 价值头
  • KL 散度惩罚:β = 0.04
  • GAE λ:0.95
  • 折扣因子 γ:0.99
  • 学习率:1e-6(策略),1e-5(价值)
  • PPO clip:ε = 0.2
  • 批大小:256
  • 总 PPO 轮次:200(每轮采样 1024 条)
  • 句子级奖励:使用 PRM 对每句话评分,而非仅整段评分

阶段 3:多语言对齐训练

目标:扩展模型的多语言表达能力和跨语言一致性。

训练数据

语言 对齐数据规模 来源
中文 200,000 自建 + 翻译
英语 200,000 自建 + 翻译
日语 100,000 翻译 + 人工校对
韩语 100,000 翻译 + 人工校对
法语 100,000 翻译 + 人工校对
德语 100,000 翻译 + 人工校对
西班牙语 100,000 翻译 + 人工校对
阿拉伯语 50,000 翻译 + 人工校对

对齐方法

  1. 平行语料监督学习

    • 同一结构化输入对应多语言的 GT 输出
    • 训练模型在不同语言分支上输出语义一致的内容
  2. 跨语言对比学习

    • 正样本对:同一结构化输入的不同语言输出
    • 负样本对:不同结构化输入的同语言输出
    • 损失函数:InfoNCE,温度 τ = 0.07
  3. 反向翻译一致性

    • 模型输出 A 语言 → 翻译为 B 语言 → 模型输出从 A→B
    • 要求 A 语言输出和 B 语言输出语义一致
    • 一致性损失:余弦相似度(语义嵌入(输出_A), 语义嵌入(输出_B))
  4. 语言自适应层

    • 为每种语言添加可训练的 LayerNorm + 偏置(Adapter 风格)
    • 共享语言无关的参数 + 语言特定的适配层
    • 参数量:每种语言 +5M(极小开销)

训练配置

  • 阶段 3a(平行语料训练):3 epochs,LR=5e-6
  • 阶段 3b(对比学习):2 epochs,LR=3e-6
  • 阶段 3c(一致性训练):2 epochs,LR=3e-6
  • 总轮数:7 epochs

阶段 4:事实一致性对齐

目标:确保 LLM 子网严格依据输入的结构化信息生成输出,不添加、不遗漏、不改动事实。

训练方法

  1. 负采样对抗训练

    • 故意在结构化输入中植入与常见知识矛盾的信息
    • 如果模型依赖"固有知识"而非输入结构信息,则产生错误
    • 训练模型学会"忽略固有知识,只遵循输入"
  2. 事实对比损失

    • 在输出层添加事实一致性评分头
    • 计算输出中每个实体/关系与输入结构化信息的匹配度
    • 损失函数:Focal Loss(处理事实类不平衡)
  3. 约束解码

    • 推理阶段使用受限 Beam Search
    • 约束条件:输出必须包含输入中的所有关键信息点
    • 惩罚项:缺失信息点数量 × 0.1

评估配置

  • 测试集:5,000 条包含事实冲突的结构化输入
  • 期望行为:模型严格按输入生成,不引入外部知识
  • 目标值:事实一致性 ≥ 98%

评估指标

表达准确度

指标 定义 目标值
信息保真度 输出与输入结构化信息的一致性 ≥ 95%
实体准确率 输出中实体的正确率 ≥ 98%
关系准确率 输出中关系描述的正确率 ≥ 95%
事实幻觉率 输出来源非输入中信息的比例 ≤ 2%

自然度评分

指标 定义 目标值
人工评分(5 分制) 标注员对输出自然度的评分 ≥ 4.2
GPT-4 评分(5 分制) 大模型评估的自然度评分 ≥ 4.0
Perplexity 语言模型的困惑度 ≤ 15
平均句长标准差 句子长度的多样性指标 ≥ 5

情感一致性

指标 定义 目标值
情感匹配度 输出情感与目标情感的匹配度 ≥ 85%
情感误判率 产生与目标相反情感的比率 ≤ 3%
情感粒度 F1 复合情感识别的 F1 ≥ 0.75

多语言能力

指标 定义 目标值
BLEU 各语言的 BLEU 分数加权平均 ≥ 35
COMET 跨语言语义保留评分 ≥ 0.80
跨语言一致性 不同语言输出的语义相似度 ≥ 0.90
语言切换准确率 中英混杂场景的语言切换正确率 ≥ 90%

系统性能

指标 定义 目标值
生成延迟(首 token) 从输入到首个输出 token ≤ 200ms
生成吞吐量 tokens/second ≥ 50 tokens/s
冷启动适应 新语言的 few-shot 适应所需样本 ≤ 100 条
输出长度控制 指定长度与实际长度的偏差 ≤ ±20%