AssisTRAG通过集成一个智能信息助手来提升LLMs处理复杂推理任务的能力。该框架由两个主要组件构成:一个冻结的主语言模型和一个可训练的助手语言模型。
AssisTRAG与之前的RAG对比
1. 组件
- 主语言模型(Main LLM):负责根据提供的信息生成答案。这个模型是固定的,不进行训练。
- 助手语言模型(Assistant LLM):负责信息管理,包括记忆管理和知识管理。这个模型是可训练的。
可以看出,相比之前的RAG,该框架主要创新点是引入一个Assistant LLM,下面详细看下助手语言模型功能。
2. AssisTRAG
图片
AssisTRAG主要分为两个类别来处理复杂任务:记忆管理和知识管理。记忆管理涉及整合和分析来自内部内存的内容,而知识管理则侧重于利用外部知识。这两个主要功能由AssisTRAG的四个核心能力支持:
- 工具使用(Tool Usage):从内部记忆和外部知识库中检索相关信息。
- 动作执行(Action Execution):进行推理、分析信息需求并提取知识。
- 记忆构建(Memory Building):记录从历史交互中提取的关键知识和推理模式。
- 计划指定(Plan Specification):确定在答案生成过程中每个步骤的必要性。
2.1 记忆管理
记忆管理模块通过存储和检索历史交互来提升主语言模型的性能。有效的记忆管理包括两个主要过程:捕获新见解和检索先前存储的信息。这两个过程主要有以下三个能力:
- Action I: 笔记记录
- Tool I: 记忆检索器
- Plan I: 评估检索记忆的有用性
如果问题是全新的,检索到的记忆可能不仅无助于回答,还可能负面影响主语言模型的响应。因此,助手需要评估检索到的记忆是否对当前问题有帮助。具体来说,助手使用一个提示来评估检索到的记忆是否有助于回答当前问题。只有当答案是肯定的时候,检索到的记忆才会被提供给主语言模型。
实现:通过一个提示,助手评估检索到的记忆是否对当前问题有益。如果评估结果是肯定的,这些记忆槽将被提供给主语言模型。
作用:这一计划确保了只有相关的记忆会被提供给主语言模型,避免了无关或负面的记忆干扰回答的质量。
2.2 知识管理
知识管理涉及以下四个能力:
动作 II:问题分解
子查询1:Allie Goertz写了一首关于《辛普森一家》角色Milhouse的歌曲。
子查询2:Matt Groening是根据谁的名字命名了Milhouse?
工具 II:知识检索器
动作 III:知识提取
Allie Goertz 是一位美国音乐家和讽刺作家。
Milhouse 是《辛普森一家》中的一个虚构角色,由Matt Groening创造,并以意大利独裁者Benito Mussolini命名。
计划 II:评估提取知识的相关性
- 功能:确保提供给主语言模型的信息准确且相关。
- 实现:助手通过提示评估提取的知识是否与当前问题相关。只有当提取的知识被认为对回答问题有帮助时,才会将其提供给主语言模型。
2.3 AssisTRAG 训练
图片
AssisTRAG 的训练过程分为课程助理学习和强化偏好优化两个阶段。课程学习阶段通过逐步增加任务复杂性来提升助手在 RAG 过程中的技能。强化偏好优化阶段则通过根据主 LLM 的反馈调整助手的输出,确保助手提供的帮助更加贴合主 LLM 的需求。
2.4 AssisTRAG 推理
AssisTRAG 通过三个步骤启动其推理过程:
信息检索与整合
在这个初始阶段,AssisTRAG 首先激活 Action II 来理解主 LLM 的信息需求。然后,它使用 Tool I 和 Tool II 分别从内部记忆和外部知识库中检索相关信息。接着,它调用 Action III 从检索到的文档中提取关键知识。
决策
在这一阶段,AssisTRAG 决定是否将检索到的记忆和提取的知识提供给主 LLM。它激活 Plan I 和 Plan II 来评估这些检索到的记忆和知识对当前问题的相关性和有用性。如果助手认为这些信息有帮助,它们将被提供给主 LLM 以辅助回答生成。
回答生成与记忆更新
在最后阶段,AssisTRAG 提示主 LLM 根据问题、其内部知识和助手提供的信息生成答案。之后,AssisTRAG 激活 Action I,利用其笔记功能,捕捉交互中的关键推理步骤并将其纳入其记忆中。这确保了助手的知识库保持最新。
实验效果
图片
参考文献
Boosting the Potential of Large Language Models with an Intelligent Information Assistant,https://arxiv.org/pdf/2411.06805v1