大语言模型(LLM)在面对许多应用时需要能够处理长序列输入,检索增强是处理长上下文语言建模的一种非常有效的方法。然而,现有的检索方法通常与分块的上下文一起工作,这容易导致语义表示质量低下和有用信息检索不完整。今年2月发表的《BGE Landmark Embedding: A Chunking-Free Embedding Method For Retrieval Augmented Long-Context Large Language Models》这篇论文,阐述了一种利用长上下文解决信息不完整检索的方法,通过引入Chunking-Free的检索方法,能够更好地保证上下文的连贯性,并通过在训练时引入位置感知函数来更好感知连续信息段中最后一个句子,保证嵌入依然具备与Sentence Embedding相近的细节,大幅提升了长上下文检索增强的性能。
BGE Landmark Embedding这篇论文要解决的技术问题,更具体的说,在RAG技术中,分块是个麻烦的问题,通常通过经验或启发式方法来解决。但是无论如何,分块打破上下文的连贯性,对嵌入不利,另一方面,连续的信息可能划分到不同的块中,显著的块可以很容易地被检索到,其他有用但不那么显著的块可能被忽视,等等问题。那分块有问题,但是文本太长时又不能不分块,采用滑动窗口就成为一个自然的选择。
BGE Landmark embedding有三个创新点:Chunking-Free的架构,位置感知的目标函数,多阶段训练算法。这三者环环相扣,下面依次分析。
Chunking-Free架构
首先看论文中的图2,针对一个滑窗,生成滑窗的LE(landmark embedding)和查询的嵌入(query embedding),通过两者的内积计算相似度,决定查询的检索输出。