对于一些知识密集型问题往往需要从多个信息源中提取和整合知识,比如金融,法律等领域。传统 RAG 方法在处理这类知识密集型推理任务时常常力不从心。今天介绍一个来自中科院的新 rag 技术——structRAG[1],它在这方面获得了很不错的突破。
研究人员借鉴了人类处理复杂推理任务时的方式。人类通常不会不同于简单阅读散乱的原始内容,而是会将这些信息信息汇总成结构化知识,再利用这些结构化信息进行思考推理。
StructRAG 通过以下三个过程模拟这一过程:
混合结构路由器(Hybrid structure router)训练
混合结构路由器根据任务需求灵活选择最佳知识结构形式,例如表格、图或算法,确保知识的呈现最大化满足推理需要。例如,当需要比较多家公司的财务数据时,混合结构路由器会优先选择表格这一形式,以便清晰展示数据对比。训练混合结构路由器采用混采用直接偏好优化(DPO)算法,能够不依赖额外的奖励模型实现优良效果。这种方法通过生成高质量的偏好对来确保训练的有效性,结合“合成-模拟-判断”的新颖方法来构建偏好数据。知识结构化
分散知识结构化器(Scattered knowledge structurizer)对知识进行结构化。利用 LLM 将散乱的文本信息转化为结构化知识。经过结构化后,信息的可读性显著提升,为后续推理奠定基础。对文档进行分析时,StructRAG 可以选择不同的知识结构,优化信息呈现方式。
问题分解与推理
最后,通过高效利用结构化知识,结构化知识利用器(Structured knowledge utilizer)可以准确分解复杂问题并采取相应的答案推理。这种逐步推导的方法在应对多样化问题时表现出更强的适应能力。例如,处理多层次的问题时,利用器能够分解为多个简单的子问题,使得整体推理更加高效。
在这一过程中,StructRAG 有以下一些技术实现亮点:
混合信息结构化:StructRAG 根据不同任务需求灵活选择最优结构类型,避免固定结构类型的局限性。 基于 LLM 的知识结构化:充分利用 LLM 的理解和生成能力,构建高质量的结构化知识。 科学问题分解与精准知识提取:通过将复杂问题分解为子问题,实现对结构化知识的精确利用,确保最终答案的准确性。
StructRAG 相较于传统 RAG,有以下优点:
更好地处理分散信息:通过结构化知识,StructRAG 能够更有效地整合来自多个来源的信息。
任务适应性强:能够根据任务特性选择最优的知识结构,极大地提高了处理多种问题的能力。
卓越的性能:在知识密集型推理任务中,StructRAG 展现出了压倒性的优势,相比之下更高效。
处理速度快:相较于 Graph RAG 等方法,StructRAG 的操作速度显著更快,使其在实时应用场景中具有更大优势。
研究结果表明,StructRAG 在 Loong 基准测试任务中均已取得最先进的性能。随着任务复杂度的增加,其性能优势越发明显。
小结
StructRAG 也不是没有缺点,相比简单的 RAG 方法,StructRAG 的操作复杂度显著提高,需要更多的计算资源。在不同任务中,如果选择了不当的结构可能会导致推理效果下降。在知识结构化过程高度依赖于大规模语言模型的性能,因此其效果与底层模型的能力密切相关。
对于研究团队来讲,如何优化结构选择算法、提升知识结构化的准确性,及探索更多样化的结构类型是将来重点的改进方向。
总的来说,StructRAG 的问世不仅提高了 AI 系统处理复杂推理任务的能力,也为我们理解和模拟人类认知过程提供了新的视角。它在在金融分析、科研文献综述等知识密集型领域的问答类需求提供了新的改进方向,值得感兴趣的朋友深度探索。
参考资料
structRAG: https://arxiv.org/pdf/2410.08815
后台回复“入群”进群讨论