探索AI领域的前沿话题:LLM推理、SubgraphRAG与FastRAG

📖阅读时长:15分钟

🕙发布时间:2025-02-04

近日热文:全网最全的神经网络数学原理(代码和公式)直观解释
欢迎关注知乎和公众号的专栏内容
LLM架构专栏
知乎LLM专栏
知乎【柏企
公众号【柏企科技说】【柏企阅文

今天,我们将探讨AI中的三个引人入胜的话题,它们是:

  • LLM推理:概述
  • 子图RAG(SubgraphRAG):用于高效子图检索和推理的侦探助手
  • FastRAG:导航半结构化数据的个性化指南

LLM推理:概述

高效推理一直是LLM领域的热门研究方向。我最近阅读了一份调查,想分享一下该领域的概述。

LLM在推理过程中需要大量的计算资源、内存访问和内存使用。这可能会影响延迟、吞吐量、功耗和存储等效率指标,尤其是在资源受限的环境中。

我们首先回顾一下LLM的推理过程。

最常用的大型语言模型,尤其是仅解码器的语言模型,通常使用自回归方法生成句子。

为了提高效率,键值(KV)缓存技术存储并重用多头自注意力块中以前的键值对,从而显著降低生成延迟。

在每个步骤中,模型都会处理整个令牌序列,包括输入令牌和以前生成的令牌,以预测下一个令牌。随着序列变长,生成变得越来越耗时。

为了解决这个问题,引入了键值(KV)缓存技术。这种方法在多头自我注意(MHSA)块中存储和重用键(K)和值(V)对,从而显著降低延迟。这种广泛采用的优化将LLM推理过程分为两个阶段:

  • 预填充阶段:该模型计算并存储初始输入令牌的KV缓存,并生成第一个输出令牌(图2a)。
  • 解码阶段:该模型一次生成一个输出令牌,使用每个新令牌的键(K)和值(V)对更新KV缓存(图2b)。

如图3所示,LLM推理优化可以分为三个级别:

  • 数据级优化:专注于通过优化输入提示(例如,输入压缩)或更好地构建输出内容(例如,输出组织)来提高效率。这种方法不会改变原始模型,避免了模型训练的高成本,尽管可能需要最少的辅助模型训练。
  • 模型级优化:涉及设计更高效的模型架构(例如,结构设计)或模型压缩以提高推理效率。这种方法通常需要预先训练或微调,并且可能会略微影响模型性能。
  • 系统级优化:以推理引擎或服务系统为目标,包括硬件加速。它避免了昂贵的模型训练,并且通常对模型性能是无损的。

看完这里,我的理解变得更加清晰。例如:

  • RAG和Self - RAG属于Input Compression。
  • Mixtral 8x7B、MQA和GQA是高效结构设计的示例。
  • QLoRA属于Quantization领域的Quantization - aware Training。
  • FlexGen涉及推理引擎中的训练后量化和卸载。

子图RAG(SubgraphRAG):用于高效子图检索和推理的侦探助手

生动的描述

知识图谱就像一个充满无数线索的犯罪现场。作为侦探助理,SubgraphRAG根据线索快速过滤出最关键的证据(子图)。然后将这些证据交给大侦探(LLM),他用它来解开谜团,解释推理过程,并最终提供合理的答案。

概述

当前基于KG的RAG框架难以有效地平衡检索和推理:

  • 基于LLM的方法需要多次昂贵的模型调用以进行分步图形搜索,并且由于上下文限制可能会丢失相关信息。
  • LSTM或GNN等较轻的模型效率更高,但缺乏复杂的推理能力,经常缺少关键证据。
  • 固定的子图检索方法提高了效率,但限制了LLM推理的证据覆盖率。

SubgraphRAG引入了一种基于轻量级多层感知器(MLP)的子图检索器,结合定向距离编码(DDE),以有效地从知识图谱中提取相关子图。通过与未调整的LLM集成以指导通过子图进行推理,SubgraphRAG实现了高效、灵活和可解释的知识增强生成。

图4演示了SubgraphRAG的三步工作流程:

  • 主题实体提取:从查询中提取关键实体(例如,Elon Musk、Jeff Bezos、Bill Gates)
  • 子图提取

    • 结构特征构建:DDE(定向距离编码)映射知识图谱三元组和主题实体之间的结构关系,识别与查询相关的连接。图4显示了表示“company founder”和“business partnership”等关系的方向箭头。
    • 提取相关三元组:使用轻量级多层感知器(MLP)并行评分和检索前K个三元组以形成子图(例如,Nvidia与Tesla、Amazon、Microsoft的合作伙伴关系)。用于训练MLP的弱监督信号是通过启发式规则生成的,例如“从主题实体到答案实体的最短路径”,以构建近似相关的子图,从而减少对精确标记数据的依赖。
  • 使用LLM推理:将子图和查询馈送到LLM(例如GPT - 4)以生成答案。在图1中,答案是“Nvidia and NASA”,其中包括一个推理过程。

评论

SubgraphRAG基于子图的检索机制和轻量级多层感知器(MLP)很有创意。

但是,我有以下担忧:

  • 子图尺度动态调整:子图大小K适应语言模型的上下文窗口,但最佳大小的确定仍不清楚。较大的子图有冗余的风险,而较小的子图可能会错过关键证据。
  • 三重评分的局限性:轻量级MLP评分方法以复杂性换取效率,在多实体场景中可能会丢失高阶关系。该方法过度依赖于预先训练的嵌入,而不是KG结构。

FastRAG:导航半结构化数据的个性化指南

生动的描述

想象一下探索一个拥有隐藏景点的广阔城市。传统指南(如VectorRAG或GraphRAG)可能会带您进行通用游览,涵盖所有内容,无论它是否相关。

FastRAG会根据您的兴趣创建自定义行程(模式学习),并仅突出显示您关心的景点(脚本学习)。这样,您可以在更短的时间内看到更多,而不会错过主要景点。

概述

当前的RAG方法(如VectorRAG和GraphRAG)在处理网络管理中生成的复杂半结构化数据时效率低下,面临时间、成本和准确性方面的挑战。

FastRAG旨在以经济高效的方式高效处理现代网络生成的大量半结构化数据。通过引入模式学习和脚本学习来提取和组织数据,它避免了将所有数据直接输入到大型语言模型(LLMs)中,从而节省了资源。

FastRAG的主要步骤如下:

  • 数据块采样:使用关键字提取和熵分析从半结构化数据中提取代表性样本,以选择捕获数据主要特征的最小集合。
  • 架构学习:从所选示例生成JSON架构以定义实体类型及其属性,然后迭代优化架构以确保完整性和准确性。
  • 脚本学习:基于样本数据和Schema,生成并优化Parsing Functions,实现数据的自动化处理。
  • KG创建:将解析后的JSON对象转换为知识图谱。例如,实体成为类型为标签的节点,简单属性成为节点属性,嵌套属性成为由边连接的子节点。
  • 信息检索:通过使用图查询、文本搜索、组合查询或混合查询方法将用户输入转换为查询语句,从知识图谱中生成精确的答案。

FastRAG使用知识图谱来组织数据是创新的,但它提出了有关维护这些图的成本以及保持实时更新的挑战的问题,尤其是在处理实体之间的复杂关系时。

本文由mdnice多平台发布


柏企科技圈
1 声望0 粉丝

时间差不多了,快上车!~