大模型(LLM) + 上下文检索增强

大模型(LLM) + 上下文检索增强

原创 烛之文 自然语言处理算法与实践 2023-08-01 18:54

收录于合集

#大模型2个

#LLM2个

#大模型检索增强1个

1、背景

在大模型(ChatGpt、LLaMA等)应用落地中,利用【外挂】知识库进行上下文检索增强(In-Context Retrieval-Augmented )来进一步提升LLM效果,这一策略被越来越多的人认可。该策略带来的好处有:

(1)让大模型获取更多的知识,尤其最新的信息,而大模型是无法记住所有的知识;

(2)缓解大模型存在的幻觉问题(类似一本正经的胡说八道),提供外挂信息,可让大模型的输出更有据可循;例如在利用LLM做事件点评时,嵌入事件之间的因果逻辑,能让大模型输出的结果合理性更强;

(3)很多开源的大模型都是通用型的,结合领域的外挂知识库,能让这类大模型在领域问题表现的更好;这也是低成本应用大模型的一种策略;

在知道Retrieval-Augmented+LLM(RALM) 结合带来的好处后,就自然衍生出“怎样检索”、“检索后怎样结合输出”之类的问题。本次分享主要聚焦后者:介绍几种LLM如何利用检索到的内容来输出的方法;

(1)直接放在prompt:这是一种比较简单的操作方式,将检索到与query相关的内容直接放在prompt中,当成一个背景知识交给大模型直接来输出;该方式简洁但结合方式过于粗糙,难以达到精控调节的目的。

(2)KNN+LLM:在推理中,将两个next_token 分布进行融合解码,一个分布来自LLM自身输出,一个是来自检索的top-k token,具体为利用LLM embedding方式在外挂知识库中查找与query token相似的token;该方式存在一个缺陷是需要额外构建一个向量库

(3)自回归方式检索+解码:思路为先利用LLM解码出部分tokens,然后检索与该tokens相似的文本(文档),然后拼接在prompt中,进行next-tokens预测,这样自回归式的完成解码。该策略对比前两种,好处是能实现更细粒度的检索与融合,且不需要构建向量,或者涉及参数训练等额外工作;

本次分享一篇关于上述第三种策略的paper:<In-Context Retrieval-Augmented Language Models >,提出一种In-Context RALM方法,其整体思路如下图:

图片

图中Prefix可视为LLM解码出来的token片段,Retrieved Evidence是利用token片段检索出来的文本,将其拼在一起,形成新的prompt,然后解码下Suffix token片段,其中绿色标记代表从检索的文本中获取的信息。

2、In-Context RALM

当前LLM基本都是采用自回归的解码方式,其输出的序列

图片

可以表示为:

图片

在检索式增强语言模型(Retrieval augmented language models )中,在预测第

图片

token时,可以利用

图片

token片段从外挂知识库C中检索出相关文本:

图片

,这样token 

图片

输出依赖两部分信息:

图片

,两者信息的融合文中采用简单的拼接方式,即表示为:

图片

上述公式显示的方式是逐个token来检索+解码,而现在LLM输出的序列都比较长,这种方式无疑加大了推理时间,为了缓解该问题,可有下面两种方式来提高解码速度。

(1)Retrieval Stride:思路不逐个token来检索+解码,而是采用类似滑动窗口的方式多个tokens再去检索,这样上述解码方式就变如下:

图片

其中s为设置的片段长度,如s=5表示每5个tokens进行检索一次,同时生成后续5个tokens;

图片

表示片段的个数,也可视为检索的次数,这样对比原始的方式,将检索复杂度从n降低到

图片

在上述Retrieval Stride策略中,检索的序列

图片

变成

图片

,l为控制检索序列的长度�为控制检索序列的长度 ,如此,解码方式如下:

图片

3、实验

文中在5个数据集上验证自己提出的in-context RALM方法,首先通过实验确定片长s和检索长度l的合理值,,结果如下:

图片

显示s=4,l=32时兼顾了检索效率和效果。

下图显示在OPT系列模型下,利用文中提出检索增强的方式(检索采用BM25的方式),在各个mode size下都能带来增益,在66B大模型,能带来平均1个点的增益,而模型越小,带来的增益越明显,这也跟我们的常识吻合。

不过文中采用BM25这种传统检索方法,应该还有进一步优化的空间,这样检索增强带来的效果更好。此外,文中也没对比提到的KNN+LMM等方法

图片

显示在不同大模型下,文中提出检索增强方式不论在token级别还是word级别都能带来增益


4、结语

本次分享了一种检索增强+大模型的融合解码策略,该方法简单有效;当然也存在缺陷,就是提高了推理成本;另外检索只用了生成序列的信息,并没有利用上原始query的信息,二者融合,可能也是一个提升思路。

猜你喜欢

转载自blog.csdn.net/sinat_37574187/article/details/132294985
今日推荐