2026年7月2日 周四晚上19:30,报名腾讯会议了解“如何构建自进化的动态知识库(Brain)”(限30人)
免费POC, 零成本试错
FDE知识库

FDE知识库

学习大模型的前沿技术与行业落地应用


收藏

【RAG】浅尝基于多头注意力机制思想设计的Multi-Head RAG(多头RAG)

发布日期:2024-06-11 08:23:33 浏览次数: 3287
作者:大模型自然语言处理

微信搜一搜,关注“大模型自然语言处理”

一、动机

现有RAG设计和评估方法,没有方案或评估方法明确针对具有多方面性的问题。下面解释一下多方面性的问题:"多方面性的问题"是指那些需要理解和整合多个不同领域或主题的知识和信息才能得到完整和准确回答的问题。这类问题的特点在于它们涉及的内容跨度广,可能包括但不限于以下几个方面:

  1. 多样性的主题:问题可能涉及多个不同的主题或领域,例如,一个关于历史事件的问题可能同时关联到政治、社会、经济和技术等多个方面。

  2. 复杂的关系:问题中的不同方面之间可能存在复杂的相互关系,需要对这些关系有深入的理解才能准确回答。

  3. 多源信息:为了回答这类问题,可能需要从多个不同的信息源或文档中检索和整合数据。

  4. 综合回答:需要对检索到的信息进行综合分析,以形成一个全面、准确的回答。

例如,考虑一个问题:“亚历山大大帝是如何影响现代汽车工业的?” 这个问题本身就是高度多方面性的,因为它涉及到古代历史(亚历山大大帝)和现代技术(汽车工业)。要准确回答这个问题,可能需要检索和整合关于亚历山大大帝的历史资料、关于汽车工业的发展史,以及两者之间可能存在的间接联系等多个方面的信息。MRAG的设计使其能够更好地处理这种类型的问题。

这类问题需要在单个查询中结合多个显著不同的方面,这在现有RAG方案中尚未得到解决。文章提出了MRAG,通过利用Transformer的多头注意力层的激活来解决上述问题,而不是使用传统的解码器层激活。作者认为,不同的注意力头可以捕获数据的不同方面,从而在不增加存储需求的情况下,提高对复杂多方面查询的检索准确性。

二、MRAG架构

2.1 解码器架构

在MRAG中,解码器的输入是一个由个token组成的文本块。解码器的输出是每个attention head对第个token 的输出。

  • 注意力头输出: 对于第个token ,第h个attention head的输出定义为:

    其中,权重 是通过softmax函数计算得到的:

    这里, 是与head h 相关联的可学习query向量, 是第j个token的可学习key向量,是第j个token的可学习value向量。是key向量的维度,用于softmax的缩放,防止梯度消失或爆炸。

  • 多头注意力输出: 所有attention head的输出被合并,形成第个token的多头注意力输出

    这里, 是一个线性层,用于合并所有attention heads的输出结果。

  • 前馈层: 多头注意力的输出随后会通过一个前馈神经网络层进一步处理。

2.2 标准RAG

在标准RAG中,嵌入是通过以下步骤生成的:

  • 使用最后一个decoder block的输出。
  • 对最后一个token 应用feed-forward层。
  • 获取激活向量作为嵌入表示。

2.3 Multi-Head RAG

MRAG的关键思想是使用最后一个attention层生成的多个激活向量,而不是仅使用最后一个feed-forward解码器层的输出。具体来说:

  • 对于最后一个token ,生成一组嵌入

    其中 是第个头在最后一个token 上的输出。

  • 这种方法允许MRAG捕获输入数据的多个方面,因为不同的attention heads可能专注于数据的不同特征。

2.4 MRAG pipline

MRAG流程由两个主要部分组成:数据准备(Data Preparation)查询执行(Query Execution)。这两部分都依赖于一个数据存储(Data Store),它是一个向量数据库,用于存储文档或文本片段的嵌入表示。

2.4.1 数据准备(Data Preparation)

数据准备阶段的目的是填充数据存储,使其包含多方面MRAG文本嵌入及其对应的文档或文本片段。

  1. 嵌入模型:选择一个基于解码器的嵌入模型(Embedding Model),用于生成文本片段的多方面嵌入。
  2. 多方面嵌入:为每个文本片段创建多方面嵌入,每个嵌入代表文本的不同方面。
  3. 数据存储:将生成的多方面嵌入及其对应的文本片段存储在数据存储中。

2.4.2 查询执行(Query Execution)

查询执行阶段的目的是使用MRAG处理用户查询,并检索最相关的文档或文本片段。

  1. 查询嵌入:使用与数据准备阶段相同的嵌入模型为输入查询生成多方面嵌入。
  2. 检索策略:使用特殊的多方面检索策略,在数据存储中找到与查询最相关的嵌入及其对应的文本片段。
  3. 评估:可选地,使用特定的评估指标来衡量检索到的数据与多方面需求的匹配程度。

2.4.3 数据存储结构

MRAG在数据存储中以不同于标准RAG的方式存储数据。在MRAG中,每个多方面嵌入由多个单方面嵌入组成,每个单方面嵌入都指向原始文本片段。这意味着数据存储包含多个嵌入空间,每个空间捕获文本的不同方面。

2.4.4 检索策略

MRAG的检索策略包括以下步骤:

  1. 重要性评分:为所有嵌入空间分配重要性分数,以反映不同空间的相关性。

    该算法基于经验启发式方法,旨在评估每个注意力头的相关性。 表示头 的“重要性”,L2范数越大,表示头 越重要。 作为衡量嵌入空间“分散度”的代理,余弦距离越大,表示嵌入空间中向量之间的分散度越高。通过计算 的乘积,算法奖励那些具有高平均关注度和高平均分散度的头,同时惩罚那些具有低关注度或低分散度的头。

  2. 传统RAG检索:对每个嵌入空间分别应用传统RAG检索,返回每个空间中最接近的文本片段列表。

  3. 投票策略:使用投票策略从所有嵌入空间返回的文本片段列表中选择最佳的k个文本片段。这个策略结合了嵌入空间的重要性分数和文本片段在列表中的位置。

2.4.5 方便集成

  • MRAG设计为可以与现有的RAG解决方案和基准框架(如RAGAS)无缝集成,并且可以与不同类型的数据存储一起使用。用户可以选择自己的嵌入模型和查询,MRAG提供了合成数据生成器和查询生成器,用于评估目的。
  • MRAG可以与不同类型的数据存储和最近邻(NN)搜索方法无缝使用。它可以与精确和近似的最近邻搜索结合使用,以找到匹配的(嵌入,文本块)对。

三、总结

标准RAG(Retrieval-Augmented Generation)和Multi-Head RAG(MRAG)都是为了增强大型语言模型(LLMs)能力的框架,但它们在实现方式上存在一些关键差异。下面对标准RAG和MRAG的对比做个小总结:

标准RAG

  1. 嵌入生成:在标准RAG中,嵌入是通过使用解码器层的激活向量来生成的。具体来说,它通常采用最后一个解码器块的输出来创建文档或文本片段的嵌入表示。
  2. 检索:当接收到查询时,标准RAG会构建一个查询嵌入,然后在向量数据库中检索与该嵌入最相似的文档或文本片段。
  3. 应用场景:标准RAG适用于各种场景,但在处理需要多个不同方面信息的复杂查询时可能会遇到挑战,因为相关文档的嵌入可能在嵌入空间中相隔较远。
  4. 局限性:由于它依赖于单一的嵌入空间,标准RAG在处理多方面问题时可能无法有效地检索所有相关的文档。

多头RAG (MRAG)

  1. 嵌入生成:MRAG的核心创新在于使用Transformer的多头注意力层的激活来生成嵌入,而不是解码器层。这种方法利用了多头注意力机制,每个头可以捕获数据的不同方面
  2. 多方面嵌入:MRAG为每个输入生成一组嵌入,每个嵌入代表数据的不同方面。这称为“Multi-Aspect(多方面)嵌入”,它由多个“单方面嵌入”组成,每个嵌入对应于注意力层中的一个头。
  3. 数据存储:MRAG在数据存储中为每个文本片段存储多个嵌入,每个嵌入捕捉文本的不同方面。这允许MRAG在多个嵌入空间中进行检索,每个空间代表数据的一个特定方面。
  4. 检索策略:MRAG使用一种特殊的检索策略,它首先为每个嵌入空间分配重要性分数,然后使用投票机制从不同空间检索到的文本片段中选择最相关的片段


53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询

扫码登录
登录即表示您同意《53AI网站服务协议》
服务协议

欢迎您使用【53AI 官方网站】(以下简称“本网站”或“我们”)。本《会员服务协议》(以下简称“本协议”)是您(以下简称“会员”或“用户”)与【深圳市博思协创网络科技有限公司】之间关于注册、登录及使用本网站会员服务所订立的法律协议。

在您注册或登录前,请务必审慎阅读、充分理解各条款内容,特别是免除或限制责任的条款、知识产权条款、争议解决条款等。此类条款将以加粗形式提示您注意。 当您通过微信公众号授权、手机验证码验证或其他方式成功登录本网站时,即视为您已完全理解并同意接受本协议的全部内容。

一、 定义

本网站:指由【深圳市博思协创网络科技有限公司】运营的,域名为【53ai.com】的网站及相关移动端页面。

会员服务:指本网站向注册会员提供的知识库文章查阅、内容检索及其他相关增值服务。

知识库内容:指本网站发布的包括但不限于文字、图表、数据、研究报告、行业分析等数字化内容资源。

二、 账号注册与登录

登录方式:本网站支持以下登录方式,您可根据实际情况选择:

微信公众号授权登录:您同意将您的微信OpenID信息授权给本网站,用于创建或关联会员账号。

手机验证码登录:您需提供真实有效的手机号码,并通过短信验证码完成身份验证与登录/注册。

账号安全:您的账号仅限您本人使用,禁止赠与、借用、租用、转让或售卖。因您保管不善导致的账号被盗、密码泄露等损失,由您自行承担。

实名认证:根据相关法律法规要求,我们可能要求您在特定功能下完成实名认证。如您拒绝提供,可能无法使用部分或全部服务。

未成年人保护:若您未满18周岁,请在法定监护人的陪同下阅读本协议,并在征得监护人同意后使用本服务。

三、 服务内容与规范

知识库查阅权限:会员登录后,有权按照其会员等级对应的权限范围,在线浏览、检索本网站知识库中的相关文章及内容。

服务变更:我们有权根据业务发展需要,调整、变更或终止部分服务内容,并将以网站公告、公众号消息等方式提前通知。

禁止行为:您在使用服务时不得实施以下行为:

利用技术手段批量爬取、下载、转存知识库内容;

将知识库内容用于商业目的或未经授权地向第三方传播;

干扰本网站正常运行或侵犯其他用户合法权益;

发布违法违规信息或从事违反公序良俗的活动。

四、 知识产权声明

权利归属:本网站知识库中的排版设计、软件代码等内容的知识产权均归【公司全称】或原权利人所有,受《中华人民共和国著作权法》等法律保护。

有限许可:本网站授予会员一项非独占、不可转让、不可转授权的普通许可,仅限于个人学习、研究之目的在线查阅知识库内容。

侵权追责:未经书面许可,任何单位或个人不得以任何形式复制、转载、摘编、镜像、汇编或以其他方式使用上述内容。一经发现,我们保留追究其法律责任的权利。

五、 个人信息保护

我们重视对您个人信息的保护。关于我们如何收集、使用、存储和保护您的个人信息,请单独阅读 《隐私政策》。

您通过微信公众号授权或手机号验证所提供的信息,我们将严格按照《个人信息保护法》的规定处理,仅用于身份识别、服务提供及安全验证等必要用途。

您可以随时通过网站设置或联系客服行使查阅、更正、删除个人信息及撤回授权同意的权利。

六、 免责声明

内容准确性:知识库内容仅供参考,不构成专业建议。我们不对其完整性、准确性、时效性作任何明示或暗示的保证,您应自行判断并承担使用风险。

不可抗力:因自然灾害、政策法规变化、网络故障、第三方平台接口异常(如微信接口维护、运营商短信通道故障)等不可抗力导致的服务中断或延迟,我们不承担违约责任。

第三方链接:本网站可能包含指向第三方网站的链接,该等网站的内容和服务不受我们控制,请您自行甄别风险。

七、 违约责任

如您违反本协议约定,我们有权视情节采取警告、限制功能、暂停服务、注销账号等措施,并保留要求赔偿损失的权利。

如因您的违约行为导致我们遭受行政处罚、第三方索赔或商誉损失,您应承担全部赔偿责任(包括但不限于罚款、赔偿金、律师费、公证费等)。

八、 法律适用与争议解决

本协议的订立、执行和解释均适用中华人民共和国大陆地区法律。

因本协议产生的或与本协议有关的任何争议,双方应友好协商解决;协商不成的,任何一方均可向【公司所在地】有管辖权的人民法院提起诉讼。

九、 其他

本协议构成双方就本服务达成的完整协议,取代此前任何口头或书面约定。

本协议任一条款被认定为无效或不可执行的,不影响其他条款的效力。

我们对本协议享有最终解释权,并在法律允许的范围内保留随时修改的权利。修改后的协议一经公布即生效,继续使用服务即视为同意修订内容。


已查阅